@font-face{font-family:Silkscreen;src:url(/link-room/fonts/Silkscreen-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{font-family:Verdana,Tahoma,system-ui,sans-serif;color:#263e38;background:#39877b;font-synthesis:none;--ink:#263e38;--muted:#52685b;--line:#a4b598;--accent:#237650;--surface:#fff9df;--frame:#284b46;--pixel:Silkscreen,monospace}*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(0deg,#ffffff04 0 2px,transparent 2px 4px),linear-gradient(135deg,#2c756e,#5f9a76);min-height:100vh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{position:relative;cursor:pointer;border:2px solid var(--frame);border-radius:0;background:#f8f1cf;color:var(--ink);padding:11px 16px;min-height:44px;box-shadow:inset 2px 2px #fffef0,inset -2px -2px #b4bea0,2px 2px #284b4633;transition:background .1s}button:hover{background:#e3edbf}button:active{background:#c9dfad;box-shadow:inset 2px 2px #8da587,inset -2px -2px #f7f8d9}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a5422c;outline-offset:3px}a{color:inherit;text-decoration:none}main{max-width:1440px;margin:0 auto;padding:24px 40px 0}header{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:#1e665b;color:#fff9df;border:3px solid var(--frame);box-shadow:inset 0 0 0 3px #91bea0,4px 4px #254c473d}.brand{display:flex;align-items:center;gap:12px;font:400 21px/1.4 var(--pixel);text-shadow:2px 2px #153f38}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:#f1d480;color:#254b3d;border:2px solid #254b3d;box-shadow:inset 2px 2px #fff0a8,inset -2px -2px #b59c53;font:30px monospace;text-shadow:none}.byline{font:11px Verdana,sans-serif;color:#d0e6ce;margin-left:8px;text-shadow:none}.prototype,.eyebrow{font:400 10px/1.6 var(--pixel);letter-spacing:.04em}.prototype{background:#f8e5aa;color:#294d39;border:2px solid #1c4e43;padding:8px 10px;text-align:center}.eyebrow{color:#3d644d}.setup{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:start;padding:40px 0}.intro{padding:32px 24px;background:#c2d8a6;border:3px solid var(--frame);box-shadow:inset 0 0 0 4px #e7edc7,5px 5px #254c4755;position:sticky;top:24px}.intro:before{content:"◆";display:block;color:#237650;font-size:32px;line-height:1;margin-bottom:24px;text-shadow:3px 3px #8ca97b}.intro h1{font:400 clamp(25px,3vw,42px)/1.45 var(--pixel);letter-spacing:-1px;margin:24px 0;color:#244d3c;text-shadow:2px 2px #f1f3d1}.intro em{font-style:normal;color:#1d6a55}.intro p{font-size:16px;line-height:1.8;max-width:440px;color:#334f3d}.steps{display:grid;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid #8ba580;font:11px/1.7 var(--pixel)}.steps span:before{content:"▶";margin-right:10px;color:#b16a38}.setup-panel,.tracking,.trainer-names{background:var(--surface);border:3px solid var(--frame);box-shadow:inset 0 0 0 3px #8bb6a1,inset 0 0 0 6px #fffde9,4px 4px #214b434a;padding:28px}.setup-panel>h2{margin-top:12px}h2{font:400 20px/1.5 var(--pixel);letter-spacing:-.5px}h3{font:400 15px/1.6 var(--pixel)}.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;border:2px dashed #6b8f77;background:#e7edcc;padding:24px 16px;margin:24px 0;color:#4c6650;font-size:12px;cursor:pointer;text-align:center}.drop-zone strong{color:#244d3c;font-size:14px;max-width:100%;overflow-wrap:anywhere}.drop-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.drop-zone:focus-within{outline:3px solid #a5422c;outline-offset:3px}.file-symbol{font:32px var(--pixel);color:#247359}fieldset{border:0;margin:0;padding:0}legend,.seed-label{font-size:13px;color:var(--ink);margin-bottom:12px;font-weight:600}.choices{display:flex;gap:8px}.choices button{flex:1;text-transform:capitalize;padding:10px 6px;font-size:13px}.choices button[aria-pressed=true],.settings-categories button[aria-pressed=true],.boss-progress button[aria-pressed=true]{background:#c8dfaa;border-color:#30694d;box-shadow:inset 0 0 0 2px #ebf5cc}.choices button[aria-pressed=true]:before{content:"▶";font-size:9px;margin-right:5px}.hint{font-size:12px;min-height:36px;color:var(--muted);line-height:1.7}.seed-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.seed-label input{width:60%}input:not([type=checkbox]),select{background:#fffef0;border:2px solid #708d75;color:#263e38;border-radius:0;padding:11px 12px;min-width:0;box-shadow:inset 2px 2px #d9dec1}input::placeholder{color:#687a64}input[type=checkbox]{accent-color:#287456;width:18px;height:18px;vertical-align:middle}.primary{width:100%;background:#287457;color:#fffde9;font:400 13px/1.5 var(--pixel);border-color:#204b3b;box-shadow:inset 2px 2px #79ae83,inset -2px -2px #164c3c;min-height:54px}.primary:hover{background:#358367}.resume-run{margin-top:16px;display:flex;justify-content:space-between;width:100%;font-size:13px;background:#ede8c9}.room-heading{display:flex;justify-content:space-between;align-items:center;padding:28px 0;gap:20px;color:#fffde2}.room-heading .eyebrow{color:#dbebc7}.room-heading h1{font:400 clamp(23px,3vw,34px)/1.5 var(--pixel);letter-spacing:-1px;margin:10px 0 0;text-shadow:2px 2px #315c4c}.room-heading p{font-size:13px;line-height:1.6}.screens{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.screen{border:4px solid var(--frame);box-shadow:3px 3px #183d384d;overflow:hidden;background:#162d25;min-width:0}.screen-heading,.screen-footer{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5efce;font-size:11px;color:#52634a;border-bottom:3px solid #7ca18b}.screen-heading strong{font:400 12px/1.5 var(--pixel);color:#263e38}.player-dot{display:inline-block;width:8px;height:8px;background:#3a9361;margin-right:8px;box-shadow:1px 1px #1b4b34}.screen iframe,.screen video{display:block;width:100%;aspect-ratio:3/2;border:0;image-rendering:pixelated}.screen-footer{font-size:10px;border-bottom:0;border-top:3px solid #7ca18b}.screens.single-screen,.screens.vertical-layout{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}.screen[hidden]{display:none}.screen.screen-concealed{position:absolute;left:-10000px;top:0;width:600px;pointer-events:none}.tracking{margin:32px 0}.tracking-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #9bac88;gap:20px}.tabs{display:flex;gap:12px;flex-wrap:wrap}.tabs button{border:0;box-shadow:none;background:transparent;text-transform:capitalize;padding:14px 8px;font:400 11px/1.7 var(--pixel);color:#5c6d55;border-bottom:4px solid transparent}.tabs button[aria-selected=true]{border-bottom-color:#2c7a54;color:#204c38;background:#e1e9bc}.tabs button[aria-selected=true]:before{content:"▶";margin-right:6px}.toggle,.spoiler{font-size:12px;color:var(--muted);line-height:1.6}.tracking-summary{margin:24px 0}.tracking-summary h2{margin:0 0 8px}.tracking-summary p{color:var(--muted);font-size:13px;line-height:1.7}.catch-form{display:grid;grid-template-columns:140px 1fr 1fr auto;gap:12px;margin-bottom:24px}.encounter-row,.boss-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:2px solid #ccd1ac}.encounter-row>div{flex:1}.encounter-row small{display:block;color:var(--muted);margin-top:5px}.mon-initial{width:40px;height:40px;display:grid;place-items:center;background:#d7e5b8;color:#2b6647;border:2px solid #8eaa7c}.status{font-size:12px;color:#2c7150}.status.dead,.danger{color:#9e3d2e}.encounter-row button{font-size:12px;padding:8px 12px}.empty{padding:24px 0;color:var(--muted);line-height:1.8;font-size:14px}.spoiler{display:block;margin:24px 0}.world-list details{border-bottom:2px solid #c6ceaa;padding:16px 0}.world-list summary{cursor:pointer;font-size:14px;line-height:1.5}.world-list p{color:var(--muted);font-size:13px;line-height:1.8}.boss-row>span{flex:1;color:var(--muted);font-size:13px}.boss-row label{font-size:12px}.cap{color:#286646;font-weight:700}.error{border:3px solid #884735;background:#fff0ce;box-shadow:inset 0 0 0 3px #e3b68d;padding:20px;margin:24px 0;color:#6d3829}.error p{overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:#ecf3d5;font-size:11px;line-height:1.7}footer a{text-decoration:underline;text-underline-offset:3px}.advanced-settings{margin:24px 0;border-top:2px solid #abb992;padding-top:20px}.advanced-settings summary{cursor:pointer;font-weight:600;list-style-position:inside;line-height:1.6}.advanced-settings summary span{font-size:11px;color:var(--muted);margin-left:8px}.settings-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.settings-tools input{flex:1;width:100%}.settings-tools button,.import-settings{font-size:12px}.import-settings{position:relative;border:2px solid var(--frame);background:#f8f1cf;box-shadow:inset 2px 2px #fffef0,inset -2px -2px #b4bea0;padding:12px;overflow:hidden;cursor:pointer;min-height:44px}.import-settings input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.import-settings:focus-within{outline:3px solid #a5422c;outline-offset:3px}.settings-categories{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.settings-categories button{font-size:11px;padding:8px 10px;min-height:44px}.settings-fields{max-height:420px;overflow:auto;padding:0 10px 0 0;scrollbar-color:#74986f #e4e8c7;scrollbar-width:thin}.settings-fields>label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #c3cbaa;font-size:13px;line-height:1.5}.settings-fields select{max-width:54%;font-size:12px}.settings-fields input[type=number]{width:85px}.settings-fields label>span{display:flex;flex-direction:column;gap:6px}.settings-fields small{font-size:11px;line-height:1.6;color:var(--muted);max-width:240px}.settings-extras{margin:20px 0}.settings-extras label{font-size:13px;display:flex;gap:12px;align-items:center;justify-content:space-between;line-height:1.5}.settings-extras input{width:50%}.settings-extras fieldset{padding:16px 0;border-bottom:1px solid var(--line)}.settings-extras fieldset label{justify-content:flex-start;min-height:44px}.settings-extras input[type=checkbox]{width:18px;flex:none}.game-view-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.game-view-controls span{font-size:12px;color:#edf3d5}.game-view-controls button{font-size:12px}.room-invite{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px;background:#dce7bd;border:3px solid var(--frame);box-shadow:inset 0 0 0 3px #f9f9dc;margin:24px 0}.room-invite>div{flex:1;min-width:220px}.room-invite strong{font:400 13px/1.6 var(--pixel)}.room-invite p,.room-invite small{color:var(--muted);font-size:12px;line-height:1.6}.room-invite input{max-width:100%;flex:1;font-size:12px}.touch-controls{display:flex;gap:8px;flex-wrap:wrap;padding:24px 0}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;min-width:48px;font:400 13px var(--pixel)}.tracking>form{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.tracking>form input{flex:1}.boss-progress{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.boss-progress button{font-size:12px}.setup-panel[aria-busy=true] .primary{background:#4e7752}.trainer-names{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:20px 0;padding:24px}.trainer-names>div{flex:1}.trainer-names strong{font:400 13px/1.6 var(--pixel)}.trainer-names p{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.6}.trainer-names form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;width:100%}.trainer-names label{display:grid;gap:8px;flex:1;min-width:180px;font-size:13px}.trainer-names input{width:100%}@media(max-width:1100px){main{padding:20px 24px 0}.setup{gap:24px}.intro{padding:24px 20px}.intro h1{font-size:30px}.catch-form{grid-template-columns:1fr 1fr}.byline{display:none}.setup-panel{padding:24px}.brand{font-size:18px}}@media(max-width:760px){main{padding:12px 12px 0}header{padding:14px 12px;min-height:76px}.brand{font-size:14px;gap:8px}.brand-mark{width:32px;height:32px;font-size:25px}.prototype{font-size:8px;max-width:120px;padding:6px}.setup{grid-template-columns:1fr;gap:24px;padding:24px 0}.intro{position:static}.intro:before{display:none}.intro h1{font-size:30px}.intro p{font-size:14px}.steps{margin-top:24px;gap:12px;font-size:10px}.setup-panel,.tracking{padding:20px}.screens{grid-template-columns:1fr}.room-heading{align-items:flex-start;flex-direction:column}.room-heading h1{font-size:25px}.catch-form{grid-template-columns:1fr}.encounter-row,.boss-row{flex-wrap:wrap}.tracking-top{gap:12px;align-items:flex-start;flex-direction:column;padding-bottom:12px}.tabs{gap:8px}.tabs button{font-size:10px;padding:12px 6px}footer{flex-direction:column;gap:12px}.screen-heading{flex-wrap:wrap}.settings-fields select{max-width:52%}.room-invite{padding:16px}.trainer-names{padding:20px}.trainer-names label{min-width:140px}h2{font-size:17px}.game-view-controls{gap:8px}.game-view-controls button{font-size:11px;padding:10px}.settings-tools button{flex:1}.seed-label{gap:10px}.screen-footer{line-height:1.5}}@media(max-width:380px){.brand{font-size:12px}.prototype{max-width:95px;font-size:7px}.intro h1{font-size:25px}.setup-panel,.tracking{padding:16px}.settings-fields>label{align-items:flex-start;flex-wrap:wrap}.settings-fields select{max-width:100%;width:100%}.choices{flex-wrap:wrap}.choices button{min-width:80px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--muted:#304735;--line:#60775a}button,input:not([type=checkbox]),select{border-color:#19382c}.settings-fields small{color:#304735}}@media(forced-colors:active){button,.setup-panel,.tracking,.intro,.room-invite,.trainer-names,header,.screen{border-color:CanvasText;box-shadow:none}button[aria-pressed=true],.tabs button[aria-selected=true]{outline:2px solid Highlight}.brand,.intro h1,.room-heading h1{text-shadow:none}}.tracking>.catch-form{display:grid}.tracking>form:not(.catch-form) input{min-width:180px}@media(max-width:760px){.tracking>form:not(.catch-form){display:grid;grid-template-columns:minmax(0,1fr)}.tracking>form:not(.catch-form) input{width:100%;min-width:0}}.soul-pairs{display:grid;gap:24px}.soul-pair{padding:16px 0;border-bottom:1px solid var(--line,#d9dfd7)}.soul-pair-route{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:.75rem;color:var(--muted,#647266)}.soul-pair-route>span:first-child{font-weight:700;color:var(--ink,#183c2f)}.soul-pair-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:start}.soul-partner{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px}.soul-partner:nth-child(2){grid-column:3}.soul-sprite{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.soul-partner-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.soul-partner-info small{font-size:.6rem;letter-spacing:.08em}.soul-partner-info strong{font-size:.95rem}.soul-partner-info>span{font-size:.75rem}.soul-status{font-weight:600}.soul-status-dead,.soul-status-missed{color:#873f37}.soul-cable{position:absolute;left:calc(50% - 32px);top:22px;display:flex;align-items:center;width:64px;color:#3c8063}.soul-cable span{height:4px;flex:1;background:currentColor;border-top:1px solid #b3cfbd;border-bottom:1px solid #285b45}.soul-cable b{font-size:18px;line-height:24px;padding:0 4px}.soul-cable-broken{color:#8b6661}.soul-cable-broken span{max-width:13px}.soul-cable-broken{justify-content:space-between}.soul-cable-pending span{height:0;border:0;border-top:2px dashed currentColor;background:none}.soul-pair-broken .soul-sprite{filter:grayscale(1);opacity:.65}.soul-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.soul-actions:empty{display:none}.soul-actions button{min-height:44px;font-size:.75rem;padding:8px 12px}.soul-sprite-missing,.soul-awaiting{display:grid;place-items:center;color:#718175;font-size:24px;border:1px dashed #9aa99d;border-radius:12px}.soul-awaiting{border-color:#bac6bb}.soul-actions button:active{background:#dfe9df}.soul-actions button:focus-visible{outline:2px solid #286b4f;outline-offset:3px}@media(max-width:520px){.soul-pair-line{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}.soul-partner{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:8px}.soul-partner-info{width:100%}.soul-cable{width:36px;left:calc(50% - 18px)}.soul-actions{justify-content:center}.soul-pair-route{font-size:.7rem}.soul-actions button{width:100%}.soul-cable b{padding:0 2px}}@media(forced-colors:active){.soul-cable span{border-color:CanvasText}.soul-cable,.soul-status{color:CanvasText}}.soul-pair{border-bottom:2px solid #b5c39a;padding:16px 0 20px}.soul-pair-route{font:400 9px/1.7 var(--pixel,monospace);color:#596b4e}.soul-pair-route>span:first-child{font-weight:400;color:#2c5b40}.soul-partner{background:#e4ebc6;border:2px solid #86a385;padding:8px;box-shadow:inset 2px 2px #fffbe1,inset -2px -2px #c3d4a6;position:relative}.soul-partner:after{content:"";position:absolute;bottom:0;left:8px;right:8px;height:4px;background:#54a66d;border-top:1px solid #2d7350}.soul-partner-info small{font-family:var(--pixel,monospace);font-size:8px;letter-spacing:0;line-height:1.6;color:#52664a}.soul-partner-info strong{font-size:13px}.soul-status{font-size:11px!important}.soul-cable{top:32px;color:#4a7066}.soul-cable span{height:8px;border-top:2px solid #9cbbb0;border-bottom:2px solid #284b46}.soul-cable b{background:#f5edce;border:2px solid #59796c;font:14px monospace;line-height:18px}.soul-cable-pending span{height:0;border-top:2px dashed #68816a;border-bottom:0}.soul-cable-broken{color:#8c6251}.soul-pair-broken .soul-partner{background:#e5e2cc;border-color:#a49b83}.soul-pair-broken .soul-partner:after{background:#ad7562;border-color:#81513e}.soul-pair-broken .soul-sprite{opacity:.7}.soul-sprite-missing,.soul-awaiting{border-radius:0;border:2px dashed #9dad83;background:#eff0d4}.soul-actions button{border-radius:0;font-size:10px;padding:8px;box-shadow:inset 1px 1px #fffde8,inset -1px -1px #bbc5a1}.soul-actions{padding-bottom:4px}@media(max-width:520px){.soul-partner{padding:8px 4px}.soul-partner-info strong{font-size:12px}.soul-pair-route{font-size:8px}.soul-partner-info small{font-size:7px}.soul-cable{top:36px}.soul-cable b{font-size:12px;padding:0 2px}.soul-actions button{font-size:10px;line-height:1.5}}@media(forced-colors:active){.soul-partner{border-color:CanvasText;box-shadow:none}.soul-partner:after{background:CanvasText}.soul-cable b{border-color:CanvasText}}
