#scenario-band-host{z-index:4;pointer-events:none;position:fixed;top:0;left:0}.scenario-band{top:calc(var(--top-left-bottom,calc(var(--safe-t) + 64px)) + 8px);left:calc(var(--edge) + var(--safe-l));max-width:min(360px, calc(100vw - 112px - var(--safe-l) - var(--safe-r)), calc(var(--hud-rail-left,100vw) - var(--edge) - var(--safe-l) - 10px));align-items:center;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-m);color:var(--cream-solid);box-shadow:var(--shadow-card);font-size:var(--fs-m);pointer-events:auto;background:#3a4a5cdb;flex-wrap:wrap;display:flex;position:fixed}.scenario-band.is-failed{background:#963c32e6}.scenario-band .scenario-name{min-width:0;color:inherit;text-align:left;font-size:var(--fs-m);background:0 0;border:0;flex:140px;padding:0}.scenario-tag{padding:1px var(--sp-2);background:var(--accent);color:#3a2a1c;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:8px;margin-right:2px;display:inline-block}.scenario-state{opacity:.8}.scenario-band.is-folded{flex-wrap:nowrap;padding-block:3px}.scenario-band.is-folded .scenario-name{white-space:nowrap;flex:0 auto}.scenario-band.is-folded .scenario-title{display:none}.scenario-band.is-folded .scenario-exit{padding-block:2px}.scenario-hint{font-weight:500;font-size:var(--fs-s);opacity:.9;flex:100%;order:3}.scenario-exit{padding:var(--sp-1) var(--sp-4);border-radius:var(--r-s);background:var(--cream-solid);color:var(--ink);white-space:nowrap;text-decoration:none}.scenario-groups ul{margin:var(--sp-1) 0 var(--sp-4);gap:var(--sp-2);padding:0;list-style:none;display:grid}.scenario-groups a{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-s);background:rgb(var(--gloss-rgb) / .7);color:inherit;text-decoration:none;display:flex}.scenario-groups a[aria-current=true]{outline:2px solid var(--accent)}.scenario-groups code{opacity:.6;font-size:var(--fs-s);white-space:nowrap}.scenario-own{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:flex}.scenario-missing a{color:inherit}.scenario-missing{padding:calc(24px + var(--safe-t)) 20px 24px;background:var(--cream-solid);pointer-events:auto;position:absolute;inset:0;overflow:auto}.scenario-missing button{border-radius:var(--r-s);padding:var(--sp-1) var(--sp-4);color:inherit;background:#f3d2c7;border:0}.scenario-problems{font-weight:700}.scenario-missing h1{font-size:20px}.link-prompt-backdrop{z-index:20}.link-prompt p{margin:0 0 var(--sp-4);font-weight:500}.link-params{gap:var(--sp-2);flex-wrap:wrap;display:flex}.link-params code{padding:2px var(--sp-3);background:rgb(var(--ink-rgb) / .1);font-size:var(--fs-m);border-radius:8px}.link-actions{gap:var(--sp-3);margin-top:var(--sp-2);flex-direction:column;display:flex}.link-actions button{border-radius:var(--r-m);min-height:48px;font-size:var(--fs-l);background:#e9e0cf;border:0;font-weight:650}.link-actions .link-cancel{background:var(--ink);color:var(--cream-solid)}.link-actions .link-real{background:#f3d2c7}.view-band{background:#965a28e0}.check-list{margin:var(--sp-1) 0 var(--sp-5)}.check-group{margin:0 0 var(--sp-3);gap:2px;display:grid}.check-note{font-size:var(--fs-s);opacity:.7}.check-links{gap:var(--sp-2);flex-wrap:wrap;margin-top:2px;display:flex}.check-links a{min-height:32px;padding:var(--sp-1) var(--sp-5);border-radius:var(--r-pill);background:rgb(var(--gloss-rgb) / .7);color:inherit;font-size:var(--fs-base);align-items:center;text-decoration:none;display:inline-flex}.check-links a[aria-current=true],.check-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.cinematic .scenario-band .scenario-hint:not(.scenario-problems){display:none}#devtools{pointer-events:none;z-index:6;font-size:var(--fs-m);color:#f8fafc;position:fixed;inset:0}#devtools button,#devtools textarea,#devtools details,#devtools label,#devtools .devt-card,#devtools .devt-note{pointer-events:auto}#devtools button{font:inherit;color:#0f172a;min-height:34px;padding:var(--sp-1) var(--sp-4);touch-action:manipulation;background:#f8fafc;border:0;border-radius:9px;font-weight:600}#devtools button[aria-pressed=false]{background:#94a3b8}#devtools button:disabled{opacity:.5}body.dev-hud-hidden #ui,body.dev-hud-hidden #fx,body.dev-hud-hidden .scenario-band{display:none}.devt-bar{top:calc(var(--safe-t,0px) + 8px);left:calc(var(--safe-l,0px) + 16px);right:calc(var(--safe-r,0px) + 16px);align-items:center;gap:var(--sp-1);flex-direction:column;display:flex;position:absolute}.devt-bar-row{justify-content:center;gap:var(--sp-2);padding:var(--sp-2);background:#0f172ab8;border-radius:12px;flex-wrap:wrap;display:flex}.devt-hint{text-align:center;max-width:560px;font-size:var(--fs-xs);padding:2px var(--sp-3);background:#0f172a8c;border-radius:8px}.devt-card,.devt-note{left:calc(var(--safe-l,0px) + 16px);right:calc(var(--safe-r,0px) + 16px);bottom:calc(var(--safe-b,0px) + 16px);max-height:calc(var(--app-h) * .46);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-m);box-shadow:0 4px 18px rgb(var(--dim-rgb) / .35);background:#0f172ae0;position:absolute;overflow:auto}.devt-note{bottom:auto;top:calc(var(--safe-t,0px) + 96px)}@media (orientation:landscape) and (min-width:640px){.devt-card{width:340px;left:auto;top:calc(var(--safe-t,0px) + 96px);bottom:calc(var(--safe-b,0px) + 16px);max-height:none}.devt-note{width:380px;left:50%;right:auto;transform:translate(-50%)}}.devt-card-head{align-items:flex-start;gap:var(--sp-3);display:flex}.devt-title{font-weight:700;font-size:var(--fs-base);margin-bottom:var(--sp-2);word-break:break-word;flex:1}#devtools .devt-x{width:28px;min-height:28px;padding:0;font-size:18px;line-height:1}.devt-rows>div{gap:var(--sp-3);padding:1px 0;display:flex}.devt-rows span{color:#94a3b8;flex:0 0 82px}.devt-rows code{word-break:break-all;font-size:var(--fs-s);flex:1}.devt-json summary{margin-top:var(--sp-2);cursor:pointer;color:#cbd5e1}.devt-json pre{max-height:calc(var(--app-h) * .3);margin:var(--sp-1) 0 0;padding:var(--sp-2);background:rgb(var(--dim-rgb) / .35);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-all;touch-action:pan-y;border-radius:8px;overflow:auto}.devt-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}#devtools .devt-primary{background:#4ade80}.devt-note textarea{box-sizing:border-box;width:100%;font:inherit;font-size:var(--fs-l);padding:var(--sp-3);resize:vertical;border:0;border-radius:9px}.devt-check{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.devt-toast{left:50%;bottom:calc(var(--safe-b,0px) + 50%);padding:var(--sp-3) 14px;border-radius:var(--r-s);white-space:nowrap;text-overflow:ellipsis;background:#0f172ad9;max-width:calc(100vw - 32px);font-weight:600;position:absolute;overflow:hidden;transform:translate(-50%)}.devt-pin{padding:var(--sp-2) 0 var(--sp-3);border-bottom:1px solid rgb(var(--ink-rgb) / .15)}.devt-pin-text{white-space:pre-wrap;word-break:break-word;font-weight:600}.dev-hint{font-size:var(--fs-s);opacity:.75;margin:-2px 0 5px;font-weight:450}#start-ui{height:var(--app-h,100dvh);z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.pregame{position:absolute;inset:0}.pregame-fade{opacity:0;pointer-events:none;background:#1d1a2a;animation:1.2s ease-out pregame-fade-in;position:absolute;inset:0}@keyframes pregame-fade-in{0%{opacity:1}to{opacity:0}}.pregame.is-letter .pregame-fade,.pregame.is-pick .pregame-fade{opacity:.32;transition:opacity .4s;animation:none}.intro-skip{right:calc(14px + var(--safe-r));bottom:calc(18px + var(--safe-b));pointer-events:auto;align-items:center;gap:var(--sp-2);background:rgb(var(--cream-rgb) / .82);min-height:44px;box-shadow:var(--shadow-card);color:var(--ink);font:inherit;font-size:var(--fs-l);z-index:2;border:0;border-radius:22px;padding:0 16px;display:inline-flex;position:absolute}.pregame-center{padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));box-sizing:border-box;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.intro-letter{box-sizing:border-box;border-top:8px solid var(--post-red);width:min(420px,100%);max-height:100%;font-family:Bradley Hand,Segoe Print,Comic Neue,Chalkboard SE,ui-rounded,cursive;font-weight:500;font-size:var(--fs-xl);color:var(--letter-ink);background:#fbf3e2;border-radius:6px 6px 18px 18px;padding:22px 24px 18px;line-height:1.5;animation:.5s ease-out letter-in;overflow-y:auto;box-shadow:0 12px 44px #1e140a66,inset 0 0 44px #b48c502e}@keyframes letter-in{0%{opacity:0;transform:translateY(16px)rotate(-1.5deg)}}.intro-letter p{margin:0 0 var(--sp-5)}.intro-letter-sign{text-align:right}.intro-letter .btn{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;margin-top:var(--sp-2);font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,sans-serif;font-weight:650;display:inline-flex}.island-pick{box-sizing:border-box;background:var(--cream-solid);width:min(760px,100%);max-height:100%;box-shadow:var(--shadow-card);border-radius:24px;padding:16px;animation:.4s ease-out letter-in;overflow-y:auto}.island-pick h2{margin:0;font-size:20px}.island-pick-sub{margin:var(--sp-1) 0 var(--sp-5);opacity:.8;font-weight:500}.map-cards{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.map-card{border-radius:var(--r-l);background:var(--row);padding:var(--sp-2) var(--sp-2) var(--sp-3);align-items:stretch;gap:var(--sp-2);min-width:0;box-shadow:var(--shadow-press);font:inherit;color:inherit;border:0;flex-direction:column;transition:transform .12s;display:flex}.map-card canvas{aspect-ratio:1;border-radius:var(--r-s);width:100%;display:block}.map-card.on{background:var(--paper-bright);outline:3px solid var(--sel);transform:translateY(-2px)}.map-card-label{font-size:var(--fs-m);text-align:center;flex-direction:column;gap:1px;display:flex}.map-card-label span{font-size:var(--fs-xs);opacity:.75;font-weight:500}.island-pick-actions{gap:var(--sp-4);margin-top:14px;display:flex}.island-pick-actions button{justify-content:center;align-items:center;gap:var(--sp-2);font:inherit;flex:1;display:inline-flex}@media (orientation:landscape) and (max-height:520px){.island-pick{padding:var(--sp-4) 14px}.island-pick-sub{margin-bottom:var(--sp-2);font-size:var(--fs-m)}.map-cards{width:min(100%, calc((var(--app-h) - 245px) * 3 + 20px));margin:0 auto}.island-pick-actions{margin-top:var(--sp-3)}.island-pick-actions button{min-height:var(--tap)}.intro-letter{font-size:var(--fs-l);padding:14px 18px var(--sp-5)}}.arrival-skip{position:absolute}.name-row{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:64px 44px 1fr 44px;display:grid}.name-row-label{font-size:var(--fs-m);opacity:.85}.name-arrow{border-radius:var(--r-m);background:var(--row);height:44px;color:var(--ink);box-shadow:var(--shadow-press);border:0;font-size:24px;line-height:1}.name-part{text-align:center;font-size:var(--fs-xl)}.name-preview{justify-content:center;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-1);padding:var(--sp-4);border-radius:var(--r-l);background:var(--paper-bright);font-size:22px;display:flex;box-shadow:inset 0 0 0 2px #f6a55a66}.name-panel .avatar-actions button{justify-content:center;align-items:center;gap:var(--sp-2);display:inline-flex}.settings-island{box-sizing:border-box;margin-bottom:var(--sp-3);background:#fff4dc}#ui .draft-chip,#ui .found-card,#ui .letter{pointer-events:auto}.bottle-icon{display:block;overflow:visible}.draft-chip{align-items:center;gap:var(--sp-1);border-radius:var(--r-l);background:var(--cream);box-shadow:var(--shadow-card);max-width:min(340px,100%);padding:3px;animation:.25s ease-out toast-in;display:flex}.draft-go{align-items:center;gap:var(--sp-3);min-width:0;min-height:44px;padding:3px var(--sp-4) 3px var(--sp-2);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;animation:2.8s ease-in-out 1s 3 draft-beckon;display:flex}.draft-go:hover,.draft-go:focus-visible{background:var(--ink-tint)}.draft-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.draft-text b{font-size:var(--fs-base)}.draft-head{align-items:baseline;column-gap:var(--sp-2);flex-wrap:wrap;display:flex}.draft-left{padding:0 var(--sp-2);background:var(--ink-tint);font-size:var(--fs-xs);white-space:nowrap;border-radius:8px}.draft-left.none{opacity:.75}.draft-text small{font-size:var(--fs-s);opacity:.8}.draft-discard{background:var(--ink-tint);border:0;border-radius:12px;flex:none;width:34px;height:34px}@keyframes draft-beckon{0%,80%,to{transform:none}86%{transform:rotate(-3deg)}92%{transform:rotate(3deg)}}@media (prefers-reduced-motion:reduce){.draft-go{animation:none}}.bottle-backdrop{box-sizing:border-box;background:#281e1447;padding:16px;align-items:center!important}.found-card{box-sizing:border-box;background:var(--cream-solid);width:min(360px,100%);box-shadow:0 10px 40px rgb(var(--shade-rgb) / .28);text-align:center;border-radius:28px;padding:20px 20px 18px;animation:.35s cubic-bezier(.2,1.4,.4,1) found-in}.found-bottle{place-items:center;height:110px;animation:2.4s ease-in-out infinite bottle-rock;display:grid}.found-card h2{margin:var(--sp-2) 0 var(--sp-2);font-size:21px}.found-card p{margin:var(--sp-1) 0;opacity:.85;font-weight:500}.found-gift{font-style:italic}.found-full{color:#b5533c;font-size:var(--fs-m)}.found-actions{gap:var(--sp-4);margin-top:16px;display:flex}.found-actions button{flex:1}.letter{width:min(440px,100%);max-height:calc(var(--app-h) - 40px);box-sizing:border-box;border-top:8px solid var(--post-red);box-shadow:0 12px 44px rgb(var(--shade-rgb) / .32), inset 0 0 44px #b48c502e;color:var(--letter-ink);transform-origin:50% 0;border-radius:6px 6px 18px 18px;padding:22px 24px 20px;font-family:Bradley Hand,Segoe Print,Comic Neue,Chalkboard SE,ui-rounded,cursive;font-weight:500;animation:.5s cubic-bezier(.2,1.2,.4,1) unfold;position:relative;overflow-y:auto}.letter.lore{font-style:italic}.letter-close{font-style:normal}.letter-head{flex-direction:column;gap:2px;margin:0 40px 14px 0;display:flex}.letter-from{font-size:19px;font-weight:700}.letter-origin,.letter-date{font-size:var(--fs-m);opacity:.7;font-family:ui-rounded,system-ui,sans-serif;font-style:normal}.letter-body p{margin:0 0 var(--sp-5);font-size:var(--fs-xl);line-height:1.6}.letter-stickers{letter-spacing:6px;margin:var(--sp-1) 0 var(--sp-3);font-size:34px}.letter-gift{align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-m);background:rgb(var(--gloss-rgb) / .6);font-family:ui-rounded,system-ui,sans-serif;font-style:normal;font-size:var(--fs-base);border:2px dashed #785a324d;display:flex}.letter-gift-icon{font-size:28px}.letter-gift-note{opacity:.7}.letter-map{width:100%;margin-top:var(--sp-5);border-color:rgb(var(--book-line-rgb) / .55);background:var(--map-paper);color:var(--ink-book);text-align:left;cursor:pointer;font-weight:600}.letter-map:active{transform:translateY(1px)}.bottle-sheet{max-height:min(calc(var(--app-h) * .88), 780px);flex-direction:column;display:flex}.bottle-sheet .sheet-head{gap:var(--sp-4)}.tabs{flex:1}.tabs button{min-height:var(--tap);font-size:var(--fs-l)}.bottle-list{gap:var(--sp-3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.letter-list{gap:var(--sp-4);flex-direction:column;min-height:0;display:flex}.letter-filter{gap:var(--sp-2);scrollbar-width:none;flex-shrink:0;display:flex;overflow-x:auto}.letter-filter button{min-height:var(--tap);background:var(--ink-tint);font:inherit;font-size:var(--fs-base);color:inherit;border:0;border-radius:17px;flex-shrink:0;padding:0 14px}.letter-filter button.on{background:var(--paper-bright);box-shadow:0 1px 4px rgb(var(--shade-rgb) / .2), inset 0 0 0 2px var(--sel)}.bottle-row,.letter-row{align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);background:var(--row);text-align:left;border:0;display:flex}.bottle-row-text,.letter-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bottle-row-text span,.letter-row-date{font-size:var(--fs-s);opacity:.7}.letter-row-preview{font-size:var(--fs-m);opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.hint.small{font-size:var(--fs-m);font-weight:500}.sent-list{gap:var(--sp-2);margin-top:var(--sp-2);flex-direction:column;display:flex}.sent-title{margin:var(--sp-1) 2px 0;font-size:var(--fs-m);letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-weight:700}.sent-row{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-m);border:1px dashed rgb(var(--ink-rgb) / .18);background:#f5ead68c;display:flex}.sent-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sent-meta{font-size:var(--fs-s);opacity:.7}.sent-preview{font-size:var(--fs-m);opacity:.85;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.sent-gift{align-items:center;gap:var(--sp-1);font-size:var(--fs-s);opacity:.8;display:inline-flex}.composer{flex-direction:column;flex:1;min-height:0;display:flex}.composer-scroll{min-height:0;padding:var(--sp-4) 0 var(--sp-3);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.acc{border-radius:var(--r-l);background:rgb(var(--ink-rgb) / .04);margin-bottom:var(--sp-2)}.acc.open{background:rgb(var(--ink-rgb) / .07)}.acc-head{align-items:center;gap:var(--sp-4);width:100%;min-height:48px;padding:var(--sp-3) 14px;text-align:left;background:0 0;border:0;display:flex}.acc-title{font-weight:700;font-size:var(--fs-l);white-space:nowrap}.acc-sum{min-width:0;font-size:var(--fs-m);opacity:.7;text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.acc-chev{opacity:.6;transition:transform .2s}.acc.open .acc-chev{transform:rotate(180deg)}.acc-body{padding:0 var(--sp-5) var(--sp-5);animation:.2s ease-out toast-in}.preview-bottle{opacity:.9;position:absolute;bottom:6px;right:10px}.composer h3{margin:14px 0 var(--sp-2);font-size:var(--fs-l)}.composer h4{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-m);opacity:.75}.composer h3.with-action{justify-content:space-between;align-items:center;display:flex}.letter.preview{width:100%;min-height:96px;max-height:none;padding:14px 52px var(--sp-4) 16px;box-shadow:inset 0 0 30px #b48c5024, 0 2px 8px rgb(var(--shade-rgb) / .12);border-top-width:6px;flex:none;animation:none;overflow:visible}.letter.preview p{margin:0 0 var(--sp-1);font-size:16px;line-height:26px}.letter.preview .muted{opacity:.5}.letter.preview .letter-stickers{margin:0;font-size:26px}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{min-height:var(--tap);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-m);font-size:var(--fs-base);align-items:center;gap:var(--sp-2);text-align:left;background:#f3e7d1;border:0;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{background:var(--ink);color:var(--badge-ink)}.chip:disabled{opacity:.4}.chips.stickers .chip{justify-content:center;min-width:46px}.sticker-emoji{font-size:22px}.link-btn{padding:var(--sp-2) 0;font-size:var(--fs-base);opacity:.75;background:0 0;border:0;text-decoration:underline}.link-btn.add{margin-top:var(--sp-4);display:block}.stepper{align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);display:flex}.stepper .chip{min-width:var(--tap);justify-content:center;font-size:18px}.composer-foot{justify-content:space-between;align-items:center;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid rgb(var(--ink-rgb) / .1);display:flex}.composer-left{font-size:var(--fs-m);opacity:.8}@keyframes found-in{0%{opacity:0;transform:scale(.7)translateY(20px)}}@keyframes bottle-rock{0%,to{transform:rotate(-6deg)translateY(0)}50%{transform:rotate(6deg)translateY(-4px)}}@keyframes unfold{0%{opacity:0;transform:scaleY(.4)rotate(-2deg)}60%{opacity:1}}@media (orientation:landscape) and (min-width:700px){.sheet.bottle-sheet.writing{width:min(900px,100vw);padding-left:calc(16px + var(--safe-l))}.writing .composer{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);column-gap:16px;display:grid}.writing .letter.preview{margin-top:var(--sp-4);grid-area:1/1;align-self:start}.writing .composer-scroll{grid-area:1/2}.writing .composer-foot{grid-area:2/1/auto/span 2}}@media (orientation:landscape) and (min-height:521px){.sheet-backdrop>.sheet.bottle-sheet{max-height:min(780px,100%)}}@media (max-height:520px){.found-bottle{height:70px}.found-card{padding:var(--sp-5) 18px}.letter-body p{font-size:var(--fs-l);line-height:26px}}.dye-strip{align-items:center;gap:var(--sp-1);flex-direction:column;max-width:100%;display:flex}.build-cluster .dye-strip{padding:var(--sp-2) var(--sp-3) 7px;border-radius:var(--r-l);background:var(--cream);box-shadow:var(--shadow-card)}.dye-line{font-size:var(--fs-xs);text-align:center;overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:216px;min-height:14px;line-height:14px;display:-webkit-box;overflow:hidden}.dye-line.missing span{color:#8a5a2e}.dye-row{gap:var(--sp-2);grid-template-columns:repeat(5,36px);display:grid}.dye-sw{border:2px solid rgb(var(--ink-rgb) / .18);border-radius:var(--r-s);background:var(--dye,var(--cream-solid));width:36px;height:36px;box-shadow:inset 0 -5px 0 rgb(var(--dim-rgb) / .1);cursor:pointer;padding:0;transition:transform .1s ease-out;position:relative}.dye-sw.natural{background:repeating-linear-gradient(100deg,#e7c896 0 5px,#d9b47c 5px 7px)}.dye-sw.empty{opacity:.6;border-style:dashed;border-color:rgb(var(--ink-rgb) / .35);box-shadow:none;background:linear-gradient(135deg, transparent 44%, rgb(var(--cream-rgb) / .95) 44% 56%, transparent 56%), var(--dye,var(--cream-solid));filter:saturate(.6);background-size:100% 100%}.dye-sw.current:after{content:"";background:var(--cream-solid);width:8px;height:8px;box-shadow:0 0 0 1.5px rgb(var(--ink-rgb) / .55);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.dye-sw.picked{border-color:var(--ink);transform:scale(1.1)}.dye-sw:active{transform:scale(.94)}.dye-sw:focus-visible{outline-offset:1px;outline:3px solid #5a8fd0}.dye-n{background:var(--cream-solid);min-width:15px;height:15px;color:var(--ink);box-shadow:0 1px 2px rgb(var(--shade-rgb) / .25);border-radius:8px;padding:0 3px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;bottom:-4px;right:-4px}.tint-dot{background:var(--dye);width:11px;height:11px;box-shadow:0 0 0 1.5px var(--cream-solid,var(--cream-solid)), 0 1px 2px rgb(var(--shade-rgb) / .35);pointer-events:none;border-radius:50%;position:absolute;top:3px;left:3px}.dyev-b .dye-row{scrollbar-width:none;gap:5px;max-width:min(230px,100vw - 48px);padding:5px 7px 7px;display:flex;overflow-x:auto}.dyev-b .dye-row::-webkit-scrollbar{display:none}.dyev-b .dye-sw{border-radius:50%;flex:0 0 34px;width:34px;height:34px}.vat-hint{margin:0 0 var(--sp-3);font-size:var(--fs-m);opacity:.8}.vat-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vat-row{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--ink-tint);display:flex}.vat-row[data-can="0"] .vat-sw{opacity:.55}.vat-sw{border-radius:var(--r-s);background:var(--dye);width:34px;height:34px;box-shadow:inset 0 -5px 0 rgb(var(--dim-rgb) / .1);flex:none}.vat-main{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.vat-name small{opacity:.7;font-weight:500}.vat-cost{gap:var(--sp-1);flex-wrap:wrap;display:flex}.vat-full{color:var(--btn-warn,#b5532b);font-size:.85em;font-weight:600}.vat-go{flex:none;min-width:84px}.vat-section{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-m);opacity:.85;font-weight:700}.vat-sw--item{box-shadow:none;background:0 0;place-items:center;display:grid}.camp-tabs{margin-bottom:var(--sp-4)}.camp-tabs button{justify-content:center;align-items:center;gap:var(--sp-2);display:inline-flex}.camp-chest .bag-sub{margin-top:var(--sp-4)}.camp-grid .slot:disabled{opacity:1}.storage-sheet .sheet-body{gap:var(--sp-3);flex-direction:column;display:flex}.storage-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.storage-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-1);display:flex}.storage-head .site-btn{min-height:var(--tap);flex:none}.storage-sheet .slot:disabled{cursor:default}.shipping-value{margin-left:var(--sp-4);border-radius:var(--r-pill);background:var(--coin-bg);font-size:var(--fs-base);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;padding:2px 9px;font-weight:600;display:inline-flex}.shipping-sheet .slot.no-sale{opacity:.4}.shipping-small{font-size:var(--fs-m)}.shipping-next{margin-right:var(--sp-2);color:#6b5a4c;font-weight:600}.shipping-when{font-weight:600}.build-act.wide{min-width:112px;padding:0 var(--sp-5)}.build-act.dim{opacity:.6}.reloc-item{position:relative}.reloc-badge{border-radius:var(--r-pill);background:#fff8ecf2;padding:1px;display:flex;position:absolute;bottom:2px;right:2px}.reloc-veil{z-index:50;pointer-events:auto;background:#fff6e6eb;justify-content:center;align-items:center;padding:16px;animation:.9s ease-out both reloc-veil-in;display:flex;position:fixed;inset:0}.reloc-veil p{text-align:center;max-width:28em;color:var(--ink);margin:0;font-size:18px;font-weight:650}@keyframes reloc-veil-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.reloc-veil{animation:none}}.build-ui{pointer-events:none;position:absolute;inset:0}.build-bar{left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));bottom:calc(10px + var(--safe-b));align-items:center;gap:var(--sp-3);background:rgb(var(--cream-rgb) / .86);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);pointer-events:auto;border-radius:22px;padding:7px;animation:.22s ease-out build-up;display:flex;position:absolute}.build-bar.empty{right:auto}@keyframes build-up{0%{opacity:0;transform:translateY(24px)}}.build-done{min-width:64px;height:58px;font-size:var(--fs-s);padding:2px var(--sp-3);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;display:flex}.build-items{gap:var(--sp-2);touch-action:pan-x;scrollbar-width:none;padding:var(--sp-1);flex:1;margin:-2px;display:flex;overflow:auto hidden}.build-items::-webkit-scrollbar{display:none}.build-item{border-radius:var(--r-l);background:rgb(var(--gloss-rgb) / .75);border:0;flex:none;place-items:center;width:58px;height:58px;padding:0;transition:transform .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative}.build-item.on{background:linear-gradient(180deg, var(--btn-paper-top), var(--btn-paper-on));box-shadow:0 0 0 2.5px var(--sel), 0 3px 0 var(--btn-paper-edge)}.build-sep{background:#5a463638;border-radius:2px;flex:none;align-self:center;width:2px;height:34px}.build-item.dim{opacity:.55}.build-item .build-limit{color:var(--ink);border-radius:var(--r-pill);padding:0 var(--sp-1);background:#fff8eceb;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:2px;left:3px}.build-item .qty{font-size:var(--fs-xs);background:var(--ink);color:var(--badge-ink);border-radius:var(--r-pill);padding:0 5px;line-height:16px;position:absolute;bottom:2px;right:3px}.build-cluster{right:calc(10px + var(--safe-r));bottom:calc(94px + var(--safe-b));align-items:flex-end;gap:var(--sp-3);max-width:calc(100vw - 20px - var(--safe-l) - var(--safe-r));flex-direction:column;display:flex;position:absolute}.build-status{font-size:var(--fs-m);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-pill);background:rgb(var(--cream-rgb) / .92);box-shadow:0 2px 10px rgb(var(--shade-rgb) / .14);align-items:center;gap:var(--sp-2);max-width:100%;display:inline-flex}.build-status.ok{color:#2f6b34}.build-status.bad{color:#a8433a}.build-status.hint{opacity:.92;font-weight:500}.build-keys{opacity:.6;font-weight:500}.build-actions{align-items:flex-end;gap:var(--sp-3);display:flex}.build-act{background:var(--cream);min-width:60px;height:60px;box-shadow:var(--shadow-card);border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 5px;font-size:10.5px;line-height:1.1;display:flex}.build-rim-choices{flex-wrap:wrap;justify-content:flex-end}.build-act.build-rim-choice.on{background:linear-gradient(180deg, var(--btn-paper-top), var(--btn-paper-on));outline:2.5px solid var(--sel);outline-offset:0}.build-act:active{transform:scale(.94)}.build-confirm{width:92px;height:92px;box-shadow:0 6px 0 #9fcf86, var(--shadow-card);font-size:var(--fs-m);background:linear-gradient(#f1fbe6,#cdeeb4);border:0;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:2px;animation:.22s ease-out pop-in;display:flex}.build-confirm:active{box-shadow:0 2px 0 #9fcf86, var(--shadow-card);transform:translateY(4px)}.build-confirm.bad{background:linear-gradient(180deg, var(--btn-paper-off-top), var(--btn-paper-off-bottom));box-shadow:0 6px 0 var(--btn-paper-off-edge), var(--shadow-card);opacity:.85}.build-confirm.nudge{animation:.5s ease-out build-nudge}@keyframes build-nudge{30%{transform:scale(1.12)}}body.build-mode .bottom-left{bottom:calc(96px + var(--safe-b))}@media (orientation:portrait) and (max-width:699px){body.build-mode .bottom-left{bottom:calc(242px + var(--safe-b))}}@media (orientation:portrait) and (max-width:520px){.build-bar{gap:var(--sp-2);padding:var(--sp-2)}.build-done{min-width:54px;height:54px;padding:2px var(--sp-1)}.build-item{border-radius:var(--r-m);width:52px;height:52px}.build-items{gap:5px}}@media (orientation:landscape) and (max-height:520px){.build-bar{right:auto;left:calc(12px + var(--safe-l));bottom:calc(10px + var(--safe-b));max-width:calc(100vw - 360px - var(--safe-l) - var(--safe-r))}.build-cluster{right:calc(14px + var(--safe-r));bottom:calc(10px + var(--safe-b));max-width:330px}.build-confirm{width:84px;height:84px}.build-act{min-width:56px;height:56px}}@media (min-width:700px) and (min-height:521px){.build-bar{left:50%;right:auto;bottom:calc(18px + var(--safe-b));max-width:min(600px,100vw - 460px);animation:none;transform:translate(-50%)}.build-cluster{right:calc(20px + var(--safe-r));bottom:calc(22px + var(--safe-b))}}.arrange-bubble{z-index:3;padding:7px var(--sp-3) var(--sp-3);border-radius:var(--r-l);background:var(--cream-solid);box-shadow:0 4px 14px rgb(var(--shade-rgb) / .22);pointer-events:auto;opacity:0;will-change:transform, opacity;flex-direction:column;align-items:center;gap:5px;transition:opacity .15s ease-out;display:flex;position:absolute;top:0;left:0}.arrange-bubble.placed{opacity:1}.arrange-bubble:after{content:"";border:7px solid #0000;border-bottom:0;border-top-color:var(--cream-solid);margin-left:-7px;position:absolute;bottom:-7px;left:50%}.arrange-name{font-size:var(--fs-s);white-space:nowrap;font-weight:700}.arrange-actions{gap:var(--sp-2);display:flex}.arrange-act{background:var(--ink-tint);min-width:64px;min-height:52px;font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-3);border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;line-height:1.1;display:flex}.arrange-act:active{transform:scale(.94)}.arrange-act.on{background:var(--ink);color:var(--cream-solid)}.site-stage{gap:var(--sp-4);flex-direction:column;display:flex}.site-part-hint{align-items:flex-start;gap:var(--sp-2);opacity:1;display:flex}.site-part-hint>:first-child{flex:none}.site-text{font-size:var(--fs-base);margin:0;line-height:1.35}.site-builder{font-size:var(--fs-l);margin:0;font-weight:600;line-height:1.35}.site-lines{gap:var(--sp-2);flex-direction:column;display:flex}.site-line{align-items:center;column-gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-m);background:var(--row);grid-template-columns:30px minmax(0,1fr) 70px auto;grid-template-areas:"icon name meter count""icon have have have";display:grid}.site-line>:first-child{grid-area:icon}.site-line-name{font-weight:600;font-size:var(--fs-base);grid-area:name}.site-line b{font-variant-numeric:tabular-nums;grid-area:count}.site-line.full{background:var(--ok-bg)}.site-meter{border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .12);grid-area:meter;height:8px;display:flex;overflow:hidden}.site-meter>span{background:#8ccf7a;height:100%;display:block}.site-meter>.site-meter-stock{background:repeating-linear-gradient(-45deg,#b8dfa9 0 3px,#d6ecc9 3px 6px)}.site-line.enough{background:#eef2d8}.site-missing{color:#9a4a2a;font-weight:700}.site-have{font-size:var(--fs-s);opacity:.7;grid-area:have}.site-ready{color:var(--ok-ink);margin:0;font-weight:700}.site-stage .craft-go{flex:none}.site-progress{border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .12);height:16px;overflow:hidden}.site-progress-bar{border-radius:var(--r-pill);background:linear-gradient(90deg, #f2c56b, var(--accent));height:100%;transition:width .9s linear}.site-remaining{align-items:center;gap:var(--sp-2);font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:700;display:flex}.site-row{gap:var(--sp-3);display:flex}.site-btn{min-height:var(--tap-big);font-size:var(--fs-l);cursor:pointer;flex:1;padding:0 16px}.site-btn.ghost{flex:none;align-self:flex-start}.site-ask p{margin:0 0 var(--sp-3);font-size:var(--fs-base)}.site-from{margin-left:var(--sp-2);vertical-align:middle;font-style:italic}.site-sign{padding:var(--sp-1) 9px var(--sp-1) 7px;background:var(--paper-sheet);color:var(--ink-color);font:650 var(--fs-base)/1.2 var(--font-serif);font-variant-numeric:tabular-nums;white-space:nowrap;min-height:32px;box-shadow:0 1px 1px rgb(var(--marine-deep-rgb) / .14), 0 4px 12px rgb(var(--marine-deep-rgb) / .22);pointer-events:auto;cursor:pointer;will-change:transform;z-index:2;border:0;border-radius:2px;align-items:center;gap:5px;display:flex;position:absolute;top:0;left:0}.site-sign:after{content:"";background:repeating-linear-gradient(to bottom, var(--rope) 0 2px, var(--rope-dark) 2px 3px);width:2px;height:12px;margin-left:-1px;position:absolute;top:100%;left:50%}.site-sign:before{content:"";background:var(--brass);width:6px;height:6px;box-shadow:inset 0 0 0 1.5px rgb(var(--shade-rgb) / .35);border-radius:50%;margin-left:-3px;position:absolute;top:-3px;left:50%}.site-sign:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.site-sign small{font-size:var(--fs-s);opacity:.75}.site-sign-meter{background:rgb(var(--shade-rgb) / .16);border-radius:3px;flex:none;width:38px;height:6px;position:relative;overflow:hidden}.site-sign-meter>span{background:var(--brass);border-radius:3px;position:absolute;inset:0 auto 0 0}.site-sign.is-running .site-sign-meter{width:30px}.site-sign.is-ready{color:var(--ok-ink)}.site-sign.is-ready[data-ready=busy],.site-sign.is-ready[data-ready=coins]{color:var(--ink-color)}.site-sign.is-done{font-style:italic}.site-sign.is-night{filter:brightness(.72)saturate(.85)}.band-builder{width:100%;min-height:22px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex}button.band-builder{cursor:pointer}.band-builder>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.craft-sheet .sheet-body{gap:var(--sp-4);flex-direction:column;display:flex;overflow:hidden}.craft-sheet .craft-list{overscroll-behavior:contain;min-height:0;padding-bottom:var(--sp-2);flex:auto;overflow-y:auto}.craft-sub{font-size:var(--fs-s);letter-spacing:.04em;text-transform:uppercase;opacity:.6;margin:2px 2px var(--sp-1);font-weight:700}.craft-hint{font-size:var(--fs-base);opacity:.75;margin:2px 0}.craft-list{gap:var(--sp-2);flex-direction:column;display:flex}.craft-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.craft-row{align-items:center;gap:var(--sp-3);min-width:0;min-height:52px;padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-3);border-radius:var(--r-m);background:var(--row);text-align:left;cursor:pointer;border:2px solid #0000;display:flex;overflow:hidden}.craft-row.cannot{opacity:.62}.craft-row.have{opacity:.5}.craft-row.full .craft-badge{background:var(--short-bg);color:var(--short-ink);white-space:normal;text-align:center;flex:0 auto;line-height:1.15}.craft-full{margin:0 0 var(--sp-2);color:var(--short-ink);opacity:1;font-weight:600}.craft-row.on{border-color:var(--sel);opacity:1;background:#fff1dc}.craft-row.want{opacity:1}.craft-row.want:not(.on){border-style:dashed;border-color:var(--sel);animation:2.4s ease-in-out 3 craft-want}@keyframes craft-want{0%,to{box-shadow:0 0 0 0 rgb(var(--dim-rgb) / 0)}50%{box-shadow:0 0 0 4px #d6963c47}}@media (prefers-reduced-motion:reduce){.craft-row.want:not(.on){animation:none}}.craft-row.first{outline-offset:1px;outline:3px solid #0000;animation:1.8s ease-in-out .4s 3 craft-first}@keyframes craft-first{0%,to{outline-color:#0000}50%{outline-color:var(--sel)}}@media (prefers-reduced-motion:reduce){.craft-row.first{outline-color:var(--sel);animation:none}}.craft-name{min-width:0;font-size:var(--fs-base);flex-direction:column;flex:1;font-weight:600;line-height:1.15;display:flex}.craft-from{font-size:var(--fs-xs);opacity:.7;font-weight:500}.craft-goal{padding:0 var(--sp-2) 0 var(--sp-1);font-size:var(--fs-xs);white-space:nowrap;max-width:100%;color:var(--ink-blue);background:#ffce6e73;border-radius:6px;align-self:flex-start;align-items:center;gap:3px;margin-top:2px;font-weight:650;display:inline-flex;overflow:hidden}.craft-goal>span{text-overflow:ellipsis;overflow:hidden}.craft-head{gap:var(--sp-3);flex-direction:column;display:flex}.craft-badge{font-size:var(--fs-s);border-radius:var(--r-pill);background:var(--ink-tint);white-space:nowrap;flex:none;padding:2px 7px;font-weight:700}.craft-row.can .craft-badge{color:var(--ok-ink);background:#cfeec4}.craft-detail{padding:var(--sp-4) var(--sp-2) var(--sp-1);background:var(--cream-solid);border-top:1px solid rgb(var(--ink-rgb) / .12);gap:var(--sp-3);flex-direction:column;flex:none;margin:0 -4px;display:flex}.craft-out{align-items:center;gap:var(--sp-3);font-size:16px;display:flex}.craft-yield{color:var(--ok-ink);font-weight:700}.craft-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.craft-chip{padding:var(--sp-1) 9px var(--sp-1) 5px;border-radius:var(--r-pill);font-size:var(--fs-m);background:#e9f5e4;align-items:center;gap:5px;display:inline-flex}.craft-chip.short{background:var(--short-bg);color:var(--short-ink)}.craft-chip b{font-variant-numeric:tabular-nums}.craft-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.craft-qty{align-items:center;gap:var(--sp-1);display:flex}.craft-step,.craft-all{border-radius:var(--r-m);background:var(--paper-chip);cursor:pointer;border:0;min-width:46px;height:46px;font-size:22px;font-weight:700}.craft-all{font-size:var(--fs-l);padding:0 var(--sp-5)}.craft-step:disabled,.craft-all:disabled{opacity:.4}.craft-n{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:19px;font-weight:700}.craft-go{justify-content:center;align-items:center;gap:var(--sp-3);min-height:var(--tap-big);font-size:var(--fs-xl);cursor:pointer;flex:160px;padding:0 18px;display:inline-flex}.craft-last{font-size:var(--fs-base);color:var(--ok-ink);margin:0;font-weight:600}.book-bench{align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.book-bench .craft-sub{margin:0}.book-bench.more{padding-top:var(--sp-4);border-top:1px dashed color-mix(in srgb, currentColor 30%, transparent);margin-top:16px}.book-bench.more h4{align-items:center;gap:var(--sp-2);margin:0;display:flex}.book-bench .craft-hint{font-size:var(--fs-m)}.book-bench-go{align-items:center;gap:var(--sp-3);min-height:var(--tap);margin-top:var(--sp-1);font-size:var(--fs-l);cursor:pointer;padding:0 20px;display:inline-flex}@media (max-height:520px) and (orientation:landscape){.craft-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.craft-row{min-height:46px}.craft-chip-name{display:none}.craft-head{align-items:center;gap:var(--sp-2) var(--sp-5);flex-flow:wrap}.craft-detail{gap:var(--sp-2);padding-top:var(--sp-3)}.craft-actions{flex-wrap:nowrap}.craft-step,.craft-all{min-width:var(--tap);height:var(--tap)}.craft-go{min-height:var(--tap);font-size:16px}}.craft-tabs,.craft-sheet .ws-up-foot .craft-go{flex:none}.bag-tabs{margin-bottom:var(--sp-3);flex:none}.bag-tabs button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.hand-list{gap:var(--sp-3);flex-direction:column;display:flex}.hand-intro{margin:0}.hand-row{align-items:center;gap:var(--sp-1) var(--sp-4);padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb, currentColor 6%, transparent);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"out go""cost go";display:grid}.hand-row.want{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent,#e0a040) 70%, transparent)}.hand-out{align-items:center;gap:var(--sp-3);grid-area:out;min-width:0;display:inline-flex}.hand-cost{grid-area:cost}.hand-go{min-width:92px;min-height:var(--tap);grid-area:go}.wheel{right:calc(52px + var(--safe-r));bottom:calc(52px + var(--safe-b));pointer-events:none;-webkit-user-select:none;user-select:none;--wheel-go:#e2b75a;--wheel-alt:#5ec3b7;--wheel-card:var(--cream-solid);--wheel-line:#d9c9a6;width:0;height:0;position:absolute}.wheel-arc,.wheel-ringwrap,.wheel-hit{position:absolute}.wheel-arc{pointer-events:none;overflow:visible}.wheel-arcbg{opacity:0;pointer-events:none;transition:opacity .18s}.wheel.open .wheel-arcbg{opacity:1}.wheel-ringwrap{pointer-events:none}.wheel-ringwrap svg{display:block;overflow:visible}.wheel-ringwrap circle,.wheel-ringwrap line,.wheel-ringwrap path{fill:none}.wheel-hit{pointer-events:auto;touch-action:none;border-radius:50%;place-items:center;display:grid}.wheel-dial{width:80px;height:80px;color:var(--ink-color);touch-action:none;isolation:isolate;border-radius:50%;place-items:center;padding:0;transition:box-shadow .2s,border-color .2s;display:grid;position:relative}.wheel-dial:focus-visible{outline:var(--focus-ring);outline-offset:-7px}.wheel-badge{z-index:3;pointer-events:none;background:var(--wheel-alt);border:2px solid var(--wheel-card);border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:-41px;left:11px}.wheel.go .wheel-dial{box-shadow:0 0 0 4px #e2b75a54, 0 0 18px #e2b75aab, 0 3px 10px rgb(var(--dim-rgb) / .2);border-color:var(--wheel-go)!important}.wheel.alt .wheel-dial{box-shadow:0 0 0 4px #5ec3b745, 0 3px 10px rgb(var(--dim-rgb) / .2);border-color:var(--wheel-alt)!important}.wheel-dial.fx-shake{animation:.3s wheel-shake}.wheel-dial.fx-pulse{animation:.35s wheel-pulse}.wheel:has(.wheel-dial.fx-shake) :is(.wheel-badge,.wheel-held){animation:.3s wheel-shake}.wheel:has(.wheel-dial.fx-pulse) :is(.wheel-badge,.wheel-held){animation:.35s wheel-pulse}.wheel-badge{transform-origin:-11px 41px}.wheel-held{transform-origin:-10px 42px}.wheel-dial.fx-warm{animation:.9s ease-out wheel-warm}.wheel-dial.warm-hold{box-shadow:0 0 0 4px rgb(var(--glow-rgb) / .3), 0 0 18px rgb(var(--glow-rgb) / .55), 0 3px 10px rgb(var(--dim-rgb) / .2);border-color:#f0a04b}.wheel-ctxown{place-items:center;display:grid}@keyframes wheel-warm{15%{box-shadow:0 0 0 6px rgb(var(--glow-rgb) / .45), 0 0 26px rgb(var(--glow-rgb) / .85), 0 3px 10px rgb(var(--dim-rgb) / .2);border-color:#f0a04b;scale:1.1}60%{box-shadow:0 0 0 4px rgb(var(--glow-rgb) / .3), 0 0 18px rgb(var(--glow-rgb) / .55), 0 3px 10px rgb(var(--dim-rgb) / .2);scale:1}}@keyframes wheel-warm-still{15%,60%{box-shadow:0 0 0 6px rgb(var(--glow-rgb) / .45), 0 0 26px rgb(var(--glow-rgb) / .85);border-color:#f0a04b}}@keyframes wheel-shake{25%{translate:-4px}75%{translate:4px}}@keyframes wheel-pulse{50%{scale:1.12}}.wheel-item{background:var(--wheel-card);border:2px solid var(--wheel-line);pointer-events:none;border-radius:50%;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;transition:opacity .16s,scale .16s;display:grid;position:absolute;top:0;left:0;scale:.5}.wheel.open .wheel-item{will-change:translate, scale, opacity}.wheel.open .wheel-item.vis{pointer-events:auto;touch-action:none;scale:1}.wheel-item:before{content:"";border-radius:50%;position:absolute;inset:-4px}.wheel .wheel-item.sel{border-color:var(--sel-wheel);box-shadow:0 0 0 2px var(--sel-wheel-glow), inset 0 0 0 2px #fffaebbf;border-width:2px}.wheel.open .wheel-item.vis.sel{scale:1.12}.wheel-item.dim svg{opacity:.5}.wheel-item.fit:after{content:"";background:var(--wheel-alt);border:2px solid var(--wheel-card);border-radius:50%;width:13px;height:13px;position:absolute;top:-2px;right:-2px}.wheel-qty{min-width:18px;padding:0 var(--sp-1);background:var(--ink-color);color:var(--paper-bright);font:700 var(--fs-xs)/16px system-ui, sans-serif;text-align:center;border-radius:9px;position:absolute;bottom:-4px;right:-6px}.wheel-pick,.wheel-name{white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;transform:translate(-100%,-50%)}.wheel-pick{flex-direction:column;align-items:flex-end;gap:3px;width:max-content;display:flex;transform:translate(-100%,-100%)}.wheel.open .wheel-pick{opacity:1}.wheel-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-color);background:var(--wheel-card);padding:2px var(--sp-3);border-radius:var(--r-pill);box-shadow:0 1px 4px rgb(var(--dim-rgb) / .15);font:700 10px system-ui,sans-serif}.wheel-cat:empty{display:none}.wheel-pickname{box-sizing:border-box;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;white-space:normal;text-align:right;background:var(--ink-color);max-width:min(190px,100vw - 217px);color:var(--c-paper);box-shadow:0 2px 8px rgb(var(--dim-rgb) / .2);border-radius:8px;padding:5px 11px;font:650 16px/1.2 system-ui,sans-serif}.wheel-pickname:empty{display:none}.wheel-name{font:600 var(--fs-l) system-ui, sans-serif;background:var(--ink-color);color:var(--c-paper);border-radius:6px;padding:3px 9px}.wheel-name.on{opacity:1}.action-alt.by-wheel{right:calc(52px - 32px + var(--safe-r));bottom:calc(52px + 88px + var(--safe-b));min-width:0;max-width:calc(100vw - 40px - var(--safe-l,0px) - var(--safe-r));gap:var(--sp-2);height:44px;padding:0 14px 0 var(--sp-3);border-radius:var(--r-pill);background:var(--cream-solid);box-shadow:0 3px 10px rgb(var(--dim-rgb) / .2);color:var(--ink-color);font:650 var(--fs-m)/1.1 system-ui, sans-serif;white-space:nowrap;border:2px solid #a07c32;flex-direction:row}.action-alt.by-wheel>span{text-overflow:ellipsis;overflow:hidden}.action-alt.by-wheel:active{box-shadow:0 1px 5px rgb(var(--dim-rgb) / .2);transform:scale(.95)}.action-alt.by-wheel:focus-visible,.wheel.ride .ride-dial:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.wheel.ride .ride-dial{pointer-events:auto;cursor:pointer;animation:.22s ease-out pop-in;position:absolute;top:-40px;left:-40px}.wheel.ride .ride-dial:active{scale:.95}.wheel.ride .ride-dial.muted{filter:saturate(.35)}.wheel.ride .wheel-ctx{top:38px;left:0}html.wheel-active .toasts{translate:0 calc(-1 * var(--wheel-lift,0px));transition:translate .18s}.wheel-ctx{white-space:nowrap;pointer-events:none;z-index:2;font:650 var(--fs-s)/16px system-ui, sans-serif;color:var(--ink-color);background:var(--wheel-card);border:1px solid var(--wheel-line);padding:1px var(--sp-3);box-sizing:border-box;text-overflow:ellipsis;border-radius:var(--r-pill);max-width:92px;box-shadow:0 1px 5px rgb(var(--dim-rgb) / .18);opacity:0;transition:opacity .15s;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.wheel-ctx.on{opacity:1}.wheel.open .wheel-ctx{opacity:0}.wheel-held{z-index:3;pointer-events:none;background:var(--wheel-card);border:2px solid var(--wheel-line);width:28px;height:28px;box-shadow:0 1px 4px rgb(var(--dim-rgb) / .2);border-radius:50%;place-items:center;display:grid;position:absolute;top:-42px;left:10px}.wheel-arcdeco path{fill:none}.wheel-arcdeco{opacity:0;transition:opacity .18s}.wheel.open .wheel-arcdeco{opacity:1}.wheel .wheel-arcbg{fill:#f0e0b2eb;stroke:#7d5f22;stroke-width:1.2px}.wheel .d-line{stroke:#8a6a24;stroke-width:.8px;stroke-opacity:.7}.wheel .wheel-arcdeco .d-tick{stroke:#6e531c;stroke-opacity:.55}.wheel .wheel-arcdeco .d-major{stroke-opacity:.8}.wheel .wheel-item{background:radial-gradient(circle at 35% 30%,#fdf5de,#e9d39c);border:1.5px solid #8a6a24;box-shadow:inset 0 0 0 2px #fffaebbf,inset 0 0 0 3px #8a6a2466}.wheel .r-band{stroke:#dcc07e;stroke-opacity:.94}.wheel .r-edge{stroke:#7d5f22;stroke-width:1.2px}.wheel .r-in{stroke-width:.7px;stroke-opacity:.6}.wheel .r-tick{stroke:#5e4614;stroke-width:.8px;stroke-linecap:round;opacity:.65}.wheel .r-major{stroke-width:1.6px;opacity:.95}.wheel .r-mark{fill:#5e4614}.wheel .wheel-dial{box-shadow:0 3px 10px rgb(var(--dim-rgb) / .2);background:radial-gradient(circle at 35% 30%,#fffdf6,#efe4c8);border:3px solid #a07c32}.wheel.desk{right:calc(72px + var(--safe-r));bottom:calc(106px + var(--safe-b));scale:1.35}@media (pointer:fine) and (min-width:1024px){.action-alt.by-wheel{right:calc(72px - 43px + var(--safe-r));bottom:calc(106px + 119px + var(--safe-b))}}.wheel-mouse{pointer-events:none;animation:.18s ease-out wheel-mouse-in;position:absolute;transform:translate(-100%,-50%)}.wheel-mouse-svg{filter:drop-shadow(0 1px 2px rgb(var(--marine-deep-rgb) / .35));display:block}@keyframes wheel-mouse-in{0%{opacity:0}}.wheel-desktip{align-items:center;gap:var(--sp-2);width:max-content;max-width:220px;padding:5px var(--sp-1) 5px var(--sp-3);background:var(--c-paper,var(--cream-solid));color:var(--ink-color,#2b2a33);box-shadow:0 2px 8px rgb(var(--marine-deep-rgb) / .28);font:600 var(--fs-s)/1.3 var(--f-game,system-ui, sans-serif);pointer-events:none;border-radius:6px;display:flex;position:absolute;transform:translate(-100%,-100%)}.wheel-desktip .wheel-mouse-svg{flex:none;width:15px;height:18px}.wheel-desktip-x{pointer-events:auto;width:22px;height:22px;color:inherit;font:600 var(--fs-l)/1 system-ui, sans-serif;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0}.wheel-desktip-x:hover,.wheel-desktip-x:focus-visible{background:rgb(var(--dim-rgb) / .08)}@media (prefers-reduced-motion:reduce){html.wheel-active .toasts,.wheel-item,.wheel-dial,.wheel-pick,.wheel-name,.wheel-ctx,.wheel-arcdeco,.wheel-arcbg{transition:none}.wheel-mouse,:is(.wheel-dial.fx-shake,.wheel-dial.fx-pulse,.wheel:has(.wheel-dial.fx-shake) :is(.wheel-badge,.wheel-held),.wheel:has(.wheel-dial.fx-pulse) :is(.wheel-badge,.wheel-held)){animation:none}.wheel-dial.fx-warm{animation:.9s ease-out wheel-warm-still}}.action-btn[data-action=strike]{box-shadow:0 6px 0 #e7a35a, 0 0 0 5px rgb(var(--glow-rgb) / .45), 0 0 24px rgb(var(--glow-rgb) / .7), var(--shadow-card);animation:.9s ease-out fish-strike-glow}@keyframes fish-strike-glow{15%{scale:1.08}}@media (prefers-reduced-motion:reduce){.action-btn[data-action=strike]{animation:none}}.reel,.reel-around{pointer-events:none;--reel-line:#5ec3b7;--reel-tension:#e2b75a;--reel-ok:#6fbf63;--reel-sing:var(--post-red);--reel-brass:var(--c-brass);width:0;height:0;position:absolute}.reel-around{z-index:3;position:fixed}.reel-svg{pointer-events:none;position:absolute;overflow:visible}.reel-svg path,.reel-svg circle,.reel-svg line{fill:none;stroke-linecap:round;stroke-linejoin:round}.reel-track{stroke:rgb(var(--cream-rgb) / .72);stroke-width:7px}.reel-track.thin{stroke-width:5px}.reel-line{stroke:var(--reel-line);stroke-width:5px;transition:d 80ms linear}.reel-goal{stroke:var(--cream-solid);stroke-width:2px;fill:var(--reel-brass)!important}.reel-svg .reel-fish{fill:var(--reel-line);stroke:var(--ink-color);stroke-width:1.3px}.reel-zone{stroke-width:6px;opacity:.65}.reel-zone.ok{stroke:var(--reel-ok)}.reel-zone.hot{stroke:var(--reel-sing);stroke-dasharray:.5 7}.reel-tension{stroke:var(--reel-ok);stroke-width:3.5px}.reel-svg .reel-needle{fill:var(--cream-solid);stroke:var(--ink-color);stroke-width:2px}.reel-gauge.sing .reel-tension{stroke:var(--reel-sing);animation:.34s ease-in-out infinite alternate reel-sing}.reel-gauge.sing .reel-needle{stroke:var(--reel-sing)}.reel-gauge.tip-reel .reel-line,.reel-gauge.tip-reel .reel-track,.reel-gauge.tip-tension .reel-zone.ok,.reel-gauge.tip-pull .reel-zone.hot{animation:.42s ease-in-out 8 alternate reel-tip}@keyframes reel-tip{to{stroke-width:10px;opacity:1}}.reel.let .reel-label,.reel-letgo{background:var(--reel-sing);border-color:var(--cream-solid);color:var(--cream-solid)}.reel-letgo{white-space:nowrap;font:650 var(--fs-s)/16px system-ui, sans-serif;padding:1px var(--sp-3);border:1px solid var(--cream-solid);border-radius:8px;position:absolute;transform:translate(-50%,-50%)}@keyframes reel-sing{to{stroke-width:5.5px;opacity:.7}}.reel-rim{stroke:var(--cream);stroke-width:12px;filter:drop-shadow(0 2px 3px rgb(var(--dim-rgb) / .22))}.reel-teeth{stroke:var(--reel-brass);stroke-width:2.2px}.reel-pawl{stroke:var(--ink-color);stroke-width:4px}.reel-arm{stroke:var(--reel-brass);stroke-width:5px}.reel-knob{stroke:var(--reel-brass);stroke-width:3px;fill:var(--cream-solid)!important}.reel.ph-warn .reel-pawl{animation:.12s ease-in-out infinite alternate reel-nod}.reel.ph-pull .reel-knob{stroke:var(--reel-sing)}@keyframes reel-nod{to{translate:-2px -2px}}.reel-hit{pointer-events:auto;touch-action:none;border-radius:50%;place-items:center;display:grid;position:absolute}.reel.auto .reel-hit{pointer-events:none}.reel-dial{cursor:grab}.reel-label{opacity:1}@media (prefers-reduced-motion:reduce){.reel-gauge.sing .reel-tension,.reel-gauge[class*=tip-] *,.reel.ph-warn .reel-pawl{animation:none}}.fish-card-backdrop{pointer-events:auto;background:linear-gradient(#281e1400 35%,#281e1442);flex-direction:column;justify-content:flex-end;align-items:center;animation:.25s ease-out toast-in;display:flex;position:absolute;inset:0}#ui:has(.fish-card-backdrop) :is(.top-right,.action-btn,.wheel-dial,.bottom-left){visibility:hidden}.fish-card-dock{padding:0 16px max(16px, var(--safe-b));--fish-card-art:min(132px, calc(var(--app-h) * .17))}@media (orientation:landscape) and (max-height:520px){.fish-card-backdrop{background:linear-gradient(90deg,#281e1400 40%,#281e1442);flex-direction:row;justify-content:flex-end;align-items:center}.fish-card-dock{padding:max(12px, var(--safe-t)) max(16px, calc(var(--safe-r) + 12px)) max(12px, var(--safe-b)) 0;--fish-card-art:min(132px, calc(var(--app-h) * .26));align-self:stretch;align-items:center;display:flex}}.fish-card{background:var(--cream-solid);width:min(300px,100vw - 48px);box-shadow:var(--shadow-float);text-align:center;border-radius:28px;padding:18px 18px 16px;animation:.42s cubic-bezier(.2,1.4,.4,1) fish-card-in;position:relative}.fish-card-title{font-size:var(--fs-base);letter-spacing:.04em;opacity:.65;text-transform:uppercase}.fish-card-art{margin:var(--sp-2) auto 2px;animation:1.6s ease-in-out infinite fish-wiggle}.fish-card-name{font-size:24px}.fish-card-size{font-size:var(--fs-l);opacity:.75;margin-top:2px}.fish-card-ok{min-width:min(var(--btn-card-min), 100%);min-height:var(--tap-big);font-size:var(--fs-xl);margin-top:14px}.fish-badge{padding:5px var(--sp-5);font-size:var(--fs-base);box-shadow:0 3px 8px rgb(var(--shade-rgb) / .25);border-radius:12px;position:absolute;top:12px;right:-8px;transform:rotate(8deg)}.fish-card.rarity-rare{box-shadow:0 0 0 4px #bfe3ff, var(--shadow-float)}.fish-card.rarity-legendary{box-shadow:0 0 0 4px #ffd166, 0 0 40px #ffd166b3, var(--shadow-float)}.fish-book-count{font-size:var(--fs-base);opacity:.6;margin-left:var(--sp-1)}.fish-book-hint{margin:-4px 0 var(--sp-4);font-size:var(--fs-m);opacity:.7}.fish-grid{gap:var(--sp-3);padding-bottom:var(--sp-1);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));display:grid}.fish-entry{padding:var(--sp-3) var(--sp-1) var(--sp-2);border-radius:var(--r-l);background:var(--row);box-shadow:var(--shadow-press);text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.fish-entry.unknown{background:rgb(var(--ink-rgb) / .05);box-shadow:none}.fish-entry-name{font-size:var(--fs-s);line-height:1.15}.fish-entry.unknown .fish-entry-name{opacity:.45}.fish-entry-meta{font-size:var(--fs-xs);opacity:.65}.fish-art.unknown{filter:grayscale()sepia(.35)contrast(.7);opacity:.4}@keyframes fish-card-in{0%{opacity:0;transform:scale(.6)translateY(30px)}to{opacity:1;transform:none}}@keyframes fish-wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-3px)}}.toolbar{gap:var(--sp-2);background:rgb(var(--cream-rgb) / .62);box-shadow:0 2px 12px rgb(var(--shade-rgb) / .14);-webkit-backdrop-filter:blur(6px);pointer-events:auto;border-radius:18px;flex-wrap:wrap;max-width:100%;padding:5px;display:flex}.tool-slot{border-radius:var(--r-m);background:var(--cream);border:0;place-items:center;width:46px;height:46px;padding:0;transition:transform .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative}.tool-slot.on{background:linear-gradient(180deg, var(--btn-paper-top), var(--btn-paper-on));box-shadow:0 0 0 2.5px var(--sel), 0 3px 0 var(--btn-paper-edge);transform:translateY(-3px)}.tool-slot:active{transform:scale(.94)}.tool-key{opacity:.55;font-size:10px;position:absolute;top:2px;left:5px}.tool-pips{gap:2px;display:flex;position:absolute;bottom:3px;right:4px}.tool-pips>i{background:var(--accent);border-radius:50%;width:4px;height:4px}@media (orientation:portrait) and (max-width:520px){.toolbar{gap:var(--sp-1);padding:var(--sp-1);flex-wrap:nowrap}.tool-slot{border-radius:12px;width:40px;height:40px}.tool-slot[data-tool=hand]{display:none}}@media (min-width:700px) and (min-height:521px){.toolbar{left:50%;top:calc(var(--app-h) - 22px - var(--safe-b));gap:var(--sp-3);padding:var(--sp-2);flex-wrap:nowrap;position:fixed;bottom:auto;transform:translate(-50%,-100%)}.tool-slot{width:54px;height:54px}.tool-key{font-size:var(--fs-xs)}}.seed-ring{z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;width:0;height:0;position:fixed}.seed-ring-band{pointer-events:none;filter:drop-shadow(0 3px 6px rgb(var(--shade-rgb) / .28));position:absolute;top:0;left:0;overflow:visible;transform:translate(-50%,-50%)}.seed-ring-wood{fill:var(--c-wood);stroke:var(--c-wood-dark);stroke-width:1.5px;pointer-events:visiblePainted;cursor:grab}.seed-ring-rim{fill:var(--c-brass);opacity:.95}.seed-ring-rivet{fill:var(--c-brass-light);stroke:var(--c-brass-dark);stroke-width:.8px}.seed-slot{border:3px solid var(--c-brass);background:radial-gradient(circle at 50% 35%, var(--c-paper), var(--c-paper-shade));width:50px;height:50px;box-shadow:0 2px 0 var(--c-brass-dark), 0 3px 8px rgb(var(--shade-rgb) / .25);color:var(--ink-color);cursor:pointer;will-change:transform;border-radius:50%;place-items:center;padding:0;transition:box-shadow .15s;display:grid;position:absolute;top:0;left:0}.seed-slot.on{border-color:var(--c-brass-light);box-shadow:0 0 0 3px #e2bd6e8c, 0 2px 0 var(--c-brass-dark), 0 4px 10px rgb(var(--shade-rgb) / .3)}.seed-slot.off>:first-child{filter:grayscale();opacity:.5}.seed-slot:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.seed-slot-qty{min-width:20px;height:20px;padding:0 var(--sp-1);border-radius:var(--r-s);background:var(--brass);color:var(--c-paper);font-size:var(--fs-s);text-align:center;box-shadow:0 1px 2px rgb(var(--marine-deep-rgb) / .3);font-weight:700;line-height:20px;position:absolute;bottom:-5px;right:-6px}@media (prefers-reduced-motion:reduce){.seed-slot{transition:none}}.gb-head{align-items:baseline;gap:var(--sp-4);display:flex}.gb-count{font-family:var(--font-serif);font-size:var(--fs-l);color:var(--ink-green);white-space:nowrap;font-weight:700}.gb-island{margin:0 0 var(--sp-1);font-size:var(--fs-xl);color:var(--ink-green);line-height:1.15}.gb-intro{margin:2px 0 var(--sp-3);font-size:var(--fs-xl);color:var(--ink-blue);line-height:1.2}.gb-group-title{margin:var(--sp-3) 0 3px;font-family:var(--font-serif);font-size:var(--fs-s);letter-spacing:1.5px;text-transform:uppercase;color:#6b4a2bb3;font-weight:700}.gb-tiles{margin:var(--sp-3) 30px var(--sp-5) 0;gap:var(--sp-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.book.spread .gb-tiles{gap:var(--sp-1) var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.gb-pick{width:var(--tap);height:var(--tap);background:rgb(var(--gloss-rgb) / .45);box-shadow:var(--shadow-slot);color:var(--ink-book);border:0;border-radius:12px;justify-content:center;align-items:center;padding:0;display:flex}.book.spread .gb-pick{justify-content:flex-start;gap:var(--sp-2);width:100%;height:var(--tap);padding:0 var(--sp-3);text-align:left}.gb-pick.on{background:var(--marker);box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .35)}.gb-pick-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:18px;line-height:1.05;overflow:hidden}.gb-tile.blank{width:var(--tap);height:var(--tap);justify-content:center;align-items:center;display:flex}.book.spread .gb-tile.blank{justify-content:flex-start;gap:var(--sp-3);width:auto;height:var(--tap);padding:0 var(--sp-3)}.gb-blank-dot{border:1.5px dashed #3c5a8638;border-radius:50%;flex:none;width:22px;height:22px}.gb-blank-line{flex:1}.gb-sheet{margin-right:30px}.book.spread .gb-sheet{margin-right:0}.gb-sheet-head{align-items:center;gap:var(--sp-4);display:flex}.gb-stamp{margin:0}.gb-note{margin:var(--sp-3) 0 var(--sp-4);color:var(--ink-blue);font-size:19px;line-height:1.22}.gb-facts{padding:var(--sp-3) 0 0;border-top:1.5px dashed rgb(var(--book-line-rgb) / .22);gap:var(--sp-1);font-size:var(--fs-m);color:var(--ink-book);flex-direction:column;margin:0;line-height:1.3;list-style:none;display:flex}.gb-facts .icon{vertical-align:-3px}.gb-fact-label{font-weight:700}.gb-season{white-space:nowrap;align-items:center;gap:2px;margin-right:7px;display:inline-flex}.gb-main{color:#6b4a2bbf}@media (max-height:460px){.book.spread .gb-pick,.book.spread .gb-tile.blank{height:38px}.book.spread .gb-tiles{row-gap:var(--sp-2)}.book.spread .gb-pick{position:relative}.book.spread .gb-pick:before{content:"";position:absolute;inset:-3px 0}.gb-intro{font-size:16px}.gb-group-title{margin-top:var(--sp-2)}.gb-note{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-xl);line-height:1.18}.gb-facts{font-size:var(--fs-m);gap:2px}}.cl-books{gap:var(--sp-2);margin:0 30px var(--sp-3) 0;display:flex}.book.spread .cl-books{margin-right:0}.cl-book{min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-s);background:rgb(var(--gloss-rgb) / .4);box-shadow:var(--shadow-slot);font-family:var(--font-serif);font-size:var(--fs-base);color:var(--ink-book);border:0;align-items:center;gap:5px;font-weight:700;display:inline-flex}.cl-book.on{background:var(--marker);box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .4)}.cl-book:focus-visible,.cl-tiles .gb-pick:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.cl-sketch{filter:grayscale()sepia(.35)contrast(.7);opacity:.4}.cl-tiles .cl-unfound .gb-pick{background:0 0;box-shadow:inset 0 0 0 1.5px #3c5a862e}.cl-tiles .cl-unfound .gb-pick.on{background:var(--marker)}.cl-tiles .cl-unfound .gb-pick-name{color:#6b4a2b80}.cl-tiles .fish-art{flex:none}.cl-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cl-sheet.sketch .gb-stamp{opacity:.4}.cl-sheet .gb-sheet-head .fish-art,.cl-sheet .gb-sheet-head .icon{flex:none}.cl-gift-later{font-size:var(--fs-xl);color:var(--ink-blue);line-height:1.2}.guide-btn{pointer-events:auto;color:var(--ink)}.guide-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.guide-chip{align-items:center;gap:var(--sp-2);max-width:min(300px,62vw);padding:var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-3);border-radius:var(--r-m);background:var(--cream-solid);box-shadow:0 0 0 2px #ffd6788c, 0 3px 10px rgb(var(--shade-rgb) / .2);font-size:var(--fs-m);opacity:0;will-change:transform;font-weight:650;line-height:1.25;transition:opacity .35s;display:flex;position:absolute;top:0;left:0}.guide-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.guide-layer[data-mode=at] .guide-chip,.guide-layer[data-mode=edge] .guide-chip,.guide-layer[data-mode=edge\ soft] .guide-chip{opacity:1}.guide-arrow{width:22px;height:22px;box-shadow:0 0 0 2px rgb(var(--gloss-rgb) / .85);background:#ffd67a;border-radius:50%;flex:none;place-items:center;display:none}.guide-arrow svg{fill:#5a4636}.guide-layer[data-mode^=edge] .guide-arrow{display:grid}.guide-layer[data-side^=r] .guide-chip{padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5);flex-direction:row-reverse}.guide-layer[data-mode=edge\ soft] .guide-chip{box-shadow:none;opacity:.85;background:0 0;padding:0}.guide-layer[data-mode=edge\ soft] .guide-arrow{width:28px;height:28px}.guide-layer[data-mode=edge\ soft] .guide-text{display:none}@media (prefers-reduced-motion:reduce){.guide-chip{transition:none}}.town-map .tm-guide-halo{fill:#ffd67a59}.town-map .tm-guide-ring{fill:none;stroke:#f2a93b;stroke-width:1.3px;stroke-dasharray:2.2 1.4;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite tm-guide-pulse}.town-map .tm-guide-name{fill:#b46a12;font-size:3.6px;font-weight:800}@keyframes tm-guide-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.town-map .tm-guide-ring{animation:none}}.hand{font-family:var(--font-hand);font-weight:400}.quest-row{pointer-events:none;align-items:stretch;min-width:0;display:flex}.quest-row.behind{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}.quest-line{pointer-events:auto;min-width:0;min-height:var(--tap);padding:var(--sp-2) var(--sp-3) var(--sp-2) 9px;border-radius:var(--r-m);background:var(--cream);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);text-align:left;font-size:var(--fs-m);border:0;flex:auto;align-items:center;gap:7px;line-height:1.2;display:flex}.quest-line.compact{min-height:34px;padding:5px var(--sp-5) 5px 9px;flex:none;animation:.35s ease-out quest-in;position:relative}.quest-line.open{outline:2px solid var(--sel)}.quest-line:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.quest-line.band{min-height:44px;padding:var(--sp-2) 30px var(--sp-2) var(--sp-5);position:relative}.quest-line.band>.icon{display:none}.quest-line.band .quest-line-text{animation:.4s ease-out quest-text-in}@keyframes quest-text-in{0%{opacity:0}to{opacity:1}}.quest-mark{background:var(--brass);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 6px),0 100%);transform-origin:50% 0;pointer-events:none;width:10px;height:calc(100% + 7px);animation:.9s ease-in-out .25s quest-mark-wiggle;position:absolute;top:0;right:11px;box-shadow:inset 0 0 0 1px #7f5a1e59}@keyframes quest-mark-wiggle{0%,to{transform:none}25%{transform:rotate(-9deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-3deg)}}.quest-line.beckon{box-shadow:var(--shadow-card), 0 0 0 2px #c98e5ab3}.quest-line.beckon .quest-mark{animation:2.6s ease-in-out .4s infinite quest-mark-beckon}@keyframes quest-mark-beckon{0%,45%,to{transform:none}12%{transform:rotate(-10deg)translateY(2px)}24%{transform:rotate(8deg)}35%{transform:rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.quest-mark,.quest-line.beckon .quest-mark,.quest-line.band .quest-line-text,.quest-line.compact{animation:none}}.quest-line-text{flex-direction:column;flex:auto;min-width:0;display:flex}.quest-line-mission-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quest-line-main{-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.quest-line-mission{align-items:center;gap:var(--sp-2);min-width:0;margin-bottom:1px;display:flex}.quest-line-mission-name{letter-spacing:.05em;text-transform:uppercase;min-width:0;color:var(--book-line);font-size:10.5px;font-weight:700}.quest-line-title{font-size:var(--fs-m)}.quest-line-sep{opacity:.45}.quest-line-goal{font-size:var(--fs-s);opacity:.85;font-weight:500}.quest-line.compact .quest-line-title{white-space:nowrap}.quest-line-side{justify-content:center;align-items:flex-end;gap:var(--sp-1);flex-direction:column;flex:none;align-self:center;display:flex}.quest-line-progress{padding:2px var(--sp-3);border-radius:var(--r-pill);background:var(--progress-bg);font-size:var(--fs-s);font-variant-numeric:tabular-nums;flex:none}.quest-line-more{font-size:var(--fs-xs);opacity:.6;flex:none}.quest-dots{flex:none;gap:3px;display:inline-flex}.quest-dots i{background:rgb(var(--book-line-rgb) / .25);border-radius:50%;width:6px;height:6px}.quest-dots i.done{background:var(--book-line)}.quest-dots i.now{box-shadow:inset 0 0 0 1.6px var(--accent);background:0 0}@keyframes quest-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hud-top:has(.book){z-index:6}.book-backdrop{z-index:1;padding:calc(14px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));pointer-events:auto;background:rgb(var(--shade-rgb) / .22);justify-content:center;align-items:center;animation:.2s ease-out book-fade;display:flex;position:fixed;inset:0}.book{border-radius:6px var(--r-l) var(--r-l) 6px;background:radial-gradient(120% 90% at 50% 40%, transparent 60%, #b08a521f), var(--paper);width:min(400px,100%);max-height:min(640px,100%);box-shadow:inset 6px 0 0 #c98e5a, inset 9px 0 0 rgb(var(--dim-rgb) / .06), 0 12px 34px rgb(var(--shade-rgb) / .3);color:var(--ink);flex-direction:column;margin-top:18px;animation:.28s cubic-bezier(.2,.9,.3,1.15) book-open;display:flex;position:relative}.book.single{max-height:min(640px,100% - 70px);margin-top:70px}.book:not(.loose){height:min(640px,100%)}.book.single:not(.loose){height:min(640px,100% - 70px)}.book.spread:not(.loose){height:min(540px,100%)}.book.spread{border-radius:var(--r-m);width:min(780px,100%);box-shadow:0 12px 34px rgb(var(--shade-rgb) / .3);background:linear-gradient(90deg, transparent calc(50% - 22px), #78542821 50%, transparent calc(50% + 22px)), radial-gradient(120% 90% at 50% 40%, transparent 60%, #b08a521f), var(--paper)}.book-tabs{align-items:flex-end;gap:var(--sp-1);height:30px;display:flex;position:absolute;top:-26px;left:18px}.book-tab{height:26px;min-width:var(--tap);padding:0 var(--sp-5) var(--sp-1);border-radius:var(--r-s) var(--r-s) 0 0;color:var(--ink);font-size:var(--fs-s);background:#ead6b3;border:0;justify-content:center;align-items:center;gap:5px;transition:height .2s cubic-bezier(.2,.9,.3,1.2),background-color .2s ease-out,box-shadow .2s ease-out;display:inline-flex;box-shadow:inset 0 -4px 6px #7854281f}.book-tab.on{background:var(--paper);height:30px;box-shadow:none}.book-tab.slim{padding:0 var(--sp-4) var(--sp-1)}.book-tab.slim .book-tab-label,.book-tabs.squeeze .book-tab:not(.on) .book-tab-label{display:none}.book-tabs.tight{gap:3px}.book-tabs.tight .book-tab{padding:0 7px var(--sp-1)}.book-page.cookbook .ws-book-row{background:rgb(var(--gloss-rgb) / .55)}.book.spread .book-page.cookbook .ws-book{gap:var(--sp-3) 48px;grid-template-columns:1fr 1fr;align-items:start;display:grid}.book.spread .book-page.cookbook .ws-intro{grid-column:1/-1}.book-pages{flex:auto;min-height:0;display:flex;overflow:auto}.book:not(.loose) .book-pages{animation:.22s ease-out book-turn}.book.spread .book-pages{overflow:hidden}.book-page{flex:1 1 0;min-width:0;padding:16px 20px 18px 24px}.book.spread .book-page{padding:18px 26px 20px;overflow:auto}.book.spread .book-page.left{padding-right:34px}.book.spread .book-page.right{padding-top:26px;padding-left:34px}.book-head{margin-right:44px}.book-title{color:var(--ink-book);margin:0;font-size:26px;line-height:1.15}.book-goal{align-items:center;gap:var(--sp-2);margin:var(--sp-1) 0 var(--sp-5);font-size:var(--fs-m);opacity:.8;font-weight:600;display:flex}.book-steps{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.book-step-row{padding:var(--sp-1) var(--sp-2);align-items:center;gap:9px;display:flex}.book-step-title{font-size:var(--fs-l)}.book-step.done .book-step-title{opacity:.6;text-decoration:line-through;-webkit-text-decoration-color:rgb(var(--ink-rgb) / .55);text-decoration-color:rgb(var(--ink-rgb) / .55);text-decoration-thickness:1.5px}.book-step.current .book-step-title{background:linear-gradient(transparent 55%, var(--marker) 55%, var(--marker) 92%, transparent 92%);margin:0 -3px;padding:0 3px;font-weight:800}.book-step.future{opacity:.45}.book-detail{margin:2px 0 var(--sp-2) 35px}.book.spread .book-detail{margin:var(--sp-3) 0 0}.book-step-head{margin:0;font-size:18px}.book-goals{gap:3px;margin:0;padding:0;list-style:none;display:grid}.book-goals>li:not(.book-mats){font-size:var(--fs-m);align-items:center;gap:7px;font-weight:550;display:flex}.book-goals>li.done .book-goal-text{opacity:.55;text-decoration:line-through}.book-goal-text{flex:1}.book-goal-count{font-variant-numeric:tabular-nums;opacity:.7}.book-mats{margin:1px 0 var(--sp-1) 23px;padding-left:var(--sp-3);border-left:1.5px dashed #7a5b3d59}.book-mats>ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.book-mats{display:block}.book-mat{align-items:center;column-gap:var(--sp-2);font-size:var(--fs-s);grid-template-columns:20px minmax(0,1fr) auto 14px;font-weight:550;display:grid}.book-mat-name{align-items:baseline;column-gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.book-mat-from{font-size:var(--fs-xs);color:var(--ink-blue);font-style:italic;font-weight:500}.origin-mark{align-items:center;gap:var(--sp-1);white-space:nowrap;display:inline-flex}.origin-mark .icon{flex:none}.origin-mark--btn{padding:2px var(--sp-1);border-radius:var(--r-s);min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;margin:-6px -4px}.origin-mark--btn:focus-visible{outline:2px solid var(--sel);outline-offset:1px}.origin-mark--btn.open{background:var(--paper-chip)}.book-mat-count{font-variant-numeric:tabular-nums;justify-self:end;font-weight:700}.book-mat.done{opacity:.55}.book-mat-gap{flex:none;width:14px}.book-mats-all{font-size:var(--fs-l);color:var(--ink-green);margin:2px 0 0}.book-note{margin:var(--sp-3) 0 2px;font-size:var(--fs-l);color:var(--ink-blue);transform-origin:0;line-height:1.3;transform:rotate(-1.2deg)}.book-wait{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 2px;font-size:var(--fs-l);color:var(--ink-blue);display:flex}.book-empty{font-size:var(--fs-xl);color:var(--ink-blue);margin:26px 34px 26px 0}.book-aside{padding-top:var(--sp-4);border-top:1.5px dashed rgb(var(--book-line-rgb) / .35);margin-top:16px}.book-aside h4{margin:0 0 var(--sp-2);color:var(--ink-book);font-size:16px}.book-aside ul{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.quest-item{align-items:center;gap:var(--sp-1) var(--sp-3);width:100%;padding:7px var(--sp-4);background:rgb(var(--gloss-rgb) / .6);text-align:left;font-size:var(--fs-m);border:2px solid #0000;border-radius:12px;flex-wrap:wrap;display:flex}.quest-item strong{flex:1}.quest-item.on{border-color:var(--sel);background:#fff3e2}.quest-tag{padding:1px var(--sp-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;background:#cfe6d5;border-radius:8px}.quest-item-progress{font-variant-numeric:tabular-nums;opacity:.75}.quest-item-state{font-size:var(--fs-xs);opacity:.65}.book-memories{margin:var(--sp-4) 30px 0 0;gap:14px var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(92px,1fr));padding:0;list-style:none;display:grid}.book-memory{width:100%;padding:var(--sp-1);color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;display:flex}.sticker{background:var(--paper-bright);width:64px;height:64px;box-shadow:0 0 0 3px var(--paper-bright), 0 2px 6px rgb(var(--shade-rgb) / .25);transform:rotate(var(--tilt,0deg));border-radius:50%;place-items:center;display:grid}.book-memory-title{font-size:var(--fs-base);text-align:center;line-height:1.15}.aq-pick{margin:var(--sp-3) 30px var(--sp-5) 0;gap:var(--sp-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.book.spread .aq-pick{margin:var(--sp-5) 0 0;gap:var(--sp-1);flex-direction:column}.aq-name{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-1) var(--sp-4) 5px;border-radius:var(--r-s);background:rgb(var(--gloss-rgb) / .45);box-shadow:var(--shadow-slot);color:var(--ink-book);text-align:left;border:0;display:flex}.aq-name.on{background:var(--marker);box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .35)}.aq-name-text{flex:1;font-size:19px;line-height:1.1}.aq-marks{font-family:var(--font-serif);font-size:var(--fs-m);letter-spacing:2px;white-space:nowrap;color:rgb(var(--ink-color-rgb) / .22)}.aq-marks .on{color:var(--c-signal)}.aq-sheet{margin-right:30px}.book.spread .aq-sheet{margin-right:0}.aq-stamp{margin:2px 0 var(--sp-4) var(--sp-1);padding:3px var(--sp-5) 2px;border:2px solid var(--ink-blue);font-family:var(--font-serif);font-size:var(--fs-l);letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);opacity:.78;border-radius:6px;font-weight:700;display:inline-block;rotate:-3deg}.aq-tale{gap:var(--sp-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.aq-entry{padding-bottom:var(--sp-3);border-bottom:1.5px dashed rgb(var(--book-line-rgb) / .22)}.aq-entry:last-child{border-bottom:0}.aq-entry-title{color:var(--ink-book);margin:0;font-size:20px;line-height:1.1}.aq-entry-text{font-size:var(--fs-xl);color:var(--ink-blue);margin:2px 0 0;line-height:1.25}.aq-favorite{gap:var(--sp-4);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1.5px dashed rgb(var(--book-line-rgb) / .22);align-items:flex-start;display:flex}.aq-favorite-day{font-size:var(--fs-base);color:#8a6a48;margin:2px 0 0}.aq-entry.blank{padding-top:var(--sp-4);flex-direction:column;gap:13px;display:flex}.aq-line{border-top:1.5px solid #3c5a8624;height:0;display:block}.aq-line.short{width:55%}.book-favours{margin:var(--sp-4) 30px 0 0;gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));padding:0;list-style:none;display:grid}.book.spread .book-favours{grid-template-columns:1fr;margin-right:0}.book.spread .book-page.right .book-favours{margin-top:32px}.favour{padding:var(--sp-3) var(--sp-5) 9px;background:rgb(var(--gloss-rgb) / .6);box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .22);font-size:var(--fs-m);border-radius:12px;flex-direction:column;gap:3px;display:flex}.favour-head{align-items:center;gap:var(--sp-2);display:flex}.favour-name{color:var(--ink-book);flex:1;font-size:18px}.favour-count{font-variant-numeric:tabular-nums;opacity:.75;font-weight:700}.favour-want,.favour-reward,.favour-where{align-items:center;gap:var(--sp-2);display:flex}.favour-want{font-weight:650}.favour-reward,.favour-where{font-size:var(--fs-s);opacity:.85;font-weight:500}.favour-where{color:var(--ink-blue)}.favour-why{font-size:var(--fs-s);opacity:.8;font-style:italic;line-height:1.3}.tick{flex:none}.tick-box{fill:rgb(var(--gloss-rgb) / .6);stroke:#7a5b3d;stroke-width:1.6px;stroke-linejoin:round}.tick-mark{fill:none;stroke:var(--ink-green);stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}@keyframes book-fade{0%{opacity:0}}@keyframes book-turn{0%{opacity:0;transform:translate(8px)}}@keyframes book-open{0%{opacity:0;transform:translateY(16px)scale(.97)}}.book.loose{max-height:min(640px,100% - 12px);box-shadow:inset 0 0 0 1px var(--paper-edge), 0 12px 34px rgb(var(--shade-rgb) / .3);border-radius:4px;margin-top:0;rotate:-.6deg}.book.loose.spread{background:radial-gradient(120% 90% at 50% 40%, transparent 60%, #b08a5224), var(--paper)}.marit-map-sub{font-weight:500}.marit-map-sketch{width:100%;height:auto;min-height:140px;max-height:min(calc(var(--app-h) * .38), 300px);margin:2px 0 var(--sp-4);flex:none;display:block}.book.spread .marit-map-sketch{height:calc(100% - 70px);min-height:180px;max-height:none}.marit-map-land{fill:#e8d3a2;stroke:#6b5434;stroke-width:.38px;stroke-linejoin:round}.marit-map-land.echo{fill:none;stroke:#6b543459;stroke-width:.22px}.marit-map-water{fill:#a9c3d6;stroke:#466280b3;stroke-width:.2px;stroke-linejoin:round}.marit-map-wave,.marit-map-trail,.marit-map-mark path{fill:none;stroke:#6b5434;stroke-width:.35px;stroke-linecap:round;stroke-linejoin:round}.marit-map-trail{stroke:var(--ink-blue);stroke-dasharray:.9 .9}.marit-map-mark path:first-child{fill:var(--paper)}.marit-map-mark.home path:first-child{fill:#f2c07a}.marit-map-mark .cross{stroke:#c9614f;stroke-width:.55px}.marit-map-label{font-family:var(--font-hand);fill:var(--ink-blue)}.marit-map-notes .marit-map-note{margin:0 0 var(--sp-1) 35px;font-size:var(--fs-m)}.marit-map-notes .book-step.future .marit-map-note{opacity:.85}.marit-map-then{margin:var(--sp-2) 0 0 var(--sp-2);font-size:var(--fs-m);color:var(--ink-blue);display:block}.book-map-btn{align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-5);min-height:var(--tap);border:1.5px solid rgb(var(--book-line-rgb) / .45);background:var(--map-paper);color:var(--ink-book);font-size:var(--fs-m);border-radius:18px;font-weight:600;display:inline-flex}.book-map-btn.compact{width:var(--tap);min-height:var(--tap);border-radius:12px;flex:none;justify-content:center;margin:0;padding:0}.book-aside li{align-items:stretch;gap:var(--sp-2);display:flex}.book-aside li .quest-item{flex:1;width:auto}.book-map-notes{justify-items:start;gap:var(--sp-2);display:grid}.book-map-back{padding:var(--sp-2) var(--sp-5);min-height:var(--tap);border:1.5px solid rgb(var(--book-line-rgb) / .45);background:rgb(var(--gloss-rgb) / .6);color:var(--ink-book);font-size:var(--fs-m);border-radius:18px}.marit-map-me circle{fill:var(--ink-blue);stroke:var(--paper);stroke-width:.3px}.marit-map-goal .halo{fill:#f2c07a73}.marit-map-goal .ring{fill:none;stroke:#d99a2b}.marit-map-label.goal{fill:#8a5a1c;paint-order:stroke;stroke:var(--paper);stroke-width:.35px;font-weight:700}.mc-backdrop{z-index:8;padding:calc(12px + var(--safe-t)) calc(14px + var(--safe-r)) calc(12px + var(--safe-b)) calc(14px + var(--safe-l));background:rgb(var(--shade-rgb) / .26);pointer-events:auto;justify-content:center;align-items:center;animation:.25s ease-out book-fade;display:flex;position:fixed;inset:0}.mc-page{gap:var(--sp-4);border-radius:var(--r-l);background:radial-gradient(120% 90% at 50% 30%, transparent 55%, #b08a5224), var(--paper);width:min(360px,100%);max-height:100%;box-shadow:0 12px 36px rgb(var(--shade-rgb) / .32);text-align:center;flex-direction:column;padding:18px 20px 14px;animation:.32s cubic-bezier(.2,.9,.3,1.2) book-open;display:flex;position:relative;overflow:auto}.mc-page.finale{width:min(420px,100%);padding-top:22px}.mc-story,.mc-side{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.mc-side{gap:var(--sp-4)}.mc-kicker{font-size:var(--fs-xl);color:var(--ink-blue);margin:0}.mc-sticker{background:var(--paper-bright);width:76px;height:76px;box-shadow:0 0 0 4px var(--paper-bright), 0 3px 10px rgb(var(--shade-rgb) / .28);border-radius:50%;place-items:center;animation:.55s cubic-bezier(.2,1.4,.4,1) .15s both mc-stick;display:grid}.finale .mc-sticker{width:92px;height:92px}.mc-sticker-wrap{place-items:center;display:grid;position:relative}.mc-sticker{position:relative}.finale .mc-sticker-wrap:before{content:"";background:repeating-conic-gradient(#ffce6e61 0deg 10deg,#0000 10deg 30deg);border-radius:50%;animation:24s linear infinite mc-rays;position:absolute;inset:-26px;-webkit-mask-image:radial-gradient(circle,#000 45%,#0000 72%);mask-image:radial-gradient(circle,#000 45%,#0000 72%)}@keyframes mc-rays{to{transform:rotate(1turn)}}.mc-title{margin:var(--sp-1) 0 0;font-size:22px;line-height:1.15}.finale .mc-title{font-size:25px}.mc-done{color:var(--ink-green);margin:-2px 0 0;font-size:22px;position:relative;transform:rotate(-3deg)}.mc-outro{max-width:30ch;font-size:var(--fs-base);margin:2px 0 0;font-weight:500;line-height:1.35}.mc-steps{justify-content:center;gap:var(--sp-3);margin:var(--sp-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.mc-steps li{border-radius:var(--r-s);background:rgb(var(--gloss-rgb) / .7);width:36px;height:36px;box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .3);place-items:center;display:grid;position:relative}.mc-steps .tick{position:absolute;bottom:-5px;right:-5px}.mc-steps .tick-mark{stroke-dashoffset:1px;animation:mc-draw .35s calc(.5s + var(--i,0) * .14s) ease-out forwards}.mc-label{margin:0 0 var(--sp-1);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--book-line);font-weight:800}.mc-reward,.mc-next{width:100%}.mc-gifts{justify-content:center;gap:var(--sp-2) 14px;flex-wrap:wrap;display:flex}.mc-gift{align-items:center;gap:var(--sp-2);font-size:var(--fs-m);display:inline-flex}.mc-mini-sticker{background:var(--paper-bright);width:28px;height:28px;box-shadow:0 1px 3px rgb(var(--shade-rgb) / .25);border-radius:50%;place-items:center;display:grid}.mc-next{padding-top:var(--sp-3);border-top:1.5px dashed rgb(var(--book-line-rgb) / .35)}.mc-next-title{color:var(--ink-book);margin:0;font-size:19px}.mc-next-hook{justify-content:center;align-items:center;gap:var(--sp-2);margin:var(--sp-1) 0 0;font-size:var(--fs-m);opacity:.85;font-weight:500;display:flex}.mc-actions{justify-content:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:2px;display:flex}.mc-go,.mc-way{min-height:var(--tap);padding:var(--sp-3) 20px;font-size:var(--fs-l)}.mc-go{min-width:min(var(--btn-card-min), 100%)}.mc-way{align-items:center;gap:var(--sp-2);display:inline-flex}@keyframes mc-stick{0%{opacity:0;transform:scale(.4)rotate(-18deg)}to{opacity:1;transform:rotate(-4deg)}}@keyframes mc-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.mc-sticker,.finale .mc-sticker-wrap:before,.mc-page,.book,.book .book-pages{animation:none}.book-tab{transition:none}.mc-steps .tick-mark{stroke-dashoffset:0;animation:none}}@media (orientation:landscape) and (min-height:521px){.book-backdrop{padding-top:calc(var(--top-bar-h) + 26px)}.book,.book.single{margin-top:0}.book.single{max-height:min(640px,100%)}}@media (orientation:landscape) and (max-height:520px){.quest-line.band{min-height:var(--tap);padding:var(--sp-1) 28px var(--sp-1) var(--sp-4)}.book-backdrop{padding-top:calc(var(--top-bar-h) + 26px);padding-bottom:calc(10px + var(--safe-b));align-items:flex-end}.book{margin-top:0}.mc-backdrop{padding-top:var(--top-bar-h)}.book-title{font-size:22px}.book.spread .book-page{padding:var(--sp-5) 22px 14px}.book.spread .book-page.right{padding-top:20px}}@media (orientation:landscape) and (max-height:520px) and (max-width:719px){.quest-line{gap:5px}.quest-line-side,.quest-line-mission{display:none}.quest-line-main{-webkit-line-clamp:3;line-clamp:3;-webkit-hyphens:auto;hyphens:auto;line-height:1.15}.quest-line-title{font-size:var(--fs-m)}.quest-line-goal{font-size:var(--fs-s)}}@media (orientation:landscape) and (max-height:520px){.mc-page,.mc-page.finale{width:min(660px,100%);padding:var(--sp-5) 18px;flex-direction:row;align-items:center;gap:18px}.mc-story,.mc-side{flex:1 1 0;min-width:0}.mc-sticker,.finale .mc-sticker{width:52px;height:52px}.mc-sticker .icon{width:38px;height:38px}.mc-story{gap:3px}.mc-title,.finale .mc-title,.mc-done{font-size:19px}.mc-kicker{font-size:var(--fs-l)}.mc-outro{font-size:var(--fs-m)}.mc-steps li{width:32px;height:32px}.mc-go,.mc-way{min-height:var(--tap);padding:var(--sp-2) 16px}}@media (max-width:340px){.quest-line-sep,.quest-line-goal{display:none}}.dev-quests{border-collapse:collapse;width:100%;font-size:var(--fs-s)}.dev-quests td{padding:3px var(--sp-1);border-bottom:1px solid rgb(var(--ink-rgb) / .1);white-space:nowrap}.dev-quests td:first-child{white-space:normal}.dev-quests tr.on{background:#fff3e2}.dev-quests button{min-width:var(--tap);min-height:var(--tap);background:#e9e0cf;border:0;border-radius:8px}.book-side-task .side-task-title{margin:0 0 var(--sp-1);color:var(--ink-book);font-size:18px}.book-side-task .side-task-steps{margin:0 0 var(--sp-2);font-size:var(--fs-l);gap:3px;padding:0;list-style:none;display:grid}.book-side-task .side-task-steps li{align-items:center;gap:var(--sp-2);display:flex}.book-side-task .side-task-steps li.done{opacity:.6;text-decoration:line-through}.book-side-task .side-task-steps li.future{opacity:.55}.book-side-task .side-task-steps li.current{font-weight:600}.book-side-task .side-task-count{color:var(--ink-blue)}.book-side-task .side-task-step,.book-side-task .side-task-where,.book-side-task .side-task-reward{align-items:center;gap:var(--sp-2);font-size:var(--fs-base);color:var(--ink-blue);margin:3px 0;display:flex}.book-side-task .side-task-drop{margin-top:var(--sp-2);min-height:var(--tap);padding:var(--sp-1) 14px;border:1.5px solid rgb(var(--book-line-rgb) / .5);border-radius:var(--r-pill);background:rgb(var(--cream-rgb) / .7);color:var(--ink-book);font:inherit;font-size:var(--fs-base);cursor:pointer}.book-side-task .side-task-drop:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.book-side-task .side-task-drop-hint{margin:var(--sp-3) 0 0;font-size:var(--fs-m);color:var(--ink-blue);opacity:.85}.book-side-task .side-task-drop.sure{color:#8a3f1c;background:#fbe9d8;border-color:#b5643c}.book-dot{background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 2px var(--cream), 0 1px 2px #78502859;pointer-events:none;border-radius:50%;position:absolute;top:-3px;left:-3px}.book-dot.tab{width:8px;height:8px;top:2px;left:auto;right:3px}.book-tab{position:relative}.band-builder>.band-suggest-fig{flex:none;padding-right:9px;display:inline-flex;position:relative;overflow:visible}.band-suggest-fig .band-suggest-bubble{color:var(--ink-blue);position:absolute;top:-5px;right:-1px}:root{--stamp-ink:#1f2b3d}.ink-stamp{color:var(--stamp-ink);transform:translate(var(--dx,0), var(--dy,0)) rotate(var(--rot,0deg));display:block;overflow:visible}.ink-stamp .ring{stroke:currentColor}.ink-stamp text{fill:currentColor;font-family:var(--font-serif);letter-spacing:.6px;font-weight:700}.ink-stamp .ring-date{letter-spacing:.4px;font-weight:600}.ink-stamp.got .ink{opacity:.82}.ink-stamp.blank .ink{opacity:.22}.ink-stamp.blank .ring.inner{stroke-dasharray:2.4 2.6}.ink-stamp.addendum{scale:.86}.ink-stamp.fresh{animation:.26s cubic-bezier(.3,.1,.5,1.4) both stamp-fall}@keyframes stamp-fall{0%{opacity:0;transform:translate(var(--dx,0), calc(var(--dy,0) - 6px)) rotate(var(--rot,0deg)) scale(1.3)}55%{opacity:.9;transform:translate(var(--dx,0), calc(var(--dy,0) - 2px)) rotate(var(--rot,0deg)) scale(1.06)}to{opacity:1;transform:translate(var(--dx,0), var(--dy,0)) rotate(var(--rot,0deg)) scale(1)}}@media (prefers-reduced-motion:reduce){.ink-stamp.fresh{animation:none}}.book-ink-stamp{place-items:center;width:56px;height:56px;margin-top:-10px;margin-bottom:-12px;margin-left:auto;display:inline-grid}.stamp-page{position:relative}.stamp-family{margin:var(--sp-1) 30px var(--sp-4) 0}.book.spread .stamp-family{margin-right:0}.stamp-family-title{margin:var(--sp-3) 0 var(--sp-1);color:var(--ink-book);font-size:19px}.stamp-grid{gap:var(--sp-2) var(--sp-1);grid-template-columns:repeat(auto-fill,minmax(84px,1fr));margin:0;padding:0;list-style:none;display:grid}.book.single .stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stamp-cell{width:100%;min-height:84px;padding:var(--sp-2) 2px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.stamp-cell:hover{background:rgb(var(--book-line-rgb) / .08)}.stamp-cell:focus-visible{outline:var(--focus-ring);outline-offset:1px}.memory-tabs{gap:var(--sp-2);margin:0 30px var(--sp-3) 0;display:flex}.memory-tab{min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-s);background:rgb(var(--gloss-rgb) / .4);box-shadow:var(--shadow-slot);font-family:var(--font-serif);font-size:var(--fs-base);color:var(--ink);border:0;align-items:center;gap:5px;display:inline-flex}.memory-tab.on{background:var(--marker);box-shadow:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .4)}.memory-tab:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.stamp-note-backdrop{z-index:5;background:#281c102e;flex-direction:column;align-items:center;padding:28px 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.stamp-note{align-items:center;gap:var(--sp-1);border-radius:4px 4px var(--r-s) var(--r-s);background:linear-gradient(180deg, rgb(var(--gloss-rgb) / .45), rgb(var(--gloss-rgb) / 0) 30%), var(--paper);width:min(330px,100%);box-shadow:0 0 0 1px rgb(var(--book-line-rgb) / .25), 0 10px 28px rgb(var(--shade-rgb) / .3);color:var(--ink);flex-direction:column;flex:none;margin:auto 0;padding:26px 20px 18px;display:flex;position:relative;transform:rotate(-1.2deg)}.stamp-note-rope{background:repeating-linear-gradient(160deg,#b08a5a 0 3px,#8a6638 3px 6px);border-radius:2px;width:4px;height:26px;margin-left:-2px;position:absolute;top:-18px;left:50%}.stamp-note-rope:after{content:"";border:2px solid #8a6638;border-radius:50%;width:12px;height:8px;position:absolute;bottom:-5px;left:-4px}.stamp-note:focus{outline:none}.stamp-note-close:focus-visible,.stamp-note-map:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.stamp-note-ink{margin:2px 0 var(--sp-1)}.stamp-note-name{text-align:center;color:var(--ink-book);margin:0;font-size:26px;line-height:1.1}.stamp-note-addendum{opacity:.75;font-size:16px}.stamp-note-date{font-size:var(--fs-m);opacity:.75;text-align:center;margin:0}.stamp-note-line{margin:var(--sp-2) 0 2px;text-align:center;color:var(--ink-blue);font-size:19px;line-height:1.25}.stamp-note-where{justify-content:center;align-items:center;gap:var(--sp-1) var(--sp-3);margin-top:var(--sp-2);font-size:var(--fs-m);flex-wrap:wrap;display:flex}.stamp-note-label{font-weight:600}.stamp-note-map{min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--r-pill);background:var(--marker);font-family:var(--font-serif);font-size:var(--fs-m);color:var(--ink);border:0;align-items:center;gap:5px;display:inline-flex}.stamp-note-sketch{width:100%;margin-top:var(--sp-2)}.book .stamp-note .marit-map-sketch{height:auto;min-height:140px;max-height:min(calc(var(--app-h) * .34), 220px)}@media (max-height:520px){.stamp-note{padding:18px 18px var(--sp-5)}.stamp-note-ink{width:84px;height:84px}.stamp-note-name{font-size:22px}.book .stamp-note .marit-map-sketch{min-height:110px;max-height:150px}}.br-crosses{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1.5px dashed rgb(var(--book-line-rgb) / .22);font-size:var(--fs-m);color:var(--ink-book);line-height:1.3}.br-intro{margin:2px 0 var(--sp-2)}.br-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.br-row{align-items:center;gap:var(--sp-1);flex-wrap:wrap;display:flex}.br-op{opacity:.7}.br-q{background:rgb(var(--book-line-rgb) / .12);opacity:.6;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-weight:700;display:inline-flex}.br-name{margin-left:2px;font-weight:700}.br-muted{opacity:.7;font-weight:400}.br-lore{padding-left:var(--sp-1);color:var(--ink-blue);font-size:var(--fs-l);flex-basis:100%}@media (max-height:520px){.br-crosses{font-size:var(--fs-m)}}.genuss-line{pointer-events:none;max-width:min(340px, calc(100vw - 96px - var(--safe-l) - var(--safe-r)));flex-wrap:wrap;gap:14px 5px;display:flex}.genuss-chip{pointer-events:auto;align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);background:var(--cream);min-height:30px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);color:inherit;font-size:var(--fs-s);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;border:0;padding:3px 9px 3px 5px;font-weight:700;animation:.35s ease-out genuss-in;display:inline-flex}@keyframes genuss-in{0%{opacity:0;transform:translateY(-4px)scale(.92)}}.genuss-time-short{display:none}.fx-strength{margin-left:var(--sp-1);vertical-align:middle;align-items:center;gap:2px;line-height:0;display:inline-flex}.fx-strength i{opacity:.5;background:0 0;border-radius:50%;width:5px;height:5px;box-shadow:inset 0 0 0 1px}.fx-strength i.on{opacity:.85;background:currentColor}.fx-part{white-space:nowrap}.genuss-chip .fx-strength{margin:0 1px 0 0}@media (orientation:landscape) and (max-height:520px){.genuss-line{gap:var(--sp-1);max-width:min(320px, calc(100vw - 480px - var(--safe-l) - var(--safe-r)));flex-wrap:nowrap}.genuss-chip{min-height:28px;padding:2px 7px 2px var(--sp-1);gap:2px}.genuss-time{display:none}.genuss-time-short{display:inline}.genuss-chip .fx-strength{flex-direction:column-reverse;gap:1px;margin:0 3px 0 -1px}.genuss-chip .fx-strength i{width:4px;height:4px}}@media (prefers-reduced-motion:reduce){.genuss-chip{animation:none}}.pouch-wrap{display:flex;position:relative}.pouch-btn,.pouch-quick{animation:.35s ease-out genuss-in}.pouch-fan{z-index:5;gap:var(--sp-3);width:max-content;max-width:min(260px, calc(100vw - 110px - var(--safe-l) - var(--safe-r)));flex-direction:column;animation:.18s ease-out pouch-fan-in;display:flex;position:absolute;top:0;right:calc(100% + 10px)}@media (orientation:landscape) and (max-height:520px){.pouch-fan{top:calc(100% + 10px);right:0}}@keyframes pouch-fan-in{0%{opacity:0;transform:translate(6px)scale(.96)}}.pouch-dish{align-items:center;gap:var(--sp-3);min-height:52px;padding:var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-3);border-radius:var(--r-l);background:var(--cream);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);color:inherit;text-align:left;cursor:pointer;border:0;display:flex}.pouch-dish:active{transform:scale(.97)}.pouch-dish:focus-visible{outline:3px solid var(--c-brass-light);outline-offset:2px}.pouch-dish-text{flex-direction:column;min-width:0;display:flex}.pouch-dish-name{font-weight:700;font-size:var(--fs-base);line-height:1.2}.pouch-dish-effect{font-size:var(--fs-s);opacity:.8;line-height:1.25}.pouch-qty{border-radius:var(--r-pill);background:var(--ink);color:var(--badge-ink);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 7px}.site-card{box-sizing:border-box;width:min(290px,100% - 24px);padding:9px 13px var(--sp-4);background:var(--cream-solid);color:var(--world-ink);box-shadow:0 4px 14px rgb(var(--shade-rgb) / .22);pointer-events:none;opacity:0;will-change:transform, opacity;z-index:3;border-radius:15px;transition:opacity .18s ease-out;position:absolute;top:0;left:0}.site-card.placed{opacity:1}.site-card:after{content:"";left:var(--tail-x,50%);border:7px solid #0000;border-bottom:0;border-top-color:var(--cream-solid);margin-left:-7px;position:absolute;bottom:-7px}.site-card.no-tail:after{display:none}.site-card-title{align-items:center;gap:var(--sp-2);font-weight:750;font-size:var(--fs-l);margin-bottom:3px;display:flex}.site-card-text,.site-card-sign{font-size:var(--fs-m);margin:0;line-height:1.35}.site-card-sign{color:#6b5646;margin-top:5px;font-style:italic}.order-sheet{width:min(560px,100vw)}.order-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.order-card{gap:var(--sp-2);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-radius:var(--r-m);background:#fff3da;flex-direction:column;display:flex;position:relative;box-shadow:0 2px #a0784640}.order-card:before{content:"";width:10px;height:10px;box-shadow:0 1px 0 rgb(var(--dim-rgb) / .2);background:#d9735a;border-radius:50%;margin-left:-5px;position:absolute;top:-4px;left:50%}.order-card.ready{outline:2px solid #9cc47f}.order-card.done{opacity:.7}.order-head{align-items:center;gap:var(--sp-3);display:flex}.order-avatar{background:#f6dcb8cc;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.order-head strong{font-size:16px}.order-note{font-size:var(--fs-m);opacity:.85;margin:0;font-style:italic;font-weight:500;line-height:1.3}.order-lines{gap:3px;margin:0;padding:0;list-style:none;display:grid}.order-lines li{align-items:center;gap:var(--sp-2);font-size:var(--fs-base);display:flex}.order-item{flex:auto;min-width:0}.order-have{padding:1px var(--sp-3);border-radius:var(--r-pill);background:var(--paper-chip);font-size:var(--fs-s);font-variant-numeric:tabular-nums;flex:none}.order-lines li.ok .order-have{background:var(--done-bg);color:#3f6b2f}.order-foot{align-items:center;gap:var(--sp-3);margin-top:2px;display:flex}.order-reward{align-items:center;gap:var(--sp-1);font-size:var(--fs-l);flex:none;display:inline-flex}.order-btn{min-height:var(--tap);font-size:var(--fs-base);flex:auto}.order-stamp{justify-content:center;align-items:center;gap:var(--sp-1);color:var(--done-ink);font-size:var(--fs-base);flex:auto;display:inline-flex}.order-hint{margin-top:var(--sp-4)}.order-swap{align-items:center;gap:var(--sp-1);min-height:var(--tap);padding:0 var(--sp-4);font-size:var(--fs-m);flex:none;margin-left:auto;display:inline-flex}.order-swap-hint{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);display:flex}.order-card.fresh{animation:.42s ease-out order-pin-in}.order-card.fresh:focus{outline:none}.order-card.fresh:focus-visible{outline:var(--focus-ring);outline-offset:2px}.order-new-badge{padding:2px var(--sp-4);font-size:var(--fs-s);top:-6px;right:-6px}@keyframes order-pin-in{0%{opacity:0;transform:translateY(-10px)rotate(-3deg)}70%{opacity:1;transform:translateY(1px)rotate(1deg)}to{transform:none}}@media (prefers-reduced-motion:reduce){.order-card.fresh{animation:none}}.order-card.order-big{background:#ffe9c2;grid-column:1/-1;box-shadow:0 2px #a0784659,inset 0 0 0 2px #d6a0528c}.order-big-tag{padding:1px var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-s);font-weight:700}.order-big-count{font-size:var(--fs-m);font-variant-numeric:tabular-nums;opacity:.8;margin-left:auto}.order-big .order-lines li{min-height:36px}.order-bag{font-size:var(--fs-s);opacity:.75}.order-reserved{font-size:var(--fs-xs);color:#a0603a;display:block}.order-line-btn{min-height:var(--tap);padding:0 var(--sp-4);font-size:var(--fs-m);flex:none}.order-reward-item{align-items:center;gap:2px;display:inline-flex}.order-big .order-foot{flex-wrap:wrap}.order-big-hint{font-size:var(--fs-s);margin:0}.order-big-next{align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-base);background:#d6a0522e;border-radius:12px;font-weight:600;display:flex}.town-map-sheet{width:min(720px,100%)}.town-map-wrap{gap:var(--sp-4);flex-direction:column;align-items:stretch;display:flex}.town-map{width:100%;max-height:min(calc(var(--app-h) * .64), calc(var(--app-h) - 300px));border-radius:var(--r-m);touch-action:pan-y;background:#9fd3ea;align-self:center}@media (orientation:landscape) and (max-height:520px){.town-map-wrap{gap:var(--sp-3) 14px;grid-template-rows:auto 1fr;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.town-map{width:auto;height:calc(var(--app-h) - 120px);grid-row:1/span 2;max-height:none}.town-map-who{gap:var(--sp-1);grid-template-columns:minmax(0,1fr)}.town-map-who li{column-gap:var(--sp-2);font-size:var(--fs-m);flex-wrap:wrap;row-gap:0}.town-map-who li span:last-child{font-size:var(--fs-s);flex-basis:100%;padding-left:18px}}.town-map .tm-b{fill:#b98f6a;stroke:#6e5240;stroke-width:.5px}.town-map .tm-b.room{fill:#e59a6a}.town-map .tm-b.k,.town-map .tm-b.b{fill:#a9a8a4}.town-map .tm-b.c{fill:#e2e0db;stroke:#a9a49a}.town-map .tm-gate{fill:#b4533c}.town-map .tm-bridge{stroke:#8a7158;stroke-width:.4px}.town-map text{paint-order:stroke;stroke:#fffcf0eb;stroke-width:1.4px;stroke-linejoin:round;fill:#4a3b30;font-family:inherit}.town-map .tm-area text{font-size:6.4px;font-weight:800}.town-map .tm-area.locked text{fill:#7a6e64}.town-map .tm-note,.town-map .tm-area .tm-note{font-size:3.8px;font-weight:600}.town-map .tm-label{font-size:3.9px;font-weight:700}.town-map .tm-small{font-size:3.2px;font-weight:700}.town-map .tm-poi circle{fill:#f2c14e;stroke:#6e5240;stroke-width:.6px}.town-map .tm-fig circle{stroke:var(--paper-bright);stroke-width:.8px}.town-map .tm-fig.home circle,.town-map .tm-fig.asleep circle{opacity:.55}.town-map .tm-fig-name{font-size:3.4px;font-weight:800}.town-map .tm-me circle{fill:var(--post-red);stroke:var(--paper-bright);stroke-width:1px}.town-map .tm-me-name{font-size:3.6px;font-weight:800}.town-map-who{gap:var(--sp-2) var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.town-map-who li{align-items:center;column-gap:var(--sp-2);font-size:var(--fs-base);flex-wrap:wrap;min-width:0;display:flex}.town-map-who li span:last-child{opacity:.75;overflow-wrap:anywhere;min-width:0}.town-map-who .dot{border:2px solid var(--paper-bright);width:12px;height:12px;box-shadow:0 0 0 1px rgb(var(--dim-rgb) / .15);border-radius:50%;flex:none}.town-map-hint{font-size:var(--fs-m);opacity:.7;margin:0}.site-card[data-site^=sign\:] .site-card-text,.site-card[data-site^=note\:] .site-card-text{white-space:pre-line}.iris{pointer-events:none;background:radial-gradient(circle at var(--ix,50%) var(--iy,50%), #1d151100 0, #1d151100 var(--ir,0px), #1d15118c calc(var(--ir,0px) + 6px), #1d1511 calc(var(--ir,0px) + 18px));display:none;position:absolute;inset:0}.iris.on{display:block}.place-card{box-sizing:border-box;width:max-content;min-width:min(200px,100%);max-width:min(320px,100% - 24px);padding:var(--sp-4) var(--sp-5) var(--sp-5) 14px;background:var(--paper-sheet);color:var(--ink-color);font:500 var(--fs-base)/1.35 var(--font-serif);box-shadow:0 1px 1px rgb(var(--marine-deep-rgb) / .14), 0 6px 18px rgb(var(--marine-deep-rgb) / .26);pointer-events:auto;opacity:0;will-change:transform, opacity;z-index:4;max-height:calc(var(--app-h) - 20px - var(--safe-t,0px) - var(--safe-b,0px));border-radius:3px;outline:none;flex-direction:column;transition:opacity .16s ease-out;display:flex;position:absolute;top:0;left:0}.place-card>*{flex-shrink:0}.place-card.placed{opacity:1}.place-card:after,.place-card:before{content:"";left:calc(50% + var(--tail-x,0px));pointer-events:none;position:absolute}.place-card:after{bottom:calc(-1 * var(--tail-len,16px));width:2px;height:var(--tail-len,16px);background:repeating-linear-gradient(to bottom, var(--rope) 0 2px, var(--rope-dark) 2px 3px);border-radius:1px;margin-left:-1px}.place-card:before{background:var(--brass);width:7px;height:7px;box-shadow:0 .5px 1px rgb(var(--marine-deep-rgb) / .4);z-index:1;border-radius:50%;margin-left:-3.5px;bottom:-3px}.place-card.no-tail:after,.place-card.no-tail:before{display:none}.place-card-head{align-items:center;gap:7px;margin:0 -4px 2px 0;display:flex}.place-card-head h2{font:700 16.5px/1.2 var(--font-serif);flex:1;align-items:center;gap:7px;margin:0;display:flex}.place-card-close{margin:-6px -4px -6px 0}.place-card-close:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.place-card-status{color:var(--ink-faded);text-wrap:pretty;margin:2px 0 0}.place-card-needs{margin:var(--sp-2) 0 0;overscroll-behavior:contain;flex-direction:column;flex:0 auto;gap:3px;min-height:48px;padding:0;list-style:none;display:flex;overflow-y:auto}.place-card-needs li{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-m);line-height:1.25;display:flex}.place-card-needs b{font-variant-numeric:tabular-nums;font-weight:650}.place-need-name{flex-wrap:wrap;align-items:baseline;column-gap:5px;display:flex}.place-need-have{opacity:.8}.place-need-from{color:var(--ink-faded);font-style:italic}.place-need-name .group-note{flex-basis:100%}.place-card-actions{flex-direction:column;gap:9px;margin-top:9px;display:flex}.place-card-btn{padding:0 var(--sp-5) 0 var(--sp-4);font:700 var(--fs-l)/1.2 var(--font-serif);text-align:left;justify-content:flex-start;display:flex}.place-card-btn span{flex:1}.place-card-walk{opacity:.6}.avatar-layer{pointer-events:auto;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.avatar-panel{box-sizing:border-box;background:var(--cream-solid);width:min(520px,100vw);padding:16px 16px calc(16px + var(--safe-b));box-shadow:var(--shadow-sheet);border-radius:26px 26px 0 0;animation:.25s ease-out sheet-in}.avatar-panel h2{margin:0;font-size:20px}.avatar-sub{margin:var(--sp-1) 0 0;opacity:.8;font-weight:500}.avatar-label{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-m);opacity:.85;font-weight:700}.avatar-furname{font-weight:500}.avatar-species{gap:var(--sp-2);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.avatar-species button{border-radius:var(--r-l);background:var(--row);padding:var(--sp-3) 2px var(--sp-2);min-height:64px;box-shadow:var(--shadow-press);border:0;flex-direction:column;align-items:center;gap:2px;min-width:0;transition:transform .12s;display:flex}.avatar-species button.on{background:var(--paper-bright);outline:3px solid var(--sel);transform:translateY(-2px)}.avatar-icon{font-size:26px;line-height:1.1}.avatar-name{font-size:var(--fs-s)}.avatar-furs{gap:var(--sp-4);flex-wrap:wrap;display:flex}.avatar-furs button{border:3px solid var(--paper-bright);width:44px;height:44px;box-shadow:var(--shadow-card);border-radius:50%}.avatar-furs button.on{outline:3px solid var(--sel);outline-offset:2px}.avatar-actions{gap:var(--sp-4);margin-top:16px;display:flex}.avatar-actions button{min-height:var(--tap-big);flex:1;font-size:16px}@media (orientation:landscape) and (min-width:600px){.avatar-layer{padding-right:calc(16px + var(--safe-r));justify-content:flex-end;align-items:center}.avatar-panel{width:min(380px,44vw);max-height:calc(var(--app-h) - 32px);box-shadow:var(--shadow-card);border-radius:26px;overflow-y:auto}}.note-thread{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.note-thread path{fill:none;stroke-width:2.6px;stroke-linecap:round}.note-thread .nt-rope{stroke:var(--rope);filter:drop-shadow(0 1px 1px rgb(var(--marine-deep-rgb) / .35))}.note-thread .nt-twist{stroke:var(--rope-dark);stroke-dasharray:1.6 3.2;opacity:.7}.note-thread .nt-knot{fill:var(--rope-dark);stroke:var(--rope);stroke-width:1.4px}.note{box-sizing:border-box;background:var(--paper-sheet);width:min(560px,100%);color:var(--ink-color);box-shadow:var(--paper-shadow);font-family:var(--font-serif);translate:var(--note-dx,0px) 0;border-radius:2px 3px 4px 2px;padding:20px 18px 14px 40px;animation:.26s ease-out note-in;position:relative;rotate:-.4deg}.note:before{content:"";background:var(--margin-color);pointer-events:none;width:1.5px;position:absolute;top:0;bottom:0;left:28px}.note-eyelet{background:var(--brass);width:14px;height:14px;box-shadow:0 1px 1.5px rgb(var(--marine-deep-rgb) / .45);pointer-events:none;border-radius:50%;margin-left:-7px;position:absolute;top:-1px;left:50%}.note-eyelet:after{content:"";background:var(--c-paper-shade);box-shadow:inset 0 1px 1.5px rgb(var(--marine-deep-rgb) / .5);border-radius:50%;position:absolute;inset:4px}.note-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin:-4px 0 var(--sp-1) -6px;pointer-events:none;display:flex}.note-name{font-family:var(--font-hand);color:var(--c-marine);padding:0 var(--sp-1) 3px 0;font-size:27px;font-weight:600;line-height:1;position:relative;rotate:-2.5deg}.note-name:after{content:"";background:linear-gradient(90deg, var(--c-marine), #1f3a5a26);border-radius:2px;height:2px;position:absolute;bottom:0;left:2px;right:-6px;rotate:-1.2deg}.note-text{--lh:1.55em;font-size:var(--fs-xl);font-weight:400;line-height:var(--lh);min-height:calc(var(--lh) * 2);background-image:linear-gradient(to bottom, transparent calc(100% - 1px), var(--rule-color) calc(100% - 1px));background-size:100% var(--lh);text-wrap:pretty;background-position:0 -2px;margin:0}.note-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.note-rest{visibility:hidden}.note-w{animation:.5s ease-out both ink-flow}.note-w.now{animation:none}.note-more{pointer-events:none;width:26px;height:26px;position:absolute;bottom:6px;right:10px}.note-more .cn-ring{fill:var(--c-brass);stroke:var(--c-brass-dark);stroke-width:1px}.note-more .cn-face{fill:var(--c-paper)}.note-more .cn-needle{transform-origin:13px 13px;animation:2.6s ease-in-out infinite needle-sway}.note-more .cn-n{fill:var(--c-signal)}.note-more .cn-s{fill:var(--c-marine)}.note-more .cn-pin{fill:var(--c-brass-light);stroke:var(--c-brass-dark);stroke-width:.6px}.note-choices{margin-top:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));column-gap:14px;display:grid}.note-choice{border:0;border-top:1px dashed var(--ink-line);min-height:46px;padding:var(--sp-3) var(--sp-2) var(--sp-3) 22px;text-align:left;font:600 16px/1.3 var(--font-serif);color:var(--ink-color);box-shadow:none;background:0 0;border-radius:0;position:relative}.note-choice:before{content:"";background:var(--c-seaglass-deep);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);width:11px;height:22px;position:absolute;top:10px;left:2px}.note-choice.main:before{background:var(--c-brass)}.note-choice.main{color:var(--c-marine-deep)}.note-choice:hover:not(:disabled),.note-choice:focus-visible{background:var(--seaglass-glass)}.note-choice:disabled{color:var(--ink-faded);cursor:default}.note-choice:disabled:before{background:#48556666}.note-choice .vd-note{font-size:var(--fs-m);color:var(--ink-faded);font-weight:400;display:block}@media (orientation:landscape){.note{width:min(410px,40vw);translate:var(--note-x,0px) var(--note-y,0px);position:absolute;top:0;left:0}.note-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.note.note-lay-d{width:min(300px,34vw)}.note.note-lay-d .note-eyelet{display:none}.note.note-lay-d .note-choices{grid-template-columns:minmax(0,1fr)}.note-tail[data-edge=left],.note-tail[data-edge=right],.note-tail[data-edge=bottom]{display:block}}.note-tail{background:var(--c-paper);width:18px;height:24px;filter:drop-shadow(0 1px 1px rgb(var(--marine-deep-rgb) / .25));pointer-events:none;display:none;position:absolute}.note-tail[data-edge=left]{left:-17px;top:calc(var(--tail-pos,40px) - 12px);clip-path:polygon(100% 0,0 50%,100% 100%)}.note-tail[data-edge=right]{right:-17px;top:calc(var(--tail-pos,40px) - 12px);clip-path:polygon(0 0,100% 50%,0 100%)}.note-tail[data-edge=bottom]{width:24px;height:18px;bottom:-17px;left:calc(var(--tail-pos,40px) - 12px);clip-path:polygon(0 0,100% 0,50% 100%)}@media (orientation:landscape) and (max-height:520px){.note{padding:16px 16px var(--sp-4) 38px}.note.note-wide{width:min(440px,54vw)}.note.note-lay-d.note-wide{width:min(360px,54vw)}.note.note-lay-d.note-wide .note-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.note-name{font-size:24px}.note-text{font-size:var(--fs-l);min-height:calc(var(--lh) * 1.5)}.note-choices{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.note-choice{min-height:44px;padding-top:var(--sp-2);padding-bottom:var(--sp-2)}}@keyframes note-in{0%{opacity:0;transform:translateY(16px)rotate(-1.2deg)}}@keyframes ink-flow{0%{opacity:0;color:var(--c-seaglass-deep);filter:blur(1.4px)}45%{opacity:.85}to{opacity:1;filter:none}}@keyframes needle-sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(7deg)}}@media (prefers-reduced-motion:reduce){.note,.note-w,.note-more .cn-needle{animation:none}}.vd-layer{pointer-events:auto;padding:0 var(--sp-5) calc(18px + var(--safe-b));box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.vd-hearts{font-family:var(--font-serif);font-size:var(--fs-l);letter-spacing:3px;color:rgb(var(--ink-color-rgb) / .24);position:relative;rotate:1.5deg}.vd-hearts .on{color:var(--c-signal);text-shadow:0 0 .6px var(--c-signal)}.vd-gain{color:var(--c-signal);font-size:var(--fs-base);letter-spacing:0;animation:1.6s ease-out forwards vd-rise;position:absolute;top:-20px;right:4px}.vd-gift-backdrop{z-index:1}.vd-gift-foot{align-items:center;gap:var(--sp-4);margin-top:var(--sp-5);display:flex}.vd-gift-foot .slot-info{flex:1;justify-content:flex-start;min-width:0;margin:0}.vd-gift-give{flex:none;min-width:132px}@keyframes vd-rise{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:0;transform:translateY(-12px)}}.vd-kinds{gap:var(--sp-3);padding:var(--sp-3) 0 2px 22px;border-top:1px dashed var(--ink-line);grid-column:1/-1;display:flex}.vd-kind{border:1.5px solid var(--ink-line);border-radius:var(--r-s);width:48px;height:48px;box-shadow:none;background:0 0;place-items:center;padding:0;display:grid;position:relative}.vd-kind.on{border-color:var(--c-brass);background:var(--seaglass-glass);box-shadow:0 0 0 2px var(--c-brass) inset}.vd-kind:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.vd-kind-qty{font:600 var(--fs-s)/1 var(--font-serif);color:var(--ink-color);position:absolute;bottom:1px;right:3px}.note-choice.vd-quiet{min-height:44px;font-size:var(--fs-base);color:var(--ink-faded);order:9;grid-column:1/-1;font-style:italic;font-weight:400}.note-choice.vd-quiet:before{display:none}.lahnung-steps{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lahnung-step{align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-base);opacity:.6;border-radius:12px;font-weight:650;display:flex}.lahnung-step em{font-style:normal;font-size:var(--fs-m);opacity:.85;margin-left:auto;font-weight:600}.lahnung-step.now{opacity:1;background:#f2c56b47}.lahnung-step.sea{opacity:1;background:#7fb5d640}.lahnung-step.done{opacity:.85;color:var(--ok-ink)}.lahnung-sea{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);background:#7fb5d629;flex-direction:column;display:flex}.lahnung-sea .craft-sub{align-items:center;gap:var(--sp-2);display:flex}.site-progress-bar.sea{background:linear-gradient(90deg,#8cc3e0,#5fa7cf)}.lahnung-folk{opacity:.8;font-style:italic}.lahnung-timer.sea{background:#e3f0f7}.tp-errands .lahnung-step.now{background:#f2c56b2e}.tp-donate{gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-l);background:#c9a14a24;flex-direction:column;display:flex}.tp-donate .craft-sub{align-items:center;gap:var(--sp-2);display:flex}.tp-tiers .lahnung-step{opacity:.75}.tp-donated{margin:0;font-weight:700}.tp-plaque{font-style:italic}.tp-decor .site-row{gap:var(--sp-2);flex-wrap:wrap}.tp-decor .site-btn{--b-edge:transparent;flex:140px;align-self:stretch}.tp-decor .site-btn,.tp-decor .site-btn.ghost{background:rgb(var(--gloss-rgb) / .5);color:var(--btn-ink);border-color:#0000;text-decoration:none;box-shadow:inset 0 0 0 2px #a87a2e40}.tp-decor .site-btn[aria-checked=true]{border-color:var(--sel);background:var(--cream-solid);box-shadow:inset 0 0 0 1px var(--sel)}.tp-donate-row{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.tp-donate-row .craft-go{flex:140px}.tp-counter{gap:var(--sp-2);flex-direction:column;display:flex}.tp-counter-line{margin:0}.story-layer{pointer-events:auto;padding:0 var(--sp-5) calc(18px + var(--safe-b));box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.story-top{z-index:2;top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));gap:var(--sp-3);display:flex;position:absolute}.story-later,.story-skip{padding:var(--sp-3) 14px;background:var(--paper-sheet);min-height:44px;color:var(--ink-color);box-shadow:inset 0 -2px 0 var(--c-brass), var(--paper-shadow);font:600 var(--fs-l)/1.2 var(--font-serif);align-items:center;gap:var(--sp-2);border:0;border-radius:3px;display:flex}.shop-coins{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.sheet-head .shop-coins{margin-left:var(--sp-4);font-size:var(--fs-l);border-radius:var(--r-pill);background:var(--coin-bg);padding:2px 9px 2px 5px}.shop-row .shop-coins{font-size:var(--fs-base);flex:none}.shop-row .craft-name{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0}.craft-go .shop-coins{padding:2px var(--sp-3) 2px var(--sp-1);border-radius:var(--r-pill);background:rgb(var(--gloss-rgb) / .25)}.shop-each{align-items:center;gap:var(--sp-1);font-size:var(--fs-m);opacity:.8;margin-left:auto;display:inline-flex}.shop-greet{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5) var(--sp-3) var(--sp-3);border-radius:var(--r-l);background:var(--btn-paper-top);font-size:var(--fs-base);flex:none;margin:0;line-height:1.35;display:flex}.shop-greet.moment{background:#ffeccc}.shop-greet.night{color:#f4ecdf;background:#2f3a57}.shop-greet>:first-child{flex:none}.shop-greet.in-list{display:none}.shop-tabs{gap:var(--sp-2);flex:none;display:flex}.shop-tab{height:var(--tap);border-radius:var(--r-m);background:var(--paper-chip);cursor:pointer;border:1.5px solid #0000;flex:1;font-size:16px;font-weight:700}.shop-tab.on{background:var(--sel-tab);color:var(--sel-tab-ink);border-color:var(--sel)}.shop-small{font-size:var(--fs-m)}.shop-bag .slot.on{outline:3px solid var(--sel);outline-offset:-3px}.shop-bag .slot.no-sale{opacity:.4}.smith-card{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-l);background:var(--row);flex-direction:column;display:flex}.smith-card .craft-go{flex:none}.smith-effect{margin:0}.smith-card.running{background:#eaf3e2}@media (max-height:520px) and (orientation:landscape){.shop-greet{padding:5px var(--sp-4) 5px var(--sp-2);font-size:var(--fs-m)}.shop-greet.on-top{display:none}.shop-greet.in-list{display:flex}.shop-tab{height:var(--tap);font-size:var(--fs-l)}}.shop-goal{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);font-size:var(--fs-xs);font-weight:500;display:flex}.shop-goal-bar{border-radius:var(--r-pill);background:#7856282e;flex:1;min-width:40px;max-width:120px;height:6px;overflow:hidden}.shop-goal-bar>span{border-radius:var(--r-pill);background:#e0a63a;height:100%;display:block}.craft-detail>.shop-goal{margin:0 0 var(--sp-2);font-size:var(--fs-m)}.craft-detail>.shop-goal .shop-goal-bar{max-width:200px}.shop-goal-left{opacity:.75;white-space:nowrap}html[data-shopv=a] .shop-row{column-gap:var(--sp-3);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;row-gap:1px;display:grid}html[data-shopv=a] .shop-row>:first-child{grid-row:1/span 2}html[data-shopv=a] .shop-row .craft-name{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:normal;letter-spacing:-.1px;align-self:end}html[data-shopv=a] .shop-row>.shop-coins{font-size:var(--fs-m);place-self:start}html[data-shopv=b] .shop-list .craft-grid{grid-template-columns:minmax(0,1fr)}html[data-shopv=b] .shop-row .craft-name{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}html[data-shopv=b] .shop-row .shop-coins b{text-align:right;min-width:3ch;display:inline-block}html[data-shopv=b] .shop-row .shop-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}html[data-shopv=c] .shop-row .craft-name{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;font-size:var(--fs-s)}html[data-shopv=d] .shop-row .shop-name{text-wrap:balance;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.morning-backdrop{z-index:8;padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) calc(12px + var(--safe-b)) calc(16px + var(--safe-l));background:rgb(var(--shade-rgb) / .18);pointer-events:auto;justify-content:center;align-items:center;animation:.25s ease-out morning-fade;display:flex;position:fixed;inset:0}.morning-card{gap:var(--sp-3);width:min(360px,100%);max-height:100%;padding:14px 16px var(--sp-4);background:var(--cream-solid);box-shadow:var(--shadow-float);cursor:pointer;border-radius:22px;flex-direction:column;animation:.32s cubic-bezier(.2,.9,.3,1.2) morning-in;display:flex}.morning-head{align-items:center;gap:var(--sp-4);display:flex}.morning-sun{background:#ffe3a8;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.morning-title{flex-direction:column;min-width:0;display:flex}.morning-title strong{font-size:20px;line-height:1.15}.morning-day{font-size:var(--fs-m);opacity:.75;font-weight:500}.morning-cols{gap:var(--sp-3);min-height:0;display:grid;overflow:auto}.morning-sec{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:#f6dcb859}.morning-sec h3{margin:0 0 var(--sp-1);align-items:center;gap:var(--sp-2);font-size:var(--fs-m);letter-spacing:.02em;text-transform:uppercase;opacity:.8;display:flex}.morning-sec ul{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.morning-news li{align-items:center;gap:var(--sp-3);font-size:var(--fs-base);font-weight:500;line-height:1.25;display:flex}.morning-news li .icon{flex:none}.morning-quiet{font-size:var(--fs-m);opacity:.8;margin:2px 0;font-weight:500}.morning-current{font-size:var(--fs-base);white-space:normal;flex-direction:column;gap:2px;margin:2px 0;display:flex}.morning-current span{font-size:var(--fs-m);opacity:.8;font-weight:500}.morning-log li{min-height:26px;font-size:var(--fs-base);align-items:center;gap:7px;font-weight:500;display:flex}.morning-mark{border:2px solid rgb(var(--ink-rgb) / .35);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.morning-log li.done .morning-mark{background:var(--done-bg);border-color:#7fb069}.morning-log li.done .morning-task{opacity:.6;text-decoration:line-through}.morning-task{flex:auto;min-width:0}.morning-count{border-radius:var(--r-pill);background:var(--progress-bg);font-size:var(--fs-s);font-variant-numeric:tabular-nums;flex:none;padding:1px 7px}.morning-reward{font-size:var(--fs-s);opacity:.85;flex:none;align-items:center;gap:2px;display:inline-flex}.morning-bonus{margin-top:var(--sp-2);align-items:center;gap:var(--sp-2);font-size:var(--fs-s);opacity:.85;font-weight:500;display:flex}.morning-bonus.done{color:var(--done-ink)}.morning-go{min-width:min(var(--btn-card-min), 100%);min-height:var(--tap);padding:var(--sp-3) 22px;align-self:center;font-size:16px}@media (orientation:landscape) and (max-height:520px){.morning-backdrop{padding-top:var(--top-bar-h)}.morning-card{width:min(620px,100%);padding:var(--sp-4) 14px var(--sp-3);gap:var(--sp-2)}.morning-cols{grid-template-columns:1fr 1fr;align-items:start}.morning-cols.solo{grid-template-columns:1fr}.morning-sun{width:38px;height:38px}.morning-title strong{font-size:18px}.morning-go{min-height:var(--tap);padding:var(--sp-2) 20px}}@keyframes morning-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes morning-fade{0%{opacity:0}}.hud.hud-btn.has-dot{padding-right:22px;position:relative}.hud-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--cream), 0 1px 2px #78502859;border-radius:50%;margin-top:-4.5px;position:absolute;top:50%;right:8px}.hud.hud-btn.pulse{animation:1.4s ease-in-out 1.2s 3 hud-pulse}@keyframes hud-pulse{0%,to{transform:none}45%{transform:scale(1.06)}}.morning-light{z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:0;background:radial-gradient(120% 70% at 70% -10%,#ffd6968c,#ffbe782e 45%,#0000 75%),linear-gradient(#ffe2b438,#0000 60%);animation:3.2s ease-in-out forwards morning-light;position:fixed;inset:0}@keyframes morning-light{0%{opacity:0}30%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.hud.hud-btn.pulse{animation:none}.morning-light{animation-duration:1.6s}}.crossing-ui{pointer-events:none;z-index:30;position:absolute;inset:0}.crossing-title{left:50%;top:calc(18px + var(--safe-t));align-items:center;gap:var(--sp-3);padding:var(--sp-3) 16px;background:rgb(var(--cream-rgb) / .82);box-shadow:var(--shadow-card);color:var(--ink);white-space:nowrap;border-radius:20px;font-weight:800;animation:.5s ease-out both crossing-in;display:inline-flex;position:absolute;transform:translate(-50%)}.crossing-skip{position:absolute}@keyframes crossing-in{0%{opacity:0;transform:translate(-50%,-8px)}}.ws-body{gap:var(--sp-4);flex-direction:column;display:flex}.ws-intro{font-size:var(--fs-base);opacity:.85;margin:0;line-height:1.35}.ws-count{margin-left:var(--sp-3);font-size:var(--fs-l);opacity:.6;font-variant-numeric:tabular-nums;font-weight:700}.ws-body .craft-go{flex:none}.ws-tray{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-l);background:var(--found-bg);flex-direction:column;display:flex}.ws-tray-row{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ws-tray .craft-go{min-height:var(--tap);flex:none}.ws-repeat{align-items:center;gap:var(--sp-4);min-height:52px;padding:var(--sp-2) 14px;border-radius:var(--r-l);background:var(--ok-bg);color:inherit;text-align:left;cursor:pointer;border:0;font-size:16px;font-weight:700;display:flex;box-shadow:0 3px #b8d8ac}.ws-repeat>span{flex-direction:column;display:flex}.ws-repeat small{font-size:var(--fs-s);opacity:.75;font-weight:500}.ws-queue{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.ws-slot{align-items:center;gap:var(--sp-3);min-height:46px;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);border-radius:var(--r-m);background:var(--row);display:flex}.ws-slot.running{background:var(--btn-paper-bottom)}.ws-slot.empty{border:2px dashed rgb(var(--ink-rgb) / .18);background:0 0}.ws-slot-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.ws-slot-name{font-size:var(--fs-m);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:650;line-height:1.15;display:-webkit-box;overflow:hidden}.ws-slot-main small{font-size:var(--fs-s);opacity:.7;font-variant-numeric:tabular-nums}.ws-slot-bar{border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .12);height:6px;overflow:hidden}.ws-slot-bar>span{border-radius:var(--r-pill);background:#f0a35a;height:100%;display:block}.ws-cancel{border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .1);width:30px;height:30px;color:inherit;cursor:pointer;border:0;flex:none;place-items:center;display:grid}.ws-recipes{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.ws-recipe{padding:var(--sp-3) var(--sp-2);border-radius:var(--r-l);background:var(--row);color:inherit;cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;display:flex}.ws-recipe.on{border-color:var(--sel);background:#fff3df}.ws-recipe.dim{opacity:.55}.ws-recipe-name{font-size:var(--fs-m);text-align:center;font-weight:650;line-height:1.15}.ws-recipe small{font-size:var(--fs-xs);opacity:.7}.ws-detail{gap:var(--sp-3);flex-direction:column;display:flex}.ws-all{align-items:center;gap:var(--sp-3);font-size:var(--fs-base);cursor:pointer;font-weight:600;display:flex}.ws-all input{width:22px;height:22px;accent-color:var(--accent)}.ws-marker{border-radius:var(--r-pill);background:var(--cream-solid);box-shadow:0 3px 10px rgb(var(--shade-rgb) / .22);font-size:var(--fs-m);font-variant-numeric:tabular-nums;pointer-events:none;will-change:transform;z-index:2;align-items:center;gap:3px;padding:3px 9px 3px 5px;font-weight:750;display:flex;position:absolute;top:0;left:0}#ui:has(.sheet-backdrop) .ws-marker{visibility:hidden}.ws-marker.done{background:var(--found-bg);font-size:var(--fs-l);animation:1.6s ease-in-out infinite ws-bob}.ws-marker.running{opacity:.85}.ws-marker.idea{padding:var(--sp-1);color:var(--c-brass-dark,var(--book-line));animation:1.6s ease-in-out infinite ws-bob}.ws-marker.idea:after,.ws-tab-dot{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--cream-solid);border-radius:50%}.ws-marker.idea:after{position:absolute;top:-1px;right:-1px}.ws-tabs button{position:relative}.ws-tab-dot{position:absolute;top:5px;right:6px}@keyframes ws-bob{0%,to{margin-top:0}50%{margin-top:-4px}}@media (prefers-reduced-motion:reduce){.ws-marker.done,.ws-marker.idea,.ws-found{animation:none}}.ws-tabs button{font-size:var(--fs-m);justify-content:center;align-items:center;gap:5px;display:inline-flex}.ws-effect{font-size:var(--fs-xs);color:#6b5a2f;align-items:center;gap:3px;font-weight:600;display:inline-flex}.ws-recipe small.ws-effect{opacity:.9}.ws-effect.none{opacity:.6;font-weight:500}.ws-try,.ws-book{gap:var(--sp-3);flex-direction:column;display:flex}.ws-found{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-l);background:var(--found-bg);animation:.45s ease-out ws-found-in;display:flex;box-shadow:inset 0 0 0 2px #f2cf6b}.ws-found>span{flex-direction:column;gap:2px;display:flex}.ws-found b{font-size:var(--fs-l)}.ws-found small:last-child{font-size:var(--fs-s);opacity:.75}@keyframes ws-found-in{0%{opacity:0;transform:scale(.94)}}.ws-hand{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.ws-hand-slot{border-radius:var(--r-m);width:48px;height:48px;color:inherit;background:0 0;border:2px dashed #d8c6a6;justify-content:center;align-items:center;display:inline-flex}.ws-hand-slot.full{border:2px solid var(--sel);cursor:pointer;background:#fff3df}.ws-hand .ws-try-go{min-height:var(--tap-big);flex:140px}.ws-try-bag{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(52px,1fr));display:grid}.ws-try-item{border-radius:var(--r-m);background:var(--row);height:52px;color:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;display:flex;position:relative}.ws-try-item:disabled{opacity:.4;cursor:default}.ws-try-item b{font-size:var(--fs-s);position:absolute;bottom:2px;right:5px}.ws-ideas{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ws-ideas li{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-m);opacity:.85;font-style:italic;line-height:1.3;display:flex}.ws-book-row{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-m);background:var(--row);display:flex}.ws-book-main{flex-direction:column;gap:1px;min-width:0;display:flex}.ws-book-main b{font-size:var(--fs-base)}.ws-book-main small{font-size:var(--fs-s);opacity:.75}.ws-book-main small.ws-effect{opacity:1}.ws-upgrade{gap:var(--sp-3);flex-direction:column;display:flex}.ws-up-level,.ws-up-left{align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-base);margin:0;display:flex}.ws-up-gains{font-size:var(--fs-base);margin:0;padding-left:20px;line-height:1.4}.ws-up-part{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:var(--short-bg);color:#7d2f22;font-size:var(--fs-m);margin:0;line-height:1.35;display:flex}.ws-up-part>:first-child,.ws-up-later>:first-child{flex:none}.ws-up-later{align-items:center;gap:var(--sp-2);display:flex}.ws-tabs.four{gap:var(--sp-1)}.ws-tabs.four button{min-width:0;padding:3px var(--sp-1);font-size:var(--fs-s);flex-direction:column;gap:1px;line-height:1.1}.ws-seasons{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1.5px dashed rgb(var(--book-line-rgb) / .25)}.ws-seasons-title{margin:0 0 var(--sp-2);font-size:var(--fs-l)}.ws-season-row{gap:var(--sp-2);margin-bottom:var(--sp-2);grid-template-columns:7.5em 1fr 1fr;align-items:center;display:grid}.ws-season-name{align-items:center;gap:var(--sp-1);font-size:var(--fs-m);display:flex}.ws-season-slot{align-items:center;gap:var(--sp-1);min-width:0;min-height:34px;padding:2px var(--sp-2);border-radius:var(--r-s);border:1.5px dashed rgb(var(--book-line-rgb) / .35);display:flex}.ws-season-slot.known{background:#fffaee99;border-style:solid}.ws-season-slot small{font-size:var(--fs-s);text-overflow:ellipsis;line-height:1.1;overflow:hidden}.hud-weather{align-items:center;gap:var(--sp-1);margin-left:var(--sp-3);display:inline-flex}@media (orientation:landscape) and (max-height:520px){.hud-weather-name{display:none}}#tester,#tester-recover{height:100vh;height:var(--app-h,100dvh);z-index:30;pointer-events:none;position:fixed;top:0;left:0;right:0}#tester-recover{z-index:31}.tester-sheet-host{pointer-events:auto;position:absolute;inset:0}.tester-backdrop{padding:calc(16px + var(--safe-t,0px)) calc(16px + var(--safe-r,0px)) calc(16px + var(--safe-b,0px)) calc(16px + var(--safe-l,0px));background:rgb(var(--marine-deep-rgb) / .32);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.tester-card{box-sizing:border-box;background:var(--paper-sheet,var(--c-paper));width:min(460px,100%);max-height:100%;color:var(--ink-color);box-shadow:var(--paper-shadow);font-family:var(--font-serif);border-radius:2px 3px 4px 2px;padding:20px 18px 16px 40px;animation:.24s ease-out tester-in;position:relative;overflow-y:auto;rotate:-.4deg}.tester-card:before{content:"";background:var(--margin-color,#c2412d61);pointer-events:none;width:1.5px;position:absolute;top:0;bottom:0;left:28px}.tester-card h2{margin:0 0 var(--sp-3);font-size:21px;font-weight:600}.tester-card p{margin:0 0 var(--sp-4);font-weight:400;font-size:var(--fs-l);line-height:1.45}@keyframes tester-in{0%{opacity:0;translate:0 8px}}.tester-actions{gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}.tester-actions button,.tester-points button,.tester-confirm button{min-height:var(--tap);padding:var(--sp-3) 14px;font-family:inherit;font-size:var(--fs-l);flex:auto}.tester-send{min-height:var(--tap);padding:var(--sp-3) 14px;font-family:inherit;font-size:var(--fs-l);justify-content:center;align-items:center;gap:var(--sp-3);width:100%;margin-top:var(--sp-4);display:flex}.tester-send.tester-send-sticky{z-index:1;--b-extra:0 -10px 12px 2px var(--cream-solid);position:sticky;bottom:0}.tester-link{color:var(--ink-faded);font-size:var(--fs-m);background:0 0;border:0;padding:0;text-decoration:underline}.tester-error{margin:var(--sp-2) 0 0;max-height:120px;padding:var(--sp-3);background:rgb(var(--ink-color-rgb) / .06);font:var(--fs-xs)/1.35 ui-monospace, Menlo, monospace;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;border-radius:6px;overflow:auto}.tester-points{margin:var(--sp-2) 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.tester-points li{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-5);background:rgb(var(--ink-color-rgb) / .05);font-size:var(--fs-base);border-radius:12px;display:flex}.tester-points li>span{flex:1}.tester-points small{color:var(--ink-faded)}.tester-points button{min-height:var(--tap);flex:none}.tester-confirm{margin:var(--sp-3) 0 var(--sp-4);padding:var(--sp-4) var(--sp-5);background:#fbe3d8;border-radius:12px}.tester-choice{gap:var(--sp-3);display:flex}.tester-confirm p{margin:0 0 var(--sp-3);font-size:var(--fs-m);font-weight:600}.tester-confirm .seg{gap:var(--sp-3)}.tester-text{box-sizing:border-box;width:100%;min-height:110px;padding:var(--sp-4) var(--sp-5);border:1.5px solid rgb(var(--ink-color-rgb) / .2);background:var(--c-paper);color:var(--ink-color);font:var(--fs-l)/1.4 var(--font-serif);resize:vertical;-webkit-user-select:text;user-select:text;border-radius:12px}@media (max-height:520px){.tester-text{height:78px;min-height:0}.tester-check{min-height:var(--tap)}}.tester-checks{gap:var(--sp-1);margin-top:var(--sp-3);display:grid}.tester-check{align-items:center;gap:var(--sp-4);min-height:var(--tap);padding:0 var(--sp-2);border-radius:var(--r-s);font-size:var(--fs-l);cursor:pointer;display:flex}.tester-check input{width:22px;height:22px;accent-color:var(--c-seaglass-deep)}.tester-to{text-align:center;margin-top:var(--sp-2)}.tester-msg{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-s);background:var(--seaglass-glass,#6fb7ae38);font-size:var(--fs-base)}.tester-news-page{margin:var(--sp-1) 0 var(--sp-5);padding:14px 14px var(--sp-4) 36px;background:var(--paper-sheet,var(--c-paper));color:var(--ink-color);box-shadow:var(--paper-shadow);font-family:var(--font-serif);border-radius:2px 3px 4px 2px;position:relative}.tester-news-page:before{content:"";background:var(--margin-color,#c2412d61);width:1.5px;position:absolute;top:0;bottom:0;left:24px}.tester-news-date{font-family:var(--font-hand);color:var(--ink-faded);font-size:20px}.tester-news-page h3{margin:2px 0 var(--sp-2);font-size:18px}.tester-news-page ul{margin:0;padding-left:18px}.tester-news-page li{margin:0 0 var(--sp-2);font-weight:400;font-size:var(--fs-base);line-height:1.45}.perf-wrap{position:relative}.perf-btn{font-variant-numeric:tabular-nums;-webkit-backdrop-filter:none;background:var(--cream-solid);contain:layout paint style;flex-direction:column;justify-content:center;align-items:center;gap:0;line-height:1;display:flex}.perf-fps{font-size:19px;font-weight:800}.perf-unit{opacity:.6;margin-top:1px;font-size:9.5px}.perf-bars{margin-top:3px}.perf-bars rect{fill:rgb(var(--ink-rgb) / .22)}.perf-bars rect.on{fill:var(--ink)}.perf-bars text{fill:#c9855a;font:800 8px/1 system-ui,sans-serif}.perf-btn.perf-good .perf-fps{color:#2f7d47}.perf-btn.perf-ok .perf-fps{color:#a8721a}.perf-btn.perf-bad .perf-fps{color:#b5442f}.perf-info{white-space:nowrap;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-s);color:var(--cream-solid);font-size:var(--fs-s);box-shadow:var(--shadow-card);pointer-events:none;z-index:2;background:#3a4a5ceb;position:absolute;top:calc(100% + 8px);right:0}@media (orientation:portrait) and (max-width:400px){#ui:has(.perf-btn) .hud{padding:var(--sp-2) var(--sp-4) 7px;column-gap:7px}#ui:has(.perf-btn) .hud-clock{font-size:24px}}@media (orientation:portrait) and (max-width:380px){#ui:has(.perf-btn) .hud-weekday{display:none}#ui:has(.perf-btn) .hud-clock{font-size:23px}#ui:has(.perf-btn) .hud-season .icon{width:18px;height:18px}}@media (orientation:portrait) and (max-width:340px){#ui:has(.perf-btn) .hud{padding:var(--sp-2) var(--sp-3) 7px;column-gap:5px}#ui:has(.perf-btn) .hud-clock{grid-area:1/1/auto/span 2;font-size:21px}#ui:has(.perf-btn) .hud-day{font-size:var(--fs-s);grid-area:2/1}#ui:has(.perf-btn) .hud-season{grid-area:2/2}#ui:has(.perf-btn) .hud-season-name{display:none}}@media (orientation:landscape) and (max-height:520px) and (max-width:719px){#ui:has(.perf-btn) .hud-season-name{display:none}}.dev-build{margin-bottom:var(--sp-4)}.dev-build-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.dev-version{opacity:.8;flex:160px;font:600 12.5px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.dev-build-row button,.dev-quick button{min-height:var(--tap);padding:0 var(--sp-5);background:#e9e0cf;border:0;border-radius:11px;align-items:center;gap:5px;font-size:13.5px;display:inline-flex}.dev-report-text{min-height:150px;margin-top:var(--sp-2);font:500 11.5px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}.dev-quick{gap:var(--sp-2);padding:var(--sp-3) 0 var(--sp-4);border-bottom:1px solid rgb(var(--ink-rgb) / .12);flex-wrap:wrap;display:flex}.dev-quick button{flex:auto;justify-content:center}.dev-tabs{padding:var(--sp-4) 0 var(--sp-1);scrollbar-width:none;touch-action:pan-x;flex-wrap:nowrap;gap:2px;display:flex;overflow-x:auto}.dev-tabs::-webkit-scrollbar{display:none}.dev-tabs button{min-width:var(--tap);min-height:var(--tap);padding:0 var(--sp-2);white-space:nowrap;border-radius:var(--r-pill);opacity:.7;background:0 0;border:0;flex:1 0 auto;font-size:13.5px;font-weight:650}@media (max-width:430px){.dev-tabs{gap:0}.dev-tabs button{padding:0 var(--sp-1);font-size:11.5px}}.dev-tabs button[aria-selected=true]{background:var(--ink);color:var(--cream-solid);opacity:1}.perf-head{margin-bottom:var(--sp-2)}.perf-curve{border-radius:var(--r-s);background:rgb(var(--ink-rgb) / .07);width:100%;height:70px;display:block}.perf-curve polyline{fill:none;stroke:#c9855a;stroke-width:1.5px;vector-effect:non-scaling-stroke}.perf-curve line{stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.perf-line60{stroke:#2f7d47}.perf-line30{stroke:#b5442f}.perf-legend{font-size:var(--fs-xs);opacity:.6;margin:3px 0 var(--sp-3)}.perf-grid{gap:3px var(--sp-5);font-size:var(--fs-m);grid-template-columns:auto 1fr;margin:0;display:grid}.perf-grid dt{opacity:.7}.perf-grid dd{font-variant-numeric:tabular-nums;margin:0}.dev-confirm{margin:var(--sp-3) 0 var(--sp-4);padding:var(--sp-4) var(--sp-5);background:#fbe3d8;border-radius:12px}.dev-confirm p{margin:0 0 var(--sp-3);font-size:13.5px;font-weight:600}.dev-confirm .dev-confirm-yes{background:#e7a58e}.dev-shot-img{width:100%;margin-top:var(--sp-2);border-radius:var(--r-s);-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;display:block}.legal-text{font-family:var(--font-serif);color:var(--ink-color);font-size:var(--fs-l);overflow-wrap:break-word;line-height:1.55}.legal-text h1{margin:0 0 var(--sp-1);color:var(--c-marine);font-size:26px;font-weight:600}.legal-text h2{margin:22px 0 var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--ink-line);font-size:var(--fs-xl);color:var(--c-marine);font-weight:600}.legal-text p,.legal-text ul,.legal-text address{margin:0 0 var(--sp-4)}.legal-text address{font-style:normal}.legal-text ul{padding-left:1.2em}.legal-text li{margin-bottom:var(--sp-1)}.legal-text .legal-lead{padding:var(--sp-4) var(--sp-5);border-left:3px solid var(--c-seaglass);background:var(--seaglass-glass);border-radius:0 8px 8px 0;font-size:16.5px}.legal-text .legal-stand{color:var(--ink-faded);font-size:var(--fs-m)}.legal-text a{color:var(--c-seaglass-deep);text-underline-offset:2px;text-decoration:underline}.legal-text a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:2px}.legal-sheet .legal-text h1{display:none}.legal-sheet .legal-text:focus-visible{outline:var(--focus-ring);outline-offset:4px;border-radius:6px}.legal-sheet .legal-open{box-sizing:border-box;color:inherit;margin-top:14px;text-decoration:none}.legal-sheet .legal-error{margin:var(--sp-1) 0 0}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:400;src:url(./literata-latin-400-normal-CLtNJ872.woff2)format("woff2");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:Literata;font-style:normal;font-display:swap;font-weight:600;src:url(./literata-latin-600-normal-A9sHopYh.woff2)format("woff2");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:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(./caveat-latin-600-normal-zlTlWIYU.woff2)format("woff2");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{--c-marine:#1f3a5a;--c-marine-deep:#14273f;--c-seaglass:#6fb7ae;--c-seaglass-deep:#3d8b83;--c-brass:#b8893a;--c-brass-light:#e2bd6e;--c-brass-dark:#7f5a1e;--c-wood:#9a6a3c;--c-wood-dark:#6f4a28;--c-signal:#c2412d;--c-paper:#f7f1e2;--c-paper-shade:#e9dfc6;--ink-color:#1c2f47;--ink-faded:#485566;--ink-line:#1c2f4729;--paper-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.36 0 0 0 0 0.2 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--paper-sheet:radial-gradient(130% 160% at 50% 35%, transparent 55%, #a07d3c21 100%), linear-gradient(180deg, #fff6, transparent 40%), var(--paper-noise), var(--c-paper);--paper-shadow:0 1px 1px #14273f1f, 0 10px 26px #14273f42;--rule-color:#3d8b8342;--margin-color:#c2412d61;--brass:linear-gradient(145deg, var(--c-brass-light), var(--c-brass) 55%, var(--c-brass-dark));--rope:#a88a58;--rope-dark:#6f5634;--seaglass-glass:#6fb7ae38;--focus-ring:3px solid var(--c-seaglass-deep);--focus-offset:2px;--tap:44px;--tap-big:50px;--btn-card-min:calc(var(--tap) * 3 + 8px);--close-inset:8px;--font-serif:"Literata", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-hand:"Caveat", "Segoe Print", "Bradley Hand", cursive;--btn-ink:#4a3b2f;--btn-main:#f6a55a;--btn-main-edge:#a85a1c;--btn-side:var(--c-marine);--btn-side-edge:#1f3a5a4d;--btn-warn:var(--c-signal);--btn-warn-edge:#c2412d4d;--btn-off:#e9e1d3;--btn-off-ink:#7a6a5c;--btn-off-line:#cbbfae;--btn-radius:var(--r-m);--btn-line:1.5px;--btn-edge-h:3px;--sel:#a87a2e;--sel-tab:#dcae5c;--sel-tab-ink:#4a3b2f;--sel-seg:#a87a2e;--sel-wheel:#a87a2e;--sel-wheel-glow:#a87a2e59;--c-seal:#a8321f;--font-head:var(--font-serif);--font-head-weight:600;--ink:#4a3b2f;--ink-tint:#4a3b2f14;--cream:#fffaf0e6;--cream-solid:#fffaf0;--accent:#f6a55a;--paper:#fdf5e2;--paper-edge:#f1e2c2;--ink-blue:#3c5a86;--ink-green:#3f7a4a;--marker:#ffce6e8c;--paper-bright:#fff;--ink-book:#6b4a2b;--book-line:#9a7148;--row:#f5ead6;--btn-paper-top:#fff6e4;--btn-paper-bottom:#ffe7c4;--btn-paper-on:#ffe2b4;--btn-paper-edge:#e7c393;--btn-paper-off-top:#f6f3ea;--btn-paper-off-bottom:#ebe5d6;--btn-paper-off-edge:#d4ccb8;--ok-ink:#2f6d33;--ok-bg:#e3f3dc;--done-ink:#4f7f3c;--done-bg:#e4f2d9;--short-ink:#a03c2c;--short-bg:#fde3dc;--post-red:#e2605a;--letter-ink:#3e3024;--world-ink:#3f3025;--badge-ink:#fff8ec;--paper-chip:#f1e2c9;--found-bg:#fff3c9;--coin-bg:#fff4d0;--progress-bg:#f6dcb8;--map-paper:#fff8ea;--shade-rgb:60 40 20;--ink-rgb:74 59 47;--dim-rgb:0 0 0;--book-line-rgb:154 113 72;--gloss-rgb:255 255 255;--cream-rgb:255 250 240;--marine-deep-rgb:20 39 63;--glow-rgb:240 160 75;--ink-color-rgb:28 47 71;--fs-xs:11px;--fs-s:12px;--fs-m:13px;--fs-base:14px;--fs-l:15px;--fs-xl:17px;--r-s:10px;--r-m:14px;--r-l:16px;--r-pill:999px;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--shadow-card:0 4px 16px rgb(var(--shade-rgb) / .18);--shadow-press:inset 0 -3px 0 var(--ink-tint);--shadow-float:0 10px 34px rgb(var(--shade-rgb) / .28);--shadow-sheet:0 -6px 24px rgb(var(--shade-rgb) / .2);--shadow-slot:inset 0 0 0 1.5px rgb(var(--book-line-rgb) / .18);--shadow:var(--shadow-card);--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--edge:12px;--round-btn:56px;--top-bar-h:calc(var(--edge) + var(--safe-t) + var(--round-btn) + 8px);font:600 var(--fs-l)/1.3 ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink)}#ui{height:100vh;height:var(--app-h,100dvh);pointer-events:none;z-index:5;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;top:0;left:0;right:0}#ui button,#ui .sheet-backdrop,#ui .dev-panel{pointer-events:auto}:where(button){font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}[data-scroll]{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.icon{vertical-align:-.18em;flex:none;display:inline-block;overflow:visible}.icon-text{width:auto;line-height:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hud-top{top:calc(10px + var(--safe-t));left:calc(var(--edge) + var(--safe-l));right:calc(10px + var(--safe-r));column-gap:var(--sp-3);pointer-events:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"clock btns""band band""lines rail";align-items:start;display:grid;position:absolute}.top-left,.top-right{display:contents}.hud-top>.top-left>.hud{grid-area:clock;justify-self:start;margin-top:2px}.hud-band{pointer-events:none;flex-direction:column;grid-area:band;min-width:0;max-width:640px;display:flex}.hud-band>.quest-row{margin-top:var(--sp-3)}.hud-band-sub:empty{display:none}.hud-band-sub{margin:-4px var(--sp-4) 0;padding:var(--sp-2) var(--sp-4) var(--sp-1);background:var(--cream);box-shadow:var(--shadow-card);font-size:var(--fs-s);pointer-events:auto;border-radius:0 0 12px 12px;align-self:stretch}.hud-band:has(.quest-line.compact)>.hud-band-sub{border-radius:12px;margin-top:5px}.hud-lines{min-width:0;max-width:calc(var(--hud-rail-left,100vw) - var(--edge) - var(--safe-l) - 10px);align-items:flex-start;gap:var(--sp-3);pointer-events:none;flex-direction:column;grid-area:lines;display:flex}.hud-lines:not(:empty){margin-top:var(--sp-3)}.hud-rail{justify-self:end;align-items:flex-end;gap:var(--sp-4);margin-top:var(--sp-4);flex-direction:column;grid-area:rail;display:flex}@media (orientation:landscape){.hud-top{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"clock band band btns""lines lines rail rail"}.hud-band{width:100%}.hud-band>.quest-row{margin-top:0}}.hud{gap:var(--sp-2);background:var(--cream);padding:var(--sp-3) 14px;border-radius:var(--r-l);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);font-size:var(--fs-base);white-space:nowrap;align-items:center;display:flex;overflow:hidden}.hud.hud-btn{box-sizing:content-box;color:inherit;text-align:left;pointer-events:auto;cursor:pointer;box-shadow:var(--shadow-card), inset 0 0 0 1.5px #c98e5a52, inset 0 -2px 0 rgb(var(--book-line-rgb) / .16);border:0;margin:0;transition:transform 80ms ease-out}.hud.hud-btn:active{transform:scale(.97)}:where(button,a,input,select,textarea,summary,[role=button],[role=tab],[tabindex]:not([tabindex="-1"])):focus-visible,.hud.hud-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}[role=dialog][tabindex="-1"]:focus{outline:none}@media (hover:hover){.hud.hud-btn:hover{background:#fffcf5f7}}.hud-clock{font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.hud-sep{opacity:.4}.hud-season{align-items:center;gap:var(--sp-1);display:inline-flex}@media (orientation:portrait) and (max-width:520px),(orientation:landscape) and (max-height:520px){.hud{padding:var(--sp-2) var(--sp-5) 7px var(--sp-5);border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,auto);align-items:center;gap:1px 9px;display:grid}.hud-sep{display:none}.hud-clock{letter-spacing:-.01em;grid-area:1/1/span 2;font-size:26px;font-weight:600;line-height:1}.hud-day{font-size:var(--fs-m);white-space:nowrap;grid-area:1/2;line-height:1.15}.hud-season{font-size:var(--fs-m);opacity:.85;grid-area:2/2;gap:3px;line-height:1.15}.hud-season .icon{width:20px;height:20px}}.top-row{justify-self:end;gap:var(--sp-3);grid-area:btns;align-items:flex-start;display:flex;position:relative}.hud-buttons{align-items:flex-end;gap:var(--sp-5);flex-direction:column;display:flex}.hud-buttons:empty{display:none}@media (orientation:landscape) and (max-height:520px){.hud-rail{align-items:flex-start;gap:var(--sp-3);margin-top:var(--sp-3);flex-direction:row}.hud-buttons{gap:var(--sp-3);flex-direction:row-reverse}}.compass-btn{width:48px;height:48px;margin-right:var(--sp-1);background:var(--cream);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);visibility:hidden;opacity:0;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .2s,transform .2s,visibility 0s linear .2s;display:grid;transform:scale(.7)}.compass-btn.shown{visibility:visible;opacity:1;transition:opacity .2s,transform .25s cubic-bezier(.3,1.5,.5,1),visibility;transform:scale(1)}.compass-btn.shown:active{transform:scale(.92)}@media (orientation:landscape) and (max-height:520px){.compass-btn{width:44px;height:44px;margin:var(--sp-2) 0 0}}.round-btn{width:var(--round-btn);height:var(--round-btn);background:var(--cream);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(6px);border:0;border-radius:18px;place-items:center;padding:0;display:grid;position:relative}.round-btn.on{box-shadow:0 0 0 3px var(--c-brass-light), var(--shadow-card);background:#fff3d8}.round-btn:active,.mini-btn:active{transform:scale(.94)}.badge{background:var(--ink);color:var(--badge-ink);font-size:var(--fs-xs);padding:2px var(--sp-2);border-radius:var(--r-pill);position:absolute;bottom:-6px;right:-4px}.bottom-left{left:calc(var(--edge) + var(--safe-l));bottom:calc(26px + var(--safe-b));width:min(360px, calc(100vw - 160px - var(--safe-l) - var(--safe-r)));align-items:flex-start;gap:var(--sp-3);pointer-events:none;max-width:calc(var(--seed-ring-left,100vw) - var(--edge) - var(--safe-l) - 10px);flex-direction:column;display:flex;position:absolute}@media (orientation:landscape) and (max-height:520px){.bottom-left{left:calc(var(--edge) + var(--safe-l) + 8px);bottom:calc(18px + var(--safe-b));width:min(380px, calc(100vw - 160px - var(--safe-l) - var(--safe-r)))}}.cam-btns{gap:var(--sp-2);padding:var(--sp-1);border-radius:var(--r-l);background:rgb(var(--cream-rgb) / .55);box-shadow:0 2px 10px rgb(var(--shade-rgb) / .12);-webkit-backdrop-filter:blur(6px);display:flex}.mini-btn{background:rgb(var(--cream-rgb) / .85);border:0;border-radius:13px;place-items:center;width:44px;height:44px;padding:0;display:grid}.action-btn{right:calc(18px + var(--safe-r));bottom:calc(26px + var(--safe-b));width:112px;min-height:112px;padding:var(--sp-5) var(--sp-3) 14px;background:linear-gradient(180deg, var(--btn-paper-top), var(--btn-paper-bottom));box-shadow:0 6px 0 var(--btn-paper-edge), var(--shadow-card);border:0;border-radius:34px;flex-direction:column;justify-content:center;align-items:center;gap:2px;animation:.22s ease-out pop-in;display:flex;position:absolute}.action-btn:active{box-shadow:0 2px 0 var(--btn-paper-edge), var(--shadow-card);transform:translateY(4px)}.action-btn.held{box-shadow:0 2px 0 var(--btn-paper-edge), 0 0 0 3px #9cf27ed9, var(--shadow-card);transform:translateY(4px)}.action-alt{right:calc(18px + 24px + var(--safe-r));bottom:calc(26px + 112px + 14px + var(--safe-b));background:linear-gradient(180deg, var(--btn-paper-top), #f6e2c2);min-width:64px;max-width:104px;height:64px;box-shadow:0 4px 0 #e2c093, var(--shadow-card);font-size:var(--fs-xs);text-align:center;border:0;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 7px;line-height:1.1;animation:.22s ease-out pop-in;display:flex;position:absolute}.action-alt:active{box-shadow:0 1px 0 #e2c093, var(--shadow-card);transform:translateY(3px)}@media (orientation:landscape) and (max-height:520px){.action-alt{right:calc(18px + 16px + var(--safe-r));bottom:calc(18px + 96px + 12px + var(--safe-b))}}.action-btn.muted{background:linear-gradient(180deg, var(--btn-paper-off-top), var(--btn-paper-off-bottom));box-shadow:0 6px 0 var(--btn-paper-off-edge), var(--shadow-card)}.action-icon{place-items:center;height:42px;line-height:1;display:grid}.action-label{text-align:center;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:manual;hyphens:manual;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:16px;line-height:1.15;display:-webkit-box;overflow:hidden}.action-label.long{font-size:var(--fs-base)}.action-sub{font-size:var(--fs-s);opacity:.7;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.progress{border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .15);width:76px;height:7px;margin-top:var(--sp-1);overflow:hidden}.progress>span{background:#7dc56a;height:100%;display:block}.toasts{z-index:9;gap:var(--sp-2);flex-direction:column;align-items:flex-start;width:100%;display:flex;position:relative}#ui:has([role=dialog]:not(.place-card)) .toasts{top:calc(var(--safe-t) + 12px);align-items:center;width:min(360px,100vw - 32px);position:fixed;left:50%;transform:translate(-50%)}.toast{box-sizing:border-box;background:var(--cream);-webkit-backdrop-filter:blur(6px);border-radius:var(--r-m);max-width:100%;box-shadow:0 3px 12px rgb(var(--shade-rgb) / .16);text-align:left;font-size:var(--fs-base);align-items:center;gap:7px;padding:7px 13px 7px 9px;animation:.25s ease-out toast-in;display:flex}.toast.bump{animation:.3s ease-out toast-bump}@keyframes toast-bump{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.toast-icon{place-items:center;display:grid}button.toast{color:inherit;font:inherit;font-size:var(--fs-base);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;border:0}#ui button.toast.tappable:not(.armed){pointer-events:none}.toast.tappable.armed{pointer-events:auto}.toast.tappable:active{filter:brightness(.97)}.toast.dragging{animation:none}.toast.gone{transition:transform .16s ease-in,opacity .16s ease-in;opacity:0!important}.toast-go,.toast-x{opacity:.55;flex:none;margin-left:2px;font-size:18px;line-height:1}.toast-go{opacity:.75;font-size:22px}.sheet-backdrop{background:#281e142e;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{width:min(520px,100vw);max-height:calc(100% - 70px - var(--safe-t));box-sizing:border-box;background:var(--cream-solid);padding:16px calc(16px + var(--safe-r)) calc(18px + var(--safe-b)) calc(16px + var(--safe-l));box-shadow:var(--shadow-sheet);border-radius:26px 26px 0 0;flex-direction:column;animation:.22s ease-out sheet-in;display:flex}.sheet-body{min-height:0;padding:2px var(--sp-1) var(--sp-1);margin:0 -4px;overflow-y:auto}.sheet-head{margin-bottom:var(--sp-5);flex:none;justify-content:space-between;align-items:center;display:flex}.sheet-grip{cursor:grab;touch-action:none;flex:none;align-self:center;place-items:center;width:88px;height:18px;margin:-12px 0 -2px;display:grid}.sheet-grip>span{background:rgb(var(--ink-rgb) / .5);border-radius:3px;width:40px;height:5px}.sheet h2{align-items:center;gap:var(--sp-3);margin:0;font-size:18px;display:flex}:is(.sheet h2,.settings .dev-label,.morning-title strong,.morning-sec h3,.place-card-head h2,.fish-card-title,.fish-card-name,.shop-greet .shop-keeper){font-family:var(--font-head);font-weight:var(--font-head-weight);letter-spacing:0}.close{border-radius:var(--btn-radius);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.close svg{width:22px;height:22px}.close--corner{top:var(--close-inset);right:var(--close-inset);z-index:1;position:absolute}.sheet-head .close{margin-right:-8px}.draft-discard,.quest-line.compact,button.band-builder,button.genuss-chip,.ws-cancel,.book-tab{position:relative}.draft-discard:before,.quest-line.compact:before,button.band-builder:before,button.genuss-chip:before,.ws-cancel:before,.book-tab:before{content:"";inset:min(0px, calc((100% - var(--tap)) / 2));position:absolute}.draft-discard:before{left:-4px;right:-6px}.book-tab:before{inset:-18px 0 0}.book-tab:not(.on):before{top:-22px}.quest-line.compact:before{inset:-12px 0 0}@media (max-height:460px){button.quest-line.compact{min-height:var(--tap)}.quest-line.compact:before{content:none}}button.band-builder:before{top:-10px;bottom:-12px}@media (min-width:700px) and (min-height:521px),(orientation:landscape) and (min-height:521px){.sheet-backdrop{align-items:center}.sheet{border-radius:26px;max-height:min(680px,100% - 80px);padding:18px}.sheet-grip{display:none}}@media (orientation:landscape) and (min-height:521px){.sheet-backdrop.sheet-backdrop{padding-top:var(--top-bar-h);padding-bottom:calc(16px + var(--safe-b))}.sheet-backdrop>.sheet{max-height:min(680px,100%)}}@media (orientation:landscape) and (max-height:520px){.sheet-backdrop{justify-content:flex-end;align-items:stretch}.sheet{width:min(400px,56vw);height:100%;max-height:none;padding:calc(12px + var(--safe-t)) calc(14px + var(--safe-r)) calc(12px + var(--safe-b)) 16px;box-shadow:-6px 0 24px rgb(var(--shade-rgb) / .2);border-radius:26px 0 0 26px;animation:.22s ease-out panel-in}.sheet-grip{display:none}.action-btn{width:96px;min-height:96px;bottom:calc(18px + var(--safe-b));border-radius:30px}}.grid{gap:var(--sp-3);grid-template-columns:repeat(5,1fr);display:grid}.slot{aspect-ratio:1;border-radius:var(--r-l);background:var(--row);box-shadow:var(--shadow-press);border:0;place-items:center;padding:0;display:grid;position:relative}.slot.empty{background:rgb(var(--ink-rgb) / .05);box-shadow:none}.slot.sel{outline:3px solid var(--sel)}.slot-icon{width:62%;height:62%}.qty{font-size:var(--fs-s);position:absolute;bottom:4px;right:6px}.slot-info{margin-top:var(--sp-5);text-align:center;min-height:24px;font-size:var(--fs-base);justify-content:center;align-items:center;gap:var(--sp-2);display:flex}.item-actions{justify-content:center;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.item-action{border-radius:var(--r-m);padding:var(--sp-3) 14px;background:linear-gradient(180deg, var(--btn-paper-top), var(--btn-paper-bottom));box-shadow:0 3px 0 var(--btn-paper-edge);align-items:center;gap:var(--sp-2);border:0;display:inline-flex}.item-action:active{box-shadow:0 1px 0 var(--btn-paper-edge);transform:translateY(2px)}.badge.full{background:#c0584e}.sheet-count{font-size:var(--fs-m);opacity:.6;margin-left:2px;font-weight:600}.wallet{margin:-4px 2px var(--sp-4);font-size:var(--fs-l);justify-content:flex-end;gap:14px;display:flex}.wallet-item{padding:3px var(--sp-4) 3px var(--sp-2);border-radius:var(--r-pill);background:rgb(var(--ink-rgb) / .06);align-items:center;gap:5px;display:inline-flex}.bag-sub{margin:14px 2px var(--sp-2);font-size:var(--fs-m);opacity:.75}.bag-sub-note{font-weight:500}.belt-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.belt-tool{border-radius:var(--r-m);background:var(--row);place-items:center;width:48px;height:48px;display:grid;position:relative}.belt-tool.missing{background:rgb(var(--ink-rgb) / .05)}.belt-tool.missing .icon{opacity:.28;filter:grayscale()}.belt-tool.away:after{content:"";width:9px;height:9px;box-shadow:0 0 0 2px var(--row);background:#8f949a;border-radius:50%;position:absolute;top:3px;right:3px}.valuable-qty{font-size:var(--fs-s);font-variant-numeric:tabular-nums;font-weight:800;position:absolute;bottom:1px;right:3px}.belt-pips{justify-content:center;gap:3px;display:flex;position:absolute;bottom:3px;left:0;right:0}.belt-pips i{background:rgb(var(--ink-rgb) / .2);border-radius:50%;width:5px;height:5px}.belt-pips i.on{background:var(--accent)}.hint{margin:var(--sp-1) 0 var(--sp-3);opacity:.8}@media (orientation:landscape) and (max-height:520px){.grid{grid-template-columns:repeat(4,1fr)}}.stick{background:rgb(var(--cream-rgb) / .26);border:2px solid rgb(var(--cream-rgb) / .7);border-radius:50%;place-items:center;width:116px;height:116px;margin:-58px 0 0 -58px;transition:border-color .12s,box-shadow .12s;display:grid;position:absolute}.stick.run{border-color:rgb(var(--cream-rgb) / .98);box-shadow:0 0 0 3px rgb(var(--cream-rgb) / .35)}.stick-knob{background:rgb(var(--cream-rgb) / .92);width:52px;height:52px;box-shadow:var(--shadow-card);border-radius:50%}.settings{flex-direction:column;gap:14px;display:flex}.settings-row{align-items:center;gap:var(--sp-5);width:100%;min-height:56px;padding:var(--sp-3) 14px;border-radius:var(--r-l);background:var(--row);text-align:left;border:0;display:flex}.settings-row>span:nth-child(2){flex:1}.settings-haptic-test{margin-top:var(--sp-3)}.settings-haptic-test .settings-hint:empty{display:none}.settings-chev{opacity:.5;font-size:18px}.settings-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-s);opacity:.7;font-weight:500}.settings-install{gap:var(--sp-5);padding:var(--sp-5) 14px;border-radius:var(--r-l);background:#86cdf02e;align-items:flex-start;display:flex}.dev-panel{padding:var(--sp-4) 2px 2px;font-size:var(--fs-base);font-weight:500}.dev-row{margin-bottom:var(--sp-4)}.dev-label{margin-bottom:5px;font-weight:650}.seg{background:rgb(var(--ink-rgb) / .1);border-radius:11px;gap:3px;padding:3px;display:flex}.seg button{min-height:var(--tap);background:0 0;border:0;border-radius:9px;flex:1;font-weight:600}.seg.seg-stack{flex-direction:column}.seg.seg-stack button{text-align:left;padding:var(--sp-2) var(--sp-5)}.seg button[aria-pressed=true],.seg button[role=tab][aria-selected=true]{background:var(--paper-bright);box-shadow:0 1px 4px rgb(var(--shade-rgb) / .2), inset 0 0 0 2px var(--sel-seg)}.dev-reset{width:100%;min-height:var(--tap);border-radius:var(--r-s);margin-top:var(--sp-1);background:#f3d2c7;border:0}.save-transfer .seg button,.save-transfer .file-btn{font-size:var(--fs-m)}.file-btn{min-height:var(--tap);cursor:pointer;pointer-events:auto;border-radius:9px;flex:1;place-items:center;display:grid}.file-btn input{display:none}.save-text{box-sizing:border-box;width:100%;min-height:64px;margin-top:var(--sp-2);border-radius:var(--r-s);background:rgb(var(--ink-rgb) / .06);font:var(--fs-xs)/1.3 ui-monospace, Menlo, monospace;color:inherit;padding:var(--sp-3);resize:vertical;pointer-events:auto;-webkit-user-select:text;user-select:text;border:0}.save-import{background:#d8e8c9}.save-import:disabled{opacity:.5}.settings-sub,.controls-kind{margin-top:var(--sp-4)}.controls-groups{gap:var(--sp-2) 14px;margin-top:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.controls-group{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-m);background:rgb(var(--ink-rgb) / .05);align-items:flex-start;display:flex}.controls-icon{flex:none;margin-top:1px}.controls-group h3{font-size:var(--fs-base);margin:2px 0 3px;font-weight:700}.controls-group ul{font-size:var(--fs-m);margin:0;padding:0;font-weight:500;line-height:1.35;list-style:none}.controls-line+.controls-line{margin-top:3px}.controls-keys{margin-right:var(--sp-2);vertical-align:1px;flex-wrap:wrap;gap:3px;display:inline-flex}.controls-keys kbd{padding:3px var(--sp-2);background:var(--paper-bright);box-shadow:0 1px 0 rgb(var(--ink-rgb) / .35);white-space:nowrap;border-radius:6px;font:650 11.5px/1 ui-rounded,SF Pro Rounded,Nunito,system-ui,sans-serif}.viewport-info summary{cursor:pointer;margin:0}.viewport-info pre{margin:var(--sp-2) 0 0;font:var(--fs-xs)/1.4 ui-monospace, Menlo, monospace;white-space:pre-wrap;word-break:break-word;opacity:.75;-webkit-user-select:text;user-select:text}.dev-url{font:var(--fs-xs)/1.3 ui-monospace, Menlo, monospace;opacity:.55;word-break:break-all;margin-top:var(--sp-3)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}@keyframes panel-in{0%{opacity:0;transform:translate(40px)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important}}#fx{height:100vh;height:var(--app-h,100dvh);pointer-events:none;z-index:4;font:700 var(--fs-l)/1.2 ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink);position:fixed;top:0;left:0;right:0;overflow:hidden}.fx-float,.fx-hint{white-space:nowrap;will-change:transform, opacity;opacity:0;align-items:center;gap:5px;display:flex;position:absolute;top:0;left:0}.fx-float{font-size:var(--fs-xl);color:var(--world-ink);text-shadow:0 0 3px var(--cream-solid), 0 0 6px var(--cream-solid), 0 1px 0 var(--cream-solid), 0 2px 6px rgb(var(--shade-rgb) / .35);white-space:normal;text-align:center;text-wrap:balance;width:max-content;max-width:min(300px,80vw)}.fx-float.fx-bump>span:not(.fx-icon){animation:.28s ease-out fx-bump;display:inline-block}@keyframes fx-bump{40%{transform:scale(1.22)}}.fx-float .fx-icon svg{width:22px;height:22px;filter:drop-shadow(0 1px 2px rgb(var(--shade-rgb) / .35))}.fx-hint{font:600 13.5px/1.3 var(--font-serif);color:var(--ink-color);background:var(--paper-sheet);padding:5px var(--sp-4) 5px var(--sp-3);box-shadow:0 1px 1px rgb(var(--marine-deep-rgb) / .14), 0 4px 12px rgb(var(--marine-deep-rgb) / .22);white-space:normal;text-wrap:pretty;border-radius:2px;width:max-content;max-width:min(270px,74vw);margin-top:-13px}.fx-hint:after{content:"";left:calc(50% + var(--tail,0px));background:repeating-linear-gradient(to bottom, var(--rope) 0 2px, var(--rope-dark) 2px 3px);border-radius:1px;width:2px;height:11px;margin-left:-1px;position:absolute;bottom:-11px}.fx-hint:before{content:"";left:calc(50% + var(--tail,0px));background:var(--brass);width:6px;height:6px;box-shadow:0 .5px 1px rgb(var(--marine-deep-rgb) / .4);z-index:1;border-radius:50%;margin-left:-3px;position:absolute;bottom:-2px}.fx-hint .fx-icon svg{width:18px;height:18px}.fx-icon{place-items:center;line-height:1;display:grid}.fx-icon-text{font-size:var(--fs-xl)}.fx-count{font-size:var(--fs-m);opacity:.8;margin-left:2px}.vol-list{gap:var(--sp-1);flex-direction:column;display:flex}.vol-row{align-items:center;gap:var(--sp-4);min-height:var(--tap);pointer-events:auto;grid-template-columns:minmax(84px,7.5em) 1fr 2.4em;font-weight:600;display:grid}.vol-row input[type=range]{width:100%;min-width:0;height:var(--tap);accent-color:#c9855a;touch-action:pan-y;margin:0}.vol-label{flex-direction:column;line-height:1.15;display:flex}.vol-sub{font-size:var(--fs-xs);opacity:.65;font-weight:500}.vol-value{text-align:right;font-variant-numeric:tabular-nums;opacity:.7;font-size:var(--fs-m)}.sound-toggle{text-align:left;padding:0 var(--sp-5);background:#e9e0cf}.sound-group{margin-top:var(--sp-3)}.sound-list{gap:var(--sp-1);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.sound-item{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:2px var(--sp-3);background:rgb(var(--ink-rgb) / .07);text-align:left;border:0;border-radius:8px;font:11.5px/1.2 ui-monospace,Menlo,monospace;display:flex}.sound-item .sound-id{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sound-item .sound-state{opacity:.8;flex:none;font-family:inherit}.sound-item.missing .sound-state{color:#a0673f}.sound-item.has{background:#d8e8c9}.group-note{font-size:var(--fs-xs);opacity:.75;flex-basis:100%;font-style:italic;font-weight:500;line-height:1.25;display:block}body:is(.cinematic,.story-scene) #ui :is(.hud,.hud-top,.top-left,.top-right,.compass-btn,.action-btn,.action-alt,.wheel),body:is(.cinematic,.story-scene) #ui .bottom-left>:not(.toasts){visibility:hidden;pointer-events:none}#ui:has(.vd-layer,.avatar-layer) :is(.action-btn,.action-alt,.wheel.ride){display:none}@media (orientation:landscape) and (max-height:520px){#ui:has(.vd-layer) .hud-top{visibility:hidden;pointer-events:none}}:where(.btn){justify-content:center;align-items:center;gap:var(--sp-3);min-height:var(--tap);font-size:var(--fs-l);cursor:pointer;padding:0 16px;display:inline-flex}:where(.btn--big){min-height:var(--tap-big);padding:0 18px;font-size:16px}:where(.btn--small){font-size:var(--fs-base);padding:0 14px}.btn{--b-bg:transparent;--b-ink:var(--btn-side);--b-line:var(--btn-side);--b-edge:var(--btn-side-edge)}.btn--main{--b-bg:var(--btn-main);--b-ink:var(--btn-ink);--b-line:var(--btn-main-edge);--b-edge:var(--btn-main-edge)}.btn--warn{--b-ink:var(--btn-ink);--b-line:var(--btn-warn);--b-edge:var(--btn-warn-edge)}.btn{border:var(--btn-line) solid var(--b-line);border-radius:var(--btn-radius);background:var(--b-bg);color:var(--b-ink);box-shadow:0 var(--btn-edge-h) 0 var(--b-edge), var(--b-extra,0 0 transparent);opacity:1;font-weight:700;position:relative}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--b-edge), var(--b-extra,0 0 transparent);transform:translateY(2px)}.btn:disabled{background:var(--btn-off);color:var(--btn-off-ink);border:var(--btn-line) dashed var(--btn-off-line);box-shadow:var(--b-extra,0 0 transparent);cursor:default;transform:none}.btn.btn--quiet{color:var(--btn-ink);box-shadow:none;text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.btn.btn--quiet:active:not(:disabled){box-shadow:none;transform:none}.btn:focus-visible{outline:none}.btn:focus-visible:after{--ring-out:calc(-1 * (var(--focus-offset) + 3px + var(--btn-line)));content:"";inset:var(--ring-out);bottom:calc(var(--ring-out) - var(--btn-edge-h));border:var(--focus-ring);border-radius:calc(var(--btn-radius) + var(--focus-offset) + 3px + var(--btn-line));pointer-events:none;position:absolute}.btn:focus-visible:active:not(:disabled):after{top:calc(var(--ring-out) - 2px);bottom:calc(var(--ring-out) - 1px)}.btn.btn--quiet:focus-visible:after{bottom:var(--ring-out)}.action-btn{--ring-edge:6px}.action-alt{--ring-edge:4px}.item-action,.ws-repeat{--ring-edge:3px;position:relative}:is(.action-btn,.action-alt:not(.by-wheel),.item-action,.ws-repeat):focus-visible{outline:none}:is(.action-btn,.action-alt:not(.by-wheel),.item-action,.ws-repeat):focus-visible:after{content:"";inset:calc(-1 * (var(--focus-offset) + 3px));bottom:calc(-1 * (var(--focus-offset) + 3px) - var(--ring-edge));border:var(--focus-ring);border-radius:inherit;pointer-events:none;position:absolute}.order-big-tag,.fish-badge.record{background:var(--sel-tab);color:var(--btn-ink)}.order-big-tag{box-shadow:inset 0 0 0 1px var(--sel)}.fish-badge.new{background:var(--c-seal);color:var(--cream-solid)}:where(:root[data-input=mouse] :is([role=dialog],[role=alertdialog]) [data-primary]:not(.close,:disabled)){position:relative}:where(:root[data-input=mouse] :is([role=dialog],[role=alertdialog]) [data-primary]:not(.close,:disabled)):before{content:"⏎";font:700 var(--fs-s)/1 system-ui, sans-serif;color:var(--b-ink,var(--btn-ink));opacity:.6;pointer-events:none;border:1px solid;border-radius:4px;padding:1px 3px 2px;position:absolute;top:4px;right:5px}
