:root{--stage:#0b1220;--stage-2:#101a2c;--stage-3:#15213a;--ink:#dce6f0;--dim:#7c8ba0;--accent:#f2b25c;--accent-soft:#e9c98f;--line:#22304a;--line-soft:#1a2540;--danger:#d98a6a;--serif:"Instrument Serif", "Songti SC", "Noto Serif SC", Georgia, serif;--sans:"IBM Plex Sans", "PingFang SC", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}html,body{background:var(--stage);color:var(--ink);font-family:var(--sans);min-height:100%;margin:0}::selection{background:var(--accent);color:var(--stage)}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:#7c8ba073 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}:hover::-webkit-scrollbar-thumb{background:#7c8ba073}:hover::-webkit-scrollbar-thumb:hover{background:#f2b25cbf}.dim{color:var(--dim)}.dark-note{color:#22303f;font-size:.78em}kbd{font-family:var(--mono);border:1px solid var(--line);color:var(--dim);border-bottom-width:2px;border-radius:3px;flex:none;margin-right:.35rem;padding:.05rem .32rem;font-size:.68rem}.btn{font-family:var(--mono);color:var(--ink);background:var(--stage-2);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:.55rem .9rem;font-size:.85rem;transition:border-color .13s,background .13s,transform 80ms,opacity .13s}.btn:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--accent);background:var(--stage-3);transform:translateY(-1px)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed}.btn[aria-disabled=true]:not(:disabled){cursor:pointer}.btn-primary{background:linear-gradient(180deg, #f7c87e, var(--accent));border-color:var(--accent);color:#1b1408;padding:.75rem 1.8rem;font-size:.95rem;font-weight:600;box-shadow:0 6px 30px #f2b25c40}.btn-primary:hover:not(:disabled){background:linear-gradient(#ffd9a0,#f7c87e);border-color:#ffd9a0}.btn.ghost{color:var(--dim);border-color:#0000;padding:.35rem .5rem;font-size:.75rem}.btn.ghost:hover:not(:disabled){color:var(--ink);border-color:var(--line)}.cd-btn{position:relative;overflow:hidden}.cd-btn:before{content:"";width:var(--cd,0%);pointer-events:none;background:#f2b25c21;transition:width 1s linear;position:absolute;inset:0}.cd-badge{font-family:var(--mono);color:var(--dim);opacity:0;font-size:.6rem;transition:opacity .15s;position:absolute;top:3px;right:5px}.cd-badge[data-on=true]{opacity:1;color:var(--accent)}.cd-btn.doing{pointer-events:none;opacity:1;color:var(--dim)}.cd-btn.doing:before{width:0;animation:cdFill var(--ms,.9s) linear forwards}.btn-primary.cd-btn.doing:before{background:#1b140838}@keyframes cdFill{0%{width:0}to{width:100%}}.flow{box-sizing:border-box;max-width:40rem;height:100dvh;padding:1.1rem 1rem calc(1.1rem + env(safe-area-inset-bottom));flex-direction:column;gap:.85rem;margin:0 auto;transition:filter 1.4s;display:flex}.flow>:not(.prose):not(.flow-stage),.flow-stage>:not(.prose){flex-shrink:0}.flow-stage{flex-direction:column;flex:auto;gap:.85rem;min-width:0;min-height:0;display:flex}.stage-actions{flex-direction:column;gap:.85rem;display:flex}.goal-line{font-family:var(--serif);color:var(--dim);border-left:2px solid var(--line-soft);margin:-.1rem 0 0;padding-left:.75rem;font-size:.92rem;line-height:1.6}.flow[data-phase=night]{filter:brightness(.88)saturate(.94)}.flow-head{font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.flow-title{font-family:var(--serif);letter-spacing:.1em;color:var(--ink);align-items:center;gap:.5rem;font-size:1.05rem;display:inline-flex}a.flow-title{text-decoration:none}a.flow-title:hover{color:var(--accent)}.flow-title .dim{font-family:var(--mono);letter-spacing:.16em;font-size:.68rem}.flow-right{letter-spacing:.2em;color:var(--dim);white-space:nowrap;align-items:baseline;gap:.7rem;font-size:.72rem;display:inline-flex}.flow-right .flow-place{color:var(--accent)}.scene-box{overflow:hidden}.scene{width:100%;height:auto;max-height:240px;display:block}.room-tone{font-family:var(--serif);color:var(--dim);margin:-.35rem 0 0;font-size:.9rem;font-style:italic;line-height:1.6}.vignette{border:1px solid var(--line-soft);border-radius:6px;overflow:hidden;box-shadow:0 18px 60px #00000073}.vignette svg{width:100%;height:auto;display:block}.prose{overscroll-behavior:contain;flex-direction:column;flex-shrink:1;gap:.6rem;min-height:5.8rem;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 2.2rem 100%);mask-image:linear-gradient(#0000 0,#000 2.2rem 100%)}.prose .line{font-family:var(--serif);color:#aebccd;margin:0;font-size:1.04rem;line-height:1.85}.prose .line.story{color:var(--ink);font-size:1.14rem}.prose .line.story:first-letter{font-size:1.35em}.prose .line.beat{color:#8fa0b6;font-size:.98rem;font-style:italic}.prose .line.fresh{animation:.7s both replyIn}@keyframes replyIn{0%{opacity:0;transform:translateY(7px)}60%{opacity:1}to{opacity:1;transform:none}}.rv{animation:.38s both rvIn}@keyframes rvIn{0%{opacity:0}to{opacity:1}}.prose[data-rev=true]{-webkit-mask-image:linear-gradient(0deg,#0000 0,#000 2.2rem 100%);mask-image:linear-gradient(0deg,#0000 0,#000 2.2rem 100%)}.prose[data-rev=true] .line.fresh{animation-name:replyInTop}@keyframes replyInTop{0%{opacity:0;transform:translateY(-7px)}60%{opacity:1}to{opacity:1;transform:none}}.ledger{border-top:1px solid var(--line-soft);padding-top:.55rem}.ledger summary{cursor:pointer;font-family:var(--mono);color:var(--dim);flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;font-size:.74rem;list-style:none;display:flex}.ledger summary::-webkit-details-marker{display:none}.ledger summary:after{content:"⋯";color:var(--dim);margin-left:auto}.ledger[open] summary:after{content:"×"}.ledger summary .g b{color:var(--accent);margin-left:.3rem;font-weight:400}.ledger summary .who{color:var(--ink);opacity:.85}.ledger summary .who[data-hungry=true]{color:var(--danger)}.ledger-body{flex-direction:column;gap:.7rem;margin-top:.7rem;display:flex}.records-body{flex-direction:column;gap:.4rem;margin:.55rem 0 0;padding:0 .1rem;list-style:none;display:flex}.record{font-size:.82rem;line-height:1.45}.record.inked b{color:var(--accent);font-weight:400}.record.ruled{font-family:var(--mono);letter-spacing:.22em;font-size:.72rem}.dusk-card{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--stage-2);border-radius:6px;flex-direction:column;gap:.5rem;padding:.85rem .95rem;display:flex}.dusk-card .modal-ledger{margin:.2rem 0 .35rem}.dusk-card .dusk-omen{margin:0}.modal-journal{max-width:33rem}.modal-journal .gk-body{scroll-behavior:smooth}.journal-nav{z-index:5;background:var(--stage-2);border-bottom:1px solid var(--line-soft);justify-content:center;align-items:center;gap:.1rem;margin-bottom:.8rem;padding:.15rem 0 .4rem;display:flex;position:sticky;top:0}.jn-turn{cursor:pointer;font-family:var(--mono);color:var(--dim);background:0 0;border:none;min-height:2rem;padding:.45rem .55rem;font-size:1.05rem;line-height:1;transition:color .13s}.jn-turn:hover:not(:disabled){color:var(--ink)}.jn-turn:disabled{opacity:.22;cursor:not-allowed}.journal-lintel{cursor:pointer;font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);opacity:.85;background:0 0;border:none;min-height:2rem;padding:.5rem;font-size:.66rem;transition:opacity .13s}.journal-lintel:hover,.journal-lintel[aria-expanded=true]{opacity:1}.journal-toc{background:var(--stage-2);border:1px solid var(--line);z-index:30;border-radius:6px;min-width:9.5rem;max-height:min(17rem,46dvh);padding:.3rem;position:absolute;top:calc(100% + 4px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 14px 40px #00000080}.journal-toc button{text-align:center;cursor:pointer;width:100%;font-family:var(--mono);letter-spacing:.14em;color:var(--dim);background:0 0;border:none;padding:.42rem .8rem;font-size:.72rem;transition:color .13s;display:block}.journal-toc button:hover:not(.here){color:var(--ink)}.journal-toc button.here{color:var(--accent);cursor:default}.journal-toc .toc-records{border-top:1px solid var(--line-soft);margin-top:.25rem;padding-top:.3rem}.journal-waiting{color:var(--dim)}.journal-records,.journal-front{margin-bottom:.9rem}.front-para{font-family:var(--serif);color:var(--ink);margin:0 0 .55rem;font-size:.95rem;line-height:1.85}.front-para:last-child{margin-bottom:0}.ritual{flex-direction:column;gap:.7rem;display:flex}.ritual .line{font-family:var(--serif);color:var(--ink);margin:0;font-size:1.08rem;line-height:1.9;animation:.8s both replyIn}.vigor{align-items:center;gap:5px;display:flex}.vigor i{border:1px solid var(--line);background:0 0;border-radius:50%;width:8px;height:8px;transition:background .3s,border-color .3s,box-shadow .3s}.vigor i[data-on=true]{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #f2b25c66}.encounter{border:1px solid var(--line-soft);border-left:3px solid var(--accent);background:var(--stage-2);border-radius:6px;flex-direction:column;gap:.4rem;padding:.7rem .8rem .6rem;display:flex}.encounter .enc-prose{font-family:var(--serif);color:var(--ink);margin:0;font-size:1.06rem;line-height:1.8}.encounter .enc-verbs{border-top:1px dashed var(--line-soft);margin-top:.2rem;padding-top:.3rem}.wx-note{font-family:var(--serif);color:var(--accent-soft);margin:-.3rem 0 0;font-size:.92rem;font-style:italic;line-height:1.6}.lang-pill{border:1px solid var(--line);background:var(--stage-2);font-family:var(--mono);border-radius:999px;align-items:center;gap:2px;padding:2px;font-size:11px;line-height:1;display:inline-flex}.lang-pill a,.lang-pill span{border-radius:999px;padding:4px 11px;text-decoration:none;transition:color .12s,background .12s}.lang-pill span[aria-current=true]{background:var(--ink);color:var(--stage);font-weight:600}.lang-pill a{color:var(--dim)}.lang-pill a:hover{color:var(--ink)}.brand{color:var(--ink);align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand-name{font-family:var(--serif);letter-spacing:.08em;align-items:baseline;gap:.3rem;font-size:1.05rem;display:inline-flex}.brand-zh{color:var(--dim);font-size:.85rem}.landing{background:var(--stage);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.landing-scene{height:100%;position:absolute;inset:0}.landing-bar{z-index:2;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:relative}.landing-bar-right{align-items:center;gap:.9rem;display:flex}.landing-inner{z-index:2;text-align:center;margin:auto;padding:3rem 1.25rem;position:relative}.landing-tag{font-family:var(--mono);letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem;font-size:.78rem}.landing-title{font-family:var(--serif);letter-spacing:.08em;text-shadow:0 2px 40px #0009;margin:0;font-size:clamp(3.4rem,11vw,6.5rem);font-weight:400;line-height:1}.landing-sub{font-family:var(--mono);color:var(--dim);letter-spacing:.14em;margin:1rem 0 0;font-size:.95rem}.landing-prose{font-family:var(--serif);max-width:33rem;color:var(--ink);opacity:.94;text-shadow:0 1px 18px #000000bf;margin:2.4rem auto;font-size:1.08rem;font-style:italic;line-height:2}.landing-actions{margin-top:.5rem}.landing-foot{z-index:2;font-family:var(--mono);letter-spacing:.12em;background:linear-gradient(#0000,#050910b3);justify-content:center;align-items:center;gap:.75rem;padding:1.1rem;font-size:.72rem;display:flex;position:relative}.row-label{font-family:var(--mono);color:var(--dim);flex:none;font-size:.7rem}.row-count{font-family:var(--mono);color:var(--accent);flex:none;font-size:.72rem}.oil-pips{flex-wrap:nowrap;flex:1;justify-content:space-between;min-width:0;margin:0 .6rem;display:flex}.pip{background:var(--line-soft);border-radius:1px;width:5px;height:10px;transition:background .3s,box-shadow .3s}.pip[data-on=true]{background:var(--accent);box-shadow:0 0 5px #f2b25c59}.lamp-mark{display:block}.wave-rule{margin:1.5rem auto;display:block}.wave-path{stroke:var(--line);stroke-width:1.5px;stroke-dasharray:60 8}.wave-lamp{fill:var(--accent);opacity:.9}.verbs .dim,.builds .btn .dim{margin-left:.5rem}.verb-label .sg{align-items:center;gap:2px;display:inline-flex}.verb-label .sg b{font-weight:400}.verb-label .glyph{width:11px;height:11px}.verb-label .sg-arrow{opacity:.75;margin:0 1px}.night-line{font-family:var(--serif);margin:.2rem .1rem;font-size:.98rem;font-style:italic;line-height:1.7}.res-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.wh-list{flex-direction:column;gap:.45rem;display:flex}.wh-item{font-family:var(--mono);align-items:center;gap:.5rem;font-size:.78rem;display:flex}.wh-item .glyph{width:14px;height:14px;color:var(--dim);flex:none}.wh-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.wh-count{color:var(--accent);margin-left:auto;font-weight:400}.res{border:1px solid var(--line-soft);background:var(--stage-2);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:.14rem;padding:.42rem .2rem .34rem;transition:border-color .15s;display:flex;position:relative}.res-top{align-items:center;gap:.35rem;display:inline-flex}.res-name{font-style:normal;font-family:var(--sans);color:var(--dim);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.58rem;line-height:1.1;overflow:hidden}.res:hover{border-color:var(--line)}.res .glyph{width:16px;height:16px;color:var(--dim);flex:none}.res b{font-family:var(--mono);font-size:.95rem;line-height:1}.crew-row{border-top:1px dashed var(--line-soft);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;padding-top:.6rem;display:flex}.crew-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:.62rem}.crew-chip{font-family:var(--mono);color:var(--ink);border:1px solid var(--line);cursor:default;border-radius:3px;padding:.2rem .5rem;font-size:.72rem;transition:border-color .15s,color .15s}.crew-chip[data-hungry=true]{border-color:var(--danger);color:var(--danger)}.verbs{flex-direction:column;gap:.45rem;display:flex}.verbs .btn{text-align:left;justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:44px;display:flex}.verbs .btn.verb{margin-left:0}.verbs .btn kbd{margin-right:.6rem}.verb-label{text-align:left;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;min-width:0;line-height:1.5;display:inline-flex}.verbs .btn.guided,.builds .btn.guided{border-color:var(--accent)}.hud-glyph.guided{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.builds{flex-direction:column;gap:.5rem;display:flex}.builds .btn.build{text-align:left;flex-direction:column;align-items:flex-start;gap:.12rem;width:100%;height:auto;min-height:38px;padding:.42rem .7rem;font-size:.82rem;display:flex}.builds .build-label{white-space:nowrap;align-items:center;display:inline-flex}.builds .build-note{font-family:var(--mono);white-space:normal;font-size:.66rem;line-height:1.5}.builds .done{color:var(--accent)}.brandfoot{border-top:1px solid var(--line-soft);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding-top:.7rem;display:flex}.brandfoot-left{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.brandfoot .hud-glyph{flex:none;width:28px;height:28px}.brandfoot-link{font-family:var(--mono);letter-spacing:.04em;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;min-width:0;font-size:.68rem;text-decoration:none;display:inline-flex;overflow:hidden}.brandfoot-link img{border-radius:3px;flex:none;display:block}.settings{flex-wrap:nowrap;flex:none;gap:.2rem;display:flex}.settings .btn.ghost{flex:none;padding:.28rem .4rem}.log{flex-direction:column;gap:.9rem;margin:0;padding:0 .3rem 0 0;list-style:none;display:flex}@keyframes logIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.log-day-block{scroll-margin-top:3.9rem;animation:.5s both logIn}.log-day-head{font-family:var(--mono);letter-spacing:.24em;color:var(--accent);opacity:.85;text-transform:uppercase;border-bottom:1px solid var(--line-soft);margin:0 0 .55rem;padding-bottom:.3rem;font-size:.66rem;font-weight:400}.log-day-block ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.log-text{font-family:var(--serif);font-size:1.06rem;line-height:1.8}.log-flavor .log-text{color:#a9b8cc}.log-story .log-text{color:var(--accent-soft)}.log-story .log-text:first-letter{font-size:1.3em}.log-beat .log-text{color:#8fa0b6;font-size:.95rem;font-style:italic}.modal-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#050910c7;justify-content:center;align-items:center;padding:1rem;animation:.4s both logIn;display:flex;position:fixed;inset:0}.storm-scrim{background:#09080ad9}.modal{background:var(--stage-2);border:1px solid var(--line);border-radius:6px;width:100%;max-width:27rem;padding:1.6rem 1.6rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 24px 80px #0009}.modal h2{font-family:var(--serif);letter-spacing:.08em;margin:0 0 .7rem;font-size:1.8rem;font-weight:400}.modal-storm{border-color:#d98a6a8c}.modal-storm h2{color:var(--danger)}.modal-line{font-family:var(--serif);margin:0 0 .5rem;font-size:1.1rem;line-height:1.85}.modal-note{font-family:var(--mono);margin:0 0 1.1rem;font-size:.72rem}.sys-side{justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.15rem;display:flex}.sys-side-label{font-family:var(--mono);letter-spacing:.14em;color:var(--dim);font-size:.72rem}.side-pill{border:1px solid var(--line);font-family:var(--mono);border-radius:999px;align-items:center;gap:2px;padding:2px;font-size:11px;line-height:1;display:inline-flex}.side-pill button{cursor:pointer;color:var(--dim);background:0 0;border:none;border-radius:999px;padding:4px 11px;transition:color .12s,background .12s}.side-pill button:hover{color:var(--ink)}.side-pill button[aria-current=true]{background:var(--ink);color:var(--stage);font-weight:600}.dusk-omen{font-family:var(--serif);margin:0 0 .35rem;font-size:1.02rem;line-height:1.7}.dusk-card .modal-actions .btn{flex:1}.modal-ledger{border:1px solid var(--line-soft);font-family:var(--mono);color:var(--dim);border-radius:5px;flex-direction:column;gap:.35rem;margin:.4rem 0 1.1rem;padding:.65rem .75rem;font-size:.72rem;display:flex}.modal-ledger .row{justify-content:space-between;gap:1rem;display:flex}.modal-ledger .row b{color:var(--accent);font-weight:400}.modal-ledger .row b.warn{color:#e03434}.modal-ledger .row b.rarity-name{color:var(--rar,var(--accent))}.modal-actions{flex-wrap:wrap;gap:.6rem;display:flex}.modal-rain{pointer-events:none;opacity:.5;position:absolute;inset:0}.modal-rain span{top:-20%;left:calc(var(--i) * 6.4%);width:1px;height:18%;animation:.8s linear infinite modalRain;animation-delay:calc(var(--i) * -.13s);background:linear-gradient(#0000,#8fa4c2);position:absolute}@keyframes modalRain{to{transform:translateY(140%)}}.gk-scrim{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.gk-modal{flex-direction:column;max-height:85dvh;display:flex}.gk-body{overscroll-behavior:contain;margin-bottom:1rem;overflow-y:auto}.gk-actions{flex-shrink:0}.gk-actions .btn{flex:1;min-height:44px}.gk-text{box-sizing:border-box;width:100%;min-height:5.5rem;font-family:var(--mono);color:var(--ink);background:var(--stage);border:1px solid var(--line);resize:vertical;word-break:break-all;border-radius:5px;padding:.6rem .65rem;font-size:16px;line-height:1.5}.gk-text:focus{border-color:var(--accent);outline:none}.gk-bad{font-family:var(--mono);color:var(--danger);margin:.45rem 0 0;font-size:.75rem}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--stage-3);border-color:var(--danger)}@media (width<=44rem){.flow{padding:.8rem .7rem calc(.8rem + env(safe-area-inset-bottom))}.flow-title{font-size:.95rem}.flow-title .dim{display:none}.flow-right{letter-spacing:.12em;font-size:.66rem}.prose .line{font-size:.99rem;line-height:1.78}.prose .line.story{font-size:1.06rem}.log-text{font-size:.98rem;line-height:1.7}.modal{padding:1.2rem 1.1rem 1.1rem}.modal h2{font-size:1.5rem}.bag-grid.bag-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bag-modal-grid .bag-cell .bag-name{font-size:.76rem}.bag-modal-grid .bag-cell .bag-law{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;max-width:100%;font-size:.58rem;line-height:1.35;display:-webkit-box}}.vigor-row{align-items:center;gap:.55rem;margin-top:-.5rem;display:flex}.hud-strip{font-family:var(--mono);color:var(--dim);letter-spacing:.08em;white-space:nowrap;border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding-bottom:.55rem;font-size:.66rem;display:flex}.hud-strip .k{color:#5c6b80;margin-right:.3rem;font-size:.62rem}.hud-strip b{color:var(--accent);font-weight:400}.hud-strip .seg{cursor:pointer;align-items:center;display:inline-flex}.hud-strip .vitals{align-items:center;gap:.7rem;display:inline-flex}.hud-strip .mini-bar{border:1px solid var(--line);border-radius:3px;width:46px;height:5px;position:relative;overflow:hidden}.hud-strip .mini-bar em{background:linear-gradient(90deg,#6d7d96,#9fb2cc);position:absolute;inset:0 auto 0 0}.hud-strip .mini-bar em[data-worn=true]{background:linear-gradient(90deg, #a66a4d, var(--danger))}.hud-roster{white-space:normal;letter-spacing:.04em;flex-wrap:wrap;align-items:baseline;gap:0 .4rem;display:inline-flex}.hud-roster .nm{font-family:var(--serif);color:var(--dim);cursor:pointer;font-size:.8rem}.hud-roster .nm:hover,.hud-roster .nm:active{color:var(--ink)}.hud-roster .nm[data-away=true]{opacity:.55}.hud-glyphs{align-items:center;gap:.1rem;display:inline-flex;position:relative}.hud-glyph{width:34px;height:34px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .13s,border-color .13s;display:inline-flex;position:relative}.hud-glyph:hover{color:var(--ink);border-color:var(--line)}.hud-glyph:after{content:"";position:absolute;inset:-6px}.hud-glyph svg{width:15px;height:15px}.hud-glyph .badge{font-family:var(--mono);color:var(--accent);font-size:.58rem;position:absolute;top:1px;right:2px}.hud-glyph[hidden]{display:none}.gain-note{z-index:35;background:var(--stage-2);border:1px solid var(--line);font-family:var(--mono);pointer-events:none;border-radius:6px;flex-direction:column;align-items:flex-end;gap:.18rem;padding:.45rem .65rem;font-size:.72rem;animation:.22s both gainNoteIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #00000080}.gain-note span{color:var(--rar,var(--ink));white-space:nowrap}.gain-note b{color:var(--dim);margin-left:.35rem;font-weight:400}@keyframes gainNoteIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.place-row{flex-wrap:wrap;gap:.1rem 1.1rem;margin-top:-.35rem;display:flex;position:relative}.place-row button{cursor:pointer;font-family:var(--mono);letter-spacing:.2em;color:var(--dim);background:0 0;border:none;padding:.25rem 0;font-size:.72rem;transition:color .13s}.place-row button:hover:not(:disabled):not(.here){color:var(--ink)}.place-row button.here{color:var(--accent);border-bottom:1px solid var(--accent);cursor:default}.place-row button:disabled{opacity:.4;cursor:not-allowed}.place-dd{background:var(--stage-2);border:1px solid var(--line);z-index:30;border-radius:6px;min-width:7.5rem;padding:.3rem;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 14px 40px #00000080}.place-dd button{text-align:left;letter-spacing:.14em;width:100%;padding:.4rem .6rem;display:block}.it{color:var(--rar,var(--ink));border-bottom:1px dotted color-mix(in oklab, currentColor 55%, transparent);cursor:pointer}.num{color:#5c6b80}.num b{font-weight:400}.craft-row .num b.short{color:#e03434}.verb-label b.verb-short{color:#e03434;font-weight:500}.inspect-tip{z-index:70;background:var(--stage-2);border:1px solid var(--line);pointer-events:none;border-radius:6px;flex-direction:column;gap:.3rem;width:16rem;padding:.55rem .7rem;display:flex;position:fixed;box-shadow:0 16px 50px #0009}.inspect-tip h4{font-family:var(--serif);margin:0;font-size:.98rem;font-weight:400}.inspect-tip p{color:var(--dim);margin:0;font-size:.66rem;line-height:1.7}.inspect-tip .cnt{font-family:var(--mono);color:var(--accent);font-size:.64rem}.workbench{flex-direction:column;gap:.7rem;display:flex}.bag-grid{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.45rem;display:grid}.bag-cell{border:1px solid var(--line-soft);background:var(--stage-2);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:5px;flex-direction:column;gap:.15rem;padding:.4rem .4rem .3rem;transition:border-color .15s,background .15s;display:flex;position:relative}.bag-cell[data-sel=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 10%, var(--stage-2))}.bag-cell[data-empty=true]{cursor:default;opacity:.38}.bag-cell .bag-name{font-size:.78rem;line-height:1.25}.bag-cell .bag-meta{font-family:var(--mono);color:var(--dim);justify-content:space-between;align-items:baseline;font-size:.62rem;display:flex}.bag-cell .bag-law{color:#5c6b80;text-overflow:ellipsis;white-space:nowrap;max-width:92%;margin-top:.14rem;font-size:.56rem;line-height:1.4;display:block;overflow:hidden}.bag-cell .bag-count{font-family:var(--mono);color:#5c6b80;font-size:.62rem;position:absolute;top:4px;right:7px}.bag-tools{justify-content:flex-end;margin-bottom:.45rem;display:flex}.bag-sort{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;color:var(--dim);background:0 0;border:none;padding:0;font-size:.66rem}.bag-sort:hover{color:var(--ink)}.craft-list{flex-direction:column;display:flex}.craft-row{border-bottom:1px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:.7rem;padding:.6rem .1rem;display:flex}.craft-list .craft-row:last-child{border-bottom:none}.craft-row .rmain{min-width:0}.craft-row .rname{font-family:var(--serif);font-size:.92rem}.craft-row .rname small{font-family:var(--mono);color:#5c6b80;margin-left:.4rem;font-size:.58rem}.craft-row .rflow{color:var(--dim);margin-top:.28rem;font-size:.68rem;line-height:1.7}.craft-row .rflow .sep{color:#46536b;margin:0 .15rem}.craft-row .btn.ract{white-space:nowrap;flex:none;min-height:40px;padding:.5rem .85rem;font-size:.74rem}.craft-row.owned{opacity:.55}.craft-row .owned-mark{font-family:var(--mono);letter-spacing:.18em;color:#5c6b80;flex:none;font-size:.62rem}.bag-note{color:var(--dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6rem;line-height:1.4;display:-webkit-box;overflow:hidden}.bag-modal-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));max-height:min(60vh,22rem);overflow-y:auto}.gk-modal.modal-bag{max-width:33rem}.gk-modal.modal-craft{max-width:30rem}.craft-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.craft-out{min-height:1.2em;color:var(--dim);font-size:.82rem}.job{border:1px solid var(--line-soft);background:var(--stage-2);border-radius:5px;flex-direction:column;gap:.35rem;padding:.55rem .65rem;display:flex}.jobbar{background:var(--line-soft);border-radius:3px;height:6px;position:relative;overflow:hidden}.jobbar-fill{background:var(--accent);opacity:.85;transition:width .4s;position:absolute;inset:0 auto 0 0}.job-meta{font-family:var(--mono);color:var(--dim);justify-content:space-between;font-size:.62rem;display:flex}.job-meta b.short{color:#e03434}.channels{flex-direction:column;gap:.3rem;display:flex}.channel-row{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:5px;align-items:baseline;gap:.55rem;padding:.35rem .55rem;display:flex}.channel-row[data-kept=true]{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, transparent)}.channel-row .ch-addr{font-family:var(--mono);color:var(--dim);min-width:3.2rem;font-size:.68rem}.channel-row .ch-name{font-size:.85rem}.channel-row[data-warm=true] .ch-addr{color:var(--accent)}.rarity-white{--rar:#e6e8ea}.rarity-green{--rar:#3fd06a}.rarity-blue{--rar:#4d9fff}.rarity-purple{--rar:#a335ee}.rarity-orange{--rar:#ff8000}.rarity-legendary{--rar:#e03434}.rarity-dot{background:var(--rar,var(--dim));border-radius:50%;flex:none;width:.42rem;height:.42rem;margin-right:.3rem;display:inline-block}.rarity-name{color:var(--rar,var(--dim))}.place-sheet{z-index:60;background:color-mix(in oklab, var(--stage) 88%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.place-sheet .ps-list{flex-direction:column;gap:.55rem;width:min(26rem,100%);display:flex}.place-sheet .ps-row{border:1px solid var(--line);background:var(--stage-2);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:6px;align-items:baseline;gap:.7rem;padding:.7rem .9rem;transition:border-color .15s,background .15s;display:flex}.place-sheet .ps-row:hover{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 7%, var(--stage-2))}.place-sheet .ps-row[data-here=true]{border-color:var(--accent);cursor:default}.place-sheet .ps-mark{font-family:var(--mono);color:var(--accent);min-width:2.6rem;font-size:.7rem}.place-sheet .ps-name{font-size:.95rem}.place-sheet .ps-tone{color:var(--dim);margin-top:.15rem;font-size:.78rem;display:block}.place-sheet .ps-close{margin-top:1.2rem}.gk-modal.modal-dev{width:min(40rem,100vw - 2rem);max-width:min(40rem,100vw - 2rem)}.dev-tabs{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:.25rem .3rem;margin-bottom:.9rem;padding-bottom:.15rem;display:flex}.dev-tabs .dev-tab{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;color:var(--dim);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px;padding:.4rem .65rem;font-size:.72rem;transition:color .12s,background .12s}.dev-tabs .dev-tab:hover{color:var(--ink);background:color-mix(in oklab, var(--ink) 6%, transparent)}.dev-tabs .dev-tab.here{color:var(--accent);border-bottom-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, transparent)}.dev-pane{flex-direction:column;gap:.6rem;display:flex}.dev-scene{margin-bottom:.2rem}.dev-scene .scene{height:auto;max-height:none}.dev-head{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:.2rem;font-size:.62rem}.dev-tune-group .dev-tune-group{border-left:1px solid color-mix(in oklab, var(--ink) 14%, transparent);margin-left:.75rem;padding-left:.5rem}.dev-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.45rem .7rem;display:grid}.dev-field{font-family:var(--mono);color:var(--dim);flex-direction:column;gap:.2rem;font-size:.64rem;display:flex}.dev-field input{font-family:var(--mono);color:var(--ink);background:var(--stage);border:1px solid var(--line);box-sizing:border-box;border-radius:4px;width:100%;padding:.3rem .4rem;font-size:16px}.dev-field input:focus{border-color:var(--accent);outline:none}.dev-flags{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.3rem .8rem;display:grid}.dev-flag{font-family:var(--mono);color:var(--dim);cursor:pointer;align-items:center;gap:.45rem;font-size:.68rem;display:flex}.dev-flag input{accent-color:var(--accent);min-width:16px;min-height:16px}.dev-raw{min-height:4rem}.dev-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dev-volhead{border-bottom:1px solid var(--line-soft);font-family:var(--mono);letter-spacing:.14em;color:var(--accent);align-items:baseline;gap:.55rem;margin:.75rem 0 .15rem;padding:.25rem .15rem;font-size:.68rem;display:flex}.dev-volhead:first-child{margin-top:0}.dev-volhead .dev-volcount{color:var(--dim);letter-spacing:.05em}.dev-list .dev-row{border-bottom:1px dashed var(--line-soft);border-radius:4px;align-items:center;gap:.7rem;padding:.42rem .35rem;transition:background .12s;display:flex}.dev-list .dev-row:hover{background:color-mix(in oklab, var(--ink) 4%, transparent)}.dev-list .dev-row:last-child{border-bottom:none}.dev-list .dev-name{flex:none;min-width:8.5rem;font-size:.82rem}.dev-list .dev-note{color:var(--dim);flex:1;font-size:.66rem;line-height:1.5}.dev-row-tools{flex:none;align-items:center;gap:.3rem;display:inline-flex}.dev-row-tools b{font-family:var(--mono);color:var(--ink);text-align:right;min-width:2.2rem;font-size:.7rem;font-weight:400}.dev-row-tools .btn.ghost{min-width:40px;min-height:36px;padding:.2rem .4rem;font-size:.8rem}.dev-known{font-family:var(--mono);letter-spacing:.14em;color:var(--dim);text-transform:uppercase;flex:none;font-size:.62rem;font-weight:400}.dev-known.yes{color:var(--accent)}.dev-events{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.dev-events li{flex-direction:column;gap:.25rem;display:flex}.dev-events .btn{width:100%;min-height:44px}.dev-status{font-family:var(--mono);align-self:center;font-size:.68rem}.dev-status.ok{color:var(--accent)}.dev-status.bad{color:var(--danger)}.dev-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.dev-toolbar .btn{min-height:36px}.dev-json{font-family:var(--mono);color:var(--dim);background:var(--stage);border:1px solid var(--line);white-space:pre;border-radius:6px;max-height:11rem;margin:0;padding:.6rem .75rem;font-size:.62rem;line-height:1.55;overflow:auto}.dev-slots{flex-direction:column;display:flex}.dev-slot{border-bottom:1px dashed var(--line-soft);font-family:var(--mono);color:var(--dim);align-items:center;gap:.6rem;padding:.35rem .15rem;font-size:.68rem;display:flex}.dev-slot:last-child{border-bottom:none}.dev-slot .dev-slot-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dev-badge{font-family:var(--mono);letter-spacing:.06em;color:var(--dim);flex:none;font-size:.66rem}.dev-badge.on{color:var(--accent)}.dev-browser{flex-direction:column;gap:.3rem;display:flex}.dev-browser-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dev-tele-wrap{flex-direction:column;gap:.35rem;display:flex}.dev-tele{border:1px solid var(--line-soft);max-height:12rem;font-family:var(--mono);border-radius:4px;margin:0;padding:0;font-size:.64rem;list-style:none;overflow:auto}.dev-tele li{border-bottom:1px dashed var(--line-soft);color:var(--dim);align-items:baseline;gap:.5rem;padding:.22rem .5rem;display:flex}.dev-tele li:last-child{border-bottom:none}.dev-tele .dev-tele-at{color:var(--dim);flex:none}.dev-tele .dev-tele-name{color:var(--ink);flex:none}.dev-tele .dev-tele-props{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width>=64rem){.flow{max-width:72rem}.flow.wide-split{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(23rem,29rem);align-items:start;column-gap:2.25rem;max-width:none;padding-inline:max(1.25rem,3.5vw);display:grid}.flow.wide-split>.flow-stage{flex-direction:column;align-self:stretch;gap:.85rem;display:flex}.flow.wide-split.log-left{grid-template-columns:minmax(23rem,29rem) minmax(0,1fr)}.flow.wide-split.log-left>.flow-log{order:-1}.flow-log{box-sizing:border-box;border:1px solid var(--line-soft);background:var(--stage-2);border-radius:8px;flex-direction:column;align-self:stretch;min-height:100%;padding:1.05rem 1.15rem 1.1rem;display:flex;box-shadow:0 18px 60px #00000059}.flow-log-head{align-items:center;gap:.75rem;margin:-.05rem 0 .65rem;display:flex}.flow-log-title{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:.64rem}.flow-log-rule{background:var(--line-soft);flex:auto;height:1px}.flow-log .prose .line{font-size:1.12rem}.flow-log .prose{flex:auto;min-height:0;-webkit-mask-image:none;mask-image:none}.flow .verbs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.45rem;display:grid}.flow .verbs:has(>:only-child){display:flex}.flow .modal .verbs,.flow .gk-modal .verbs{display:flex}.flow .jobs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.5rem;display:grid}.flow .jobs:not(:has(>.job+.job)){flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.flow .jobs>.row-label{grid-column:1/-1}.scene{height:clamp(196px,21vw,330px);max-height:none}.gk-modal.modal-bag,.gk-modal.modal-craft{max-width:34rem}}@media (prefers-reduced-motion:reduce){.prose .line.fresh,.ritual .line,.rv,.gain-note,.log-day-block,.modal-scrim,.modal-rain span{animation:none}.modal-journal .gk-body{scroll-behavior:auto}}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--stage:#0a1424;--stage-2:#0f1b30;--stage-3:#14233d;--ink:#e2eaf4;--dim:#8ba2bd;--line:#243a5c;--line-soft:#1b2e4d;--amber:#f2b25c;--amber-soft:#e9c98f;--sea:#14233c;--land:#131c2b;--stone:#2a3850}.mark-bg{fill:#0d1626;stroke:var(--line);stroke-width:1px}.mark-beam{fill:var(--amber);opacity:.16}.mark-tower{fill:var(--stone)}.mark-room{fill:#35455f}.mark-lamp{fill:#ffd9a0}.mark-sea{fill:#2b4266}.mark-sea.dim{fill:#22304a}.mark-star{fill:#cfe0f2;opacity:.8}.scene .sky-top{stop-color:var(--sky-top,#16263e);transition:stop-color 1.4s}.scene .sky-mid{stop-color:var(--sky-mid,#111e33);transition:stop-color 1.4s}.scene .sky-low{stop-color:var(--sky-low,#0d1729);transition:stop-color 1.4s}.scene[data-phase=day]{--sky-top:#8fa8be;--sky-mid:#b6c8d6;--sky-low:#d5dfe6;--sea:#527695;--land:#64707b;--wave:#94b0c8;--cloud:#eef3f7;--gull:#2c3844}.scene[data-phase=dusk]{--sky-top:#241c33;--sky-mid:#7d4238;--sky-low:#c47d3c;--sea:#201f34;--land:#131c2b;--wave:#3f4770;--cloud:#453448;--gull:#63768e}.scene[data-phase=night]{--sky-top:#04070e;--sky-mid:#070d19;--sky-low:#0b1526;--sea:#080e18;--land:#0d141f;--wave:#18253c;--cloud:#26364f;--gull:#63768e}.scene .sky-glow{fill:var(--amber);opacity:0;transition:opacity 1.4s}.scene[data-phase=dusk] .sky-glow{opacity:.08}.scene[data-phase=night][data-lit] .sky-glow{opacity:.05}.scene[data-phase=day] .sun{fill:#e3bd6d}.scene .stars circle{fill:#cfe0f2;opacity:0}.scene[data-phase=night] .stars circle{animation:4s ease-in-out infinite twinkle}.scene[data-phase=night] .stars circle:nth-child(2n){animation-delay:1.3s}.scene[data-phase=night] .stars circle:nth-child(3n){animation-delay:2.6s}.scene .star-glints line{stroke:#dce9f8;stroke-width:.6px;opacity:0}.scene[data-phase=night] .star-glints line{animation:6.5s ease-in-out infinite twinkle}.scene[data-phase=night] .star-glints g:nth-child(2) line{animation-delay:2.1s}.scene[data-phase=night] .star-glints g:nth-child(3) line{animation-delay:4s}@keyframes twinkle{0%,to{opacity:.1}50%{opacity:.9}}.scene .moon{fill:#d8e3ef;box-shadow:none}.scene .moon-halo{fill:url(#moon-halo)}.scene .moon-sea{fill:#bccbdd;opacity:.55}.scene .sun,.scene .moon,.scene .moon-halo,.scene .moon-sea{transition:cx var(--sky-ms,1s) linear, cy var(--sky-ms,1s) linear}.scene[data-phase=night] .moon{animation:7s ease-in-out infinite twinkle}.scene .sister-light circle{fill:#ffd9a0}.scene .sister-light{opacity:.9}.scene .sun{fill:#f2e4b4;filter:drop-shadow(0 0 9px #f2e4b4a6)}.scene .sun.dusk-sun{fill:#e9a05c;filter:drop-shadow(0 0 10px #e9a05cb3)}.scene .clouds ellipse{fill:var(--cloud,#26364f);opacity:0;transition:fill 1.4s}.scene[data-phase=day] .clouds ellipse,.scene[data-phase=dusk] .clouds ellipse{opacity:.75}.scene .gulls path{fill:none;stroke:var(--gull,#63768e);stroke-width:1.5px;opacity:0;transition:stroke 1.4s}.scene[data-phase=day] .gulls path{opacity:.8}.scene .sea{fill:var(--sea);transition:fill 1.4s}.scene .sea-horizon{stroke:#cfe0f221;stroke-width:1px}.scene .wave{stroke:var(--wave,#2b4266);stroke-width:1.5px;stroke-dasharray:8 14;opacity:.6;transition:stroke 1.4s;animation:7s linear infinite drift}.scene .w2{stroke-dasharray:5 18;opacity:.35;animation-duration:11s;animation-direction:reverse}.scene .w3{stroke-dasharray:10 10;opacity:.22;animation-duration:9s}@keyframes drift{to{stroke-dashoffset:-66px}}.scene.storm .wave{stroke:#3d5a86;stroke-width:2px;animation-duration:2.2s}.scene .reflection rect{fill:var(--amber);opacity:.22;animation:3s ease-in-out infinite shimmer}.scene .reflection rect:nth-child(2n){animation-delay:.8s}@keyframes shimmer{0%,to{opacity:.14;transform:translate(-1px)}50%{opacity:.32;transform:translate(1px)}}.scene .land{fill:var(--land);transition:fill 1.4s}.scene .pier{fill:#232f45}.scene .pier-long .pier{fill:#28374f}.scene .pier-pile{fill:#1d2a40}.scene .store-wall{fill:#1a2536}.scene .store-roof{fill:#263450}.scene .skiff path:first-of-type{fill:#2c3c56}.scene .skiff line{stroke:#3a4c6a;stroke-width:1px}.scene .skiff-sail{fill:var(--amber);opacity:.75;animation:6s ease-in-out infinite windowBreath}.scene .visitor-hull{fill:#1c2a42;stroke:#2c3e5c;stroke-width:.8px}.scene .visitor-cabin{fill:#243452}.scene .visitor-mast{stroke:#3a4c6a;stroke-width:1px}.scene .visitor-light{fill:var(--amber);animation:2.8s ease-in-out infinite windowBreath}.scene .visitor.offbar{opacity:.8}.scene .tower-body{fill:var(--stone)}.scene .tower-rib{fill:#1f2c42}.scene .tower-room{fill:#35455f}.scene .tower-cap{fill:#46587a}.scene .cottage-wall{fill:#1d2839}.scene .cottage-roof{fill:#2a3850}.scene .cottage-win{fill:#1a2434}.scene .crew-figure{fill:#46586e}.scene .cottage-win.lit{fill:var(--amber);animation:5s ease-in-out infinite windowBreath}@keyframes windowBreath{0%,to{opacity:.75}50%{opacity:1}}.scene .lamp{fill:#4a5c7d}.scene .lamp.lit{fill:#ffd9a0;animation:3.2s ease-in-out infinite lampBreath}@keyframes lampBreath{0%,to{opacity:.85}50%{opacity:1}}.scene .beam{opacity:.92;filter:blur(.8px);animation:4.5s ease-in-out infinite beamFlicker}.scene .beam:nth-of-type(2){animation-delay:2.2s}@keyframes beamFlicker{0%,to{opacity:.82}50%{opacity:1}}.scene .lamp-glow{animation:3.2s ease-in-out infinite lampBreath}.scene .rain line{stroke:#8fa4c2;stroke-width:1px;opacity:.5;animation:.7s linear infinite rainfall}.scene .fog-wisps .fog{fill:#9fb6cc;opacity:.07;animation:26s ease-in-out infinite alternate slFogDrift}.scene .fog-wisps .fog:nth-child(2){opacity:.09;animation-duration:34s;animation-delay:-9s}.scene .fog-wisps .fog:nth-child(3){animation-duration:29s;animation-delay:-17s}@keyframes slFogDrift{0%{transform:translate(-14px)}to{transform:translate(14px)}}.scene .rain-sea path{stroke:#8fa4c2;stroke-width:.8px;stroke-linecap:round;opacity:.4}@keyframes rainfall{0%{transform:translate(7px,-16px)}to{transform:translate(-7px,16px)}}.offers,.jobs{flex-direction:column;gap:.5rem;display:flex}.job-name{font-family:var(--serif);font-size:.92rem;line-height:1.4}.job-meta .btn.ghost{letter-spacing:.08em;font-size:.68rem}.scene[data-optics="2"] .beam,.scene[data-optics="3"] .beam{opacity:1}.scene .beam.far{opacity:.5;animation-delay:1.1s}.scene .beam.near{opacity:.66}.wick-row{font-family:var(--mono);color:var(--dim);align-items:center;gap:.6rem;font-size:.7rem;display:flex}.wick-gauge{border:1px solid var(--line);border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.wick-fill{background:linear-gradient(90deg,#6d7d96,#9fb2cc);transition:width .4s;position:absolute;inset:0 auto 0 0}.wick-fill[data-frayed=true]{background:linear-gradient(90deg, #a66a4d, var(--danger))}.wick-mark{background:var(--amber);opacity:.8;width:1px;position:absolute;top:-2px;bottom:-2px}.lamp-note{font-family:var(--mono);margin:0;font-size:.68rem}.wick-stock{font-family:var(--mono);flex:none;align-items:baseline;gap:.35rem;margin-left:.15rem;display:inline-flex}.wick-stock i{color:var(--dim);font-size:.64rem;font-style:normal}.wick-stock b{color:var(--amber);font-size:.78rem;font-weight:400}.channel-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border:1px solid var(--line);border-radius:3px;padding:.1rem .4rem;font-size:.6rem}.prose .line.key,.log-entry.log-key .log-text{color:var(--ink)}.scene .lamp.ember{fill:#b06f2e;opacity:.85;animation:3.6s ease-in-out infinite slEmber}@keyframes slEmber{0%,to{opacity:.45}50%{opacity:.9}}.landing.sl:before{content:"";pointer-events:none;background:radial-gradient(50% 45% at 50% 18%,#f2b25c21,#0000 70%);width:min(46rem,120vw);height:60%;position:absolute;top:6%;left:50%;transform:translate(-50%)}.landing.sl .landing-title{letter-spacing:.14em;text-shadow:0 2px 40px #0009,0 0 90px #f2b25c38}.landing.sl .landing-tag{color:var(--amber-soft)}.landing.sl .landing-scene:after{content:"";pointer-events:none;background:linear-gradient(#0a142480 0%,#0000 26% 66%,#0a1424d1 100%);position:absolute;inset:0}@media (width>=64rem){.flow-title{letter-spacing:.12em;font-size:1.18rem}.scene{border-bottom:1px solid #7ea8c652}.flow-log{background:linear-gradient(180deg, #7fbeb20e, #7fbeb204), var(--stage-2);border-color:#7fbeb229}}@media (prefers-reduced-motion:reduce){.scene[data-phase=night] .stars circle,.scene[data-phase=night] .star-glints line,.scene[data-phase=night] .moon,.scene .wave,.scene .reflection rect,.scene .skiff-sail,.scene .visitor-light,.scene .cottage-win.lit,.scene .lamp.lit,.scene .lamp-glow,.scene .beam,.scene .lamp.ember,.scene .rain line,.scene .fog-wisps .fog{animation:none}}@keyframes slLandTwinkle{0%,to{opacity:.25}50%{opacity:.9}}.landing.sl .sl-land-twinkle path{animation:5.2s ease-in-out infinite slLandTwinkle}.landing.sl .sl-land-twinkle path:nth-child(2){animation-delay:1.7s}.landing.sl .sl-land-twinkle path:nth-child(3){animation-delay:3.4s}@keyframes slLandSweep{0%,to{transform:rotate(-3.2deg)}50%{transform:rotate(3.2deg)}}@keyframes slLandLampBreath{0%,to{opacity:.82}50%{opacity:1}}.landing.sl .sl-land-beams{transform-box:view-box;transform-origin:318px 125px;animation:26s ease-in-out infinite slLandSweep}.landing.sl .sl-land-lamphalo{animation:26s ease-in-out infinite slLandLampBreath}@media (prefers-reduced-motion:reduce){.landing.sl .sl-land-beams,.landing.sl .sl-land-lamphalo,.landing.sl .sl-land-twinkle path{animation:none}}
