.tool{--t-ink:var(--ink);--t-sheet:var(--paper);--t-card:#fffcf5;--t-muted:#2a1c12b8;--t-rule:#2a1c1229;--t-key:var(--ink);--t-on-key:var(--paper);color:var(--t-ink);font-family:var(--ui);align-content:start;gap:20px;font-size:14.5px;line-height:1.45;display:grid}.tool *,.tool :before,.tool :after{box-sizing:border-box}.tool [hidden]{display:none!important}.t-btn{min-height:40px;font:inherit;white-space:nowrap;color:var(--t-ink);background:var(--t-card);cursor:pointer;border:2px solid var(--t-ink);box-shadow:2px 2px 0 var(--t-ink);transition:transform .1s var(--ease), box-shadow .1s var(--ease), background-color .12s linear;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.15;text-decoration:none;display:inline-flex}.t-btn:hover{box-shadow:3px 3px 0 var(--t-ink);transform:translate(-1px,-1px)}.t-btn:active{box-shadow:0 0 0 var(--t-ink);transform:translate(1px,1px)}.t-btn.key{color:var(--t-on-key);background:var(--t-key)}.t-btn.quiet{box-shadow:none;border-width:1.5px}.t-btn.quiet:hover{box-shadow:none;background:#2a1c120f;transform:none}.t-btn.big{border-radius:10px;min-height:52px;padding:12px 22px;font-size:16px}.t-btn:disabled,.t-btn[aria-disabled=true]{opacity:.42;pointer-events:none;box-shadow:none}.t-btn svg{flex:none}.t-icon-btn{min-width:40px;padding:8px}.t-field{gap:6px;min-width:0;display:grid}.t-label{color:var(--t-muted);font-size:12.5px;font-weight:600}.t-input,.t-select,.t-textarea{width:100%;min-width:0;min-height:40px;font:inherit;color:var(--t-ink);background:var(--t-card);border:2px solid var(--t-ink);-webkit-appearance:none;appearance:none;border-radius:8px;padding:8px 11px;font-size:14.5px}.t-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%232A1C12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:11px;padding-right:32px}.t-textarea{resize:vertical;line-height:1.5}.t-input::placeholder,.t-textarea::placeholder{color:var(--t-muted);opacity:1}.t-num-input{font-family:var(--mono);font-variant-numeric:tabular-nums}.t-seg{flex-wrap:wrap;gap:6px;display:flex}.t-seg button{min-height:36px;font:inherit;cursor:pointer;color:var(--t-ink);background:0 0;border:1.5px solid;border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;transition:background-color .12s linear,color .12s linear}.t-seg button:hover{background:#2a1c1212}.t-seg button[aria-pressed=true],.t-seg button[aria-checked=true]{color:var(--t-on-key);background:var(--t-key);border-color:var(--t-key)}.t-big{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:800;line-height:.95}.t-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.t-head{font-family:var(--display);font-variation-settings:"wdth" 92;margin:0;font-size:19px;font-weight:750;line-height:1.1}.t-note{color:var(--t-muted);margin:0;font-size:12.5px;line-height:1.45}.t-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.t-grow{flex:1;min-width:0}.t-rule{border:0;border-top:1.5px solid var(--t-rule);height:0;margin:0}.t-card{background:var(--t-card);border:2px solid var(--t-ink);border-radius:10px;padding:14px}.tool :-webkit-any(button,input,select,textarea,a,[tabindex="0"]):focus-visible{outline:3px solid var(--t-ink);outline-offset:2px}.tool :is(button,input,select,textarea,a,[tabindex="0"]):focus-visible{outline:3px solid var(--t-ink);outline-offset:2px}.t-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:none),(pointer:coarse){.t-btn,.t-input,.t-select{min-height:44px}.t-seg button{min-height:44px;padding:8px 14px}.t-input,.t-select,.t-textarea{font-size:16px}.t-icon-btn{min-width:44px}}@media (prefers-reduced-motion:reduce){.t-btn,.t-seg button{transition:none}.t-btn:hover,.t-btn:active{transform:none}}.tool>.t-btn{justify-self:start}#ui{z-index:5;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#ui:before{content:"";pointer-events:none;background:radial-gradient(100% 100% at 0 0,#1c130d9e,#1c130d4d 45%,#0000 75%);width:360px;height:130px;position:absolute;top:0;left:0}:root:not([data-state=room]):not([data-state=door]) #ui:before,:root[data-clean] #ui:before{opacity:0}.byline,.dock{pointer-events:auto}.mark{left:max(18px, env(safe-area-inset-left));top:max(14px, env(safe-area-inset-top));font-family:var(--display);font-variation-settings:"wdth" 112;letter-spacing:-.01em;color:var(--paper);text-shadow:0 1px #2a1c1299,0 0 18px #1c130d59;margin:0;font-size:21px;font-weight:800;line-height:1;position:absolute;pointer-events:none!important}.byline{left:max(18px, env(safe-area-inset-left));top:calc(max(14px, env(safe-area-inset-top)) + 27px);color:var(--paper);text-shadow:0 1px #2a1c12b3;text-underline-offset:3px;font-size:12.5px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;transition:opacity .2s linear;position:absolute}.byline:hover{text-decoration-thickness:2px}.byline:focus-visible{outline:2px solid var(--paper);outline-offset:3px;box-shadow:0 0 0 5px var(--ink);border-radius:2px}.words{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.word{white-space:nowrap;color:var(--ink);line-height:1;font-family:var(--ui);font-kerning:normal;font-weight:600}.w-plate{font-family:var(--display);font-variation-settings:"wdth" 72;letter-spacing:0;background:var(--paper);border-radius:3px;padding:.18em .4em .2em;font-weight:700;box-shadow:0 0 0 1px #2a1c1240}.w-cal-month{color:var(--paper);font-family:var(--display);font-variation-settings:"wdth" 100;font-weight:700}.w-cal-day{font-family:var(--display);font-variation-settings:"wdth" 92;letter-spacing:-.03em;font-feature-settings:"tnum";font-weight:800}.w-cal-week{font-weight:500}.w-cal-holiday{text-overflow:ellipsis;max-width:11em;font-weight:500;overflow:hidden}.w-drawer{letter-spacing:.005em;text-overflow:ellipsis;max-width:24em;font-weight:600;overflow:hidden}.w-dial,.w-dial-sub{font-family:var(--mono);text-overflow:ellipsis;max-width:13em;font-weight:600;overflow:hidden}.w-dial-sub{opacity:.85;font-weight:500}.w-woven{letter-spacing:.14em;font-size:8px;font-weight:800}.w-door{font-family:var(--display);font-variation-settings:"wdth" 104;color:#2a1c12;font-weight:700}.w-note{white-space:normal;letter-spacing:-.005em;width:8.4em;font-weight:560;line-height:1.14}.w-note-in{-webkit-line-clamp:5;overflow-wrap:anywhere;transform-origin:50%;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.w-note.done .w-note-in{opacity:.6;text-decoration:line-through;text-decoration-thickness:.08em}.w-neon{font-family:"Tilt Neon", var(--ui);letter-spacing:.08em;color:#fff0d6;text-shadow:0 0 .04em #fff4e2,0 0 .12em #ffc46e,0 0 .3em #ff9a3d,0 0 .7em #ff882e8c;font-weight:400}.pin{pointer-events:none}.tag{opacity:1;padding-bottom:12px}.tag-in{max-width:min(280px,100vw - 32px);color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--ui);border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px 9px;display:flex}.tag-name{letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;line-height:1.2;overflow:hidden}.tag-line{color:#2a1c12bd;font-size:12.5px;font-weight:450;line-height:1.35}.tag-line[hidden]{display:none}.drawer-tag{padding-left:14px}.drawer-in>*{display:block}.drawer-name{max-width:min(420px,46vw);color:var(--ink);background:var(--manila);border:2px solid var(--ink);font-family:var(--display);letter-spacing:-.01em;font-variation-settings:"wdth" 84;border-bottom:0;border-radius:8px 8px 0 0;padding:10px 14px 4px;font-size:30px;font-weight:800;line-height:1}.drawer-meta{color:#2a1c12c7;background:var(--manila);border:2px solid var(--ink);max-width:min(420px,46vw);box-shadow:3px 3px 0 var(--ink);font-family:var(--mono);border-top:0;border-radius:0 0 8px 8px;padding:2px 14px 10px;font-size:11.5px;font-weight:500}.drawer-name{box-shadow:3px 0 0 var(--ink)}:root[data-state=loading] .words,:root[data-state=saver] .words,:root[data-state=door] .word:not(.w-door),:root[data-state=door] .pin{visibility:hidden}:root:not([data-state=room]):not([data-state=door]) .mark,:root:not([data-state=room]):not([data-state=door]) .byline{opacity:0;pointer-events:none;visibility:hidden}:root[data-clean] .tag,:root[data-clean] .drawer-tag,:root[data-clean] .mark,:root[data-clean] .byline,:root[data-clean] .dock{display:none!important}.dock{z-index:18;left:50%;bottom:max(16px, env(safe-area-inset-bottom));max-width:calc(100vw - 24px);transition:opacity .2s linear;position:absolute;transform:translate(-50%)}.dock-row{background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;border-radius:14px;align-items:center;gap:2px;padding:5px;display:flex;overflow-x:auto}.dock-row::-webkit-scrollbar{display:none}.dock-btn{scroll-snap-align:center;width:38px;height:38px;color:var(--ink);cursor:pointer;transition:background-color .12s linear, transform .12s var(--ease);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid;position:relative}.dock-btn:hover{background:#2a1c1217}.dock-btn:active{transform:translateY(1px)}.dock-btn:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.dock-btn[aria-current=true]{color:var(--paper);background:var(--ink)}.dock-btn.is-on:after{content:"";background:var(--amber);width:7px;height:7px;box-shadow:0 0 0 1.5px var(--ink);border-radius:50%;position:absolute;top:4px;right:4px}.dock-tip{white-space:nowrap;pointer-events:none;font-family:var(--ui);color:var(--paper);background:var(--ink);opacity:0;transition:opacity .12s linear, transform .12s var(--ease);border-radius:6px;padding:5px 9px;font-size:12.5px;font-weight:600;line-height:1.2;position:absolute;bottom:calc(100% + 10px);left:0;transform:translate(-50%,4px)}.dock-tip.show{opacity:1;transform:translate(-50%)}.dock-rule{background:#2a1c122e;border-radius:1px;flex:none;width:2px;height:24px;margin:0 5px}:root[data-state=loading] .dock,:root[data-state=saver] .dock{opacity:0;pointer-events:none;visibility:hidden}:root[data-webgl=off] .dock{top:50%;bottom:auto;transform:translate(-50%,-50%)}:root[data-webgl=off] .dock-row{flex-wrap:wrap;justify-content:center;max-width:min(560px,100vw - 24px)}.door-hint{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 76px);color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);pointer-events:none;opacity:0;border-radius:8px;margin:0;padding:8px 14px;font-size:13.5px;font-weight:600;transition:opacity .25s linear;position:absolute;transform:translate(-50%)}:root[data-state=door] .door-hint.show{opacity:1}#saver{z-index:40;background:var(--night);cursor:none;position:absolute;top:0;bottom:0;left:0;right:0}#saver canvas{width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;bottom:0;left:0;right:0}#saver p{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));text-align:center;color:var(--paper);opacity:.45;margin:0;font-size:12px;position:absolute}@media (hover:none),(pointer:coarse){.dock-btn{width:44px;height:44px}.dock-tip{display:none}}@media (max-width:760px){.mark{font-size:18px}.dock{max-width:none;bottom:0;left:0;right:0;transform:none}.dock-row{padding:5px max(8px, env(safe-area-inset-left)) max(5px, env(safe-area-inset-bottom));box-shadow:none;border-width:2px 0 0;border-radius:0;gap:0;scroll-padding-inline:12px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 22px),#0000)}.dock-rule{height:28px;margin:0 6px}.door-hint{bottom:calc(env(safe-area-inset-bottom) + 84px)}.drawer-name{font-size:24px}}:root[data-webgl=off] #stage{display:none}:root[data-webgl=off] .mark{position:absolute;top:calc(50% - 90px);left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.door-hint,.byline,.dock,.dock-btn,.dock-tip{transition:none}}@media (max-height:500px) and (min-width:761px){.dock{bottom:max(8px, env(safe-area-inset-bottom))}}
