:root{--bg: #2f3b2c;--paper: #fbf6ec;--paper-2: #f2e8d5;--ink: #2b2d42;--ink-2: #5c5f73;--line: #d9cbb0;--accent: #e07a5f;--accent-ink: #ffffff;--good: #3a7d44;--warn: #b5524a;--radius: 12px;--font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0;touch-action:none}#stage canvas{display:block}#stage:focus{outline:none}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}a.btn{text-decoration:none;color:var(--ink);cursor:pointer}.btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font-weight:700;display:inline-flex;align-items:center;gap:6px;min-height:40px}.btn:hover{background:#fff}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.on{background:var(--good);color:#fff;border-color:transparent}.btn.danger{color:var(--warn)}.btn:disabled{opacity:.45;cursor:not-allowed}.field{display:grid;gap:4px;margin:10px 0;font-size:14px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff}.field small{color:var(--ink-2)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--ink-2);font-size:13px}.login{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#4b5e45,var(--bg));padding:16px}.login-card{width:min(420px,100%);background:var(--paper);border-radius:18px;padding:28px 24px;box-shadow:0 20px 60px #00000059}.login-card h1{margin:0;font-size:34px;letter-spacing:.04em}.login-card .tag{color:var(--ink-2);margin:4px 0 18px}.login-card hr{border:0;border-top:1px dashed var(--line);margin:18px 0}.hud-top{position:fixed;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.hud-top>*{pointer-events:auto}.place{background:#fbf6ecf0;border-radius:999px;padding:8px 14px;font-weight:700;box-shadow:0 2px 8px #0003;display:flex;gap:8px;align-items:center}.place small{color:var(--ink-2);font-weight:500}.hud-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hud-buttons .btn{box-shadow:0 2px 8px #0003}.hud-bottom{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:flex-end;justify-content:space-between;pointer-events:none}.hud-bottom>*{pointer-events:auto}.chat{display:flex;gap:6px;background:#fbf6ecf0;border-radius:999px;padding:4px 4px 4px 14px;box-shadow:0 2px 8px #0003;flex:1;max-width:420px}.chat input{border:0;background:transparent;flex:1;min-width:0;outline:none}.mic{width:64px;height:64px;border-radius:50%;border:0;background:var(--paper);box-shadow:0 4px 12px #0000004d;font-size:26px;touch-action:none;user-select:none;-webkit-user-select:none}.mic.on{background:var(--good);color:#fff}.mic:disabled{opacity:.45}.hint{position:fixed;left:50%;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 80px);transform:translate(-50%);background:#2b2d42e0;color:#fff;padding:8px 14px;border-radius:999px;font-size:14px;white-space:nowrap}.banner{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 54px);left:50%;transform:translate(-50%);background:#ef476f;color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.toasts{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 54px);right:10px;display:grid;gap:6px;pointer-events:none;z-index:30}.toast{background:#2b2d42eb;color:#fff;padding:10px 14px;border-radius:10px;font-size:14px;max-width:min(360px,80vw);animation:pop .2s ease-out}.toast.warn{background:#b5524af2}.toast.bell{background:#e9c46a;color:var(--ink);font-weight:700}@keyframes pop{0%{transform:translateY(-6px);opacity:0}}.modal-back{position:fixed;inset:0;background:#14181280;display:grid;place-items:center;padding:12px;z-index:20}.modal{width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--paper);border-radius:16px;box-shadow:0 20px 60px #0006}.modal header{position:sticky;top:0;z-index:5;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.modal header h2{margin:0;font-size:18px}.modal .body{padding:14px 16px 18px}.npc{display:flex;gap:12px;align-items:flex-start;background:var(--paper-2);border-radius:12px;padding:12px;margin-bottom:12px}.npc .face{width:44px;height:44px;border-radius:50%;background:#81b29a;display:grid;place-items:center;font-size:22px;flex:none}.plots{display:grid;gap:6px}.plot{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.plot .st{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--paper-2)}.plot .st.vacant{background:#d8f3dc;color:var(--good)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-bottom:10px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--paper-2)}.price{font-size:20px;font-weight:700}.video{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.item-edit{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0;background:#fff}.item-edit summary{font-weight:700;cursor:pointer}.thumbs{display:flex;gap:4px;flex-wrap:wrap}.thumbs img{width:48px;height:48px;object-fit:cover;border-radius:6px}.menu{position:fixed;background:var(--paper);border-radius:12px;box-shadow:0 8px 24px #0000004d;padding:6px;min-width:180px;z-index:25}.menu .who{padding:6px 10px;font-weight:700;border-bottom:1px solid var(--line);margin-bottom:4px}.menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:8px}.menu button:hover{background:var(--paper-2)}body.clean #ui{display:none}@media(max-width:640px){.place small,.hud-buttons .label{display:none}}.modal.wide{width:min(920px,100%)}.minimap{position:fixed;left:10px;top:calc(max(10px,env(safe-area-inset-top)) + 56px);padding:4px;border-radius:10px;border:2px solid rgba(251,246,236,.95);background:#2b2d4299;box-shadow:0 2px 8px #0000004d;display:grid;gap:2px}.minimap canvas{display:block;width:160px;height:120px;image-rendering:pixelated;border-radius:6px}.minimap span{color:#fff;font-size:11px;text-align:center}.map-canvas canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:10px;cursor:pointer}.map-legend{margin:8px 0}.chip{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--paper-2)}.map-info{min-height:64px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}@media(max-width:640px){.minimap canvas{width:112px;height:84px}}.stand-popup{position:fixed;left:50%;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 84px);transform:translate(-50%);width:min(380px,calc(100vw - 20px));background:var(--paper);border-radius:14px;box-shadow:0 10px 30px #00000059;overflow:hidden;animation:pop .2s ease-out;border:2px solid #3b2a24}.stand-popup img{display:block;width:100%;aspect-ratio:3 / 1;object-fit:cover;image-rendering:pixelated}.stand-popup .txt{padding:10px 14px 12px}.stand-popup .shop{font-weight:700;font-size:15px}.stand-popup .addr{color:var(--ink-2);font-size:12px}.stand-popup p{margin:6px 0 0;white-space:pre-wrap}.exterior-preview{width:100%;max-width:448px;image-rendering:pixelated;border-radius:10px;background:#7fb069;display:block;margin:0 auto 10px}.part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 10px}.part-grid .field{margin:6px 0}.upload-note{font-size:12px;color:var(--ink-2)}.notice{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 54px);left:50%;transform:translate(-50%);max-width:min(520px,80vw);background:#2f3557eb;color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;pointer-events:none}.og-thumb{display:flex;gap:10px;align-items:center;font-size:13px}.og-thumb .og-img{width:56px;height:56px;border-radius:6px;border:3px solid #8a5a3b;box-shadow:inset 0 0 0 1px #5b3b26;object-fit:cover;flex:none;background:#fff}.og-thumb .og-empty{display:grid;place-items:center;color:#b9a98d;font-weight:700}.og-thumb .og-err{display:block;color:#b23a48;margin:2px 0 4px}.hb h3{font-size:13px;margin:12px 0 6px}.hb-view{display:flex;flex-direction:column;align-items:center;gap:6px}.hb-canvas{max-width:100%;image-rendering:pixelated;border-radius:10px;box-shadow:0 2px 10px #00000040;touch-action:none;outline:none;cursor:pointer}.hb-canvas:focus-visible{box-shadow:0 0 0 3px #ffd166}.hb-swatches{display:flex;flex-wrap:wrap;gap:6px}.hb-sw{display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:5px 2px;border:2px solid transparent;border-radius:10px;background:#fffaf0;cursor:pointer}.hb-sw small{font-size:10px;line-height:1.2;text-align:center}.hb-sw canvas{width:32px;height:32px;image-rendering:pixelated;border-radius:6px}.hb-sw.on{border-color:#e0a43a;background:#fff1cf}.hb-dot{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.15)}.hb-keep{width:32px;height:32px;display:grid;place-items:center;font-size:18px}.hb-cols{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}.hb-cols .hb-view{flex:1 1 320px}.hb-side{flex:0 1 240px;min-width:200px}.hb-status{font-size:12px;color:#6b5a4a}.hb-status.bad{color:#c0392b;font-weight:700}.hb-sel{display:flex;flex-direction:column;gap:6px}.hb-inv{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;max-height:260px;overflow:auto}.hb-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:1px solid #e5d9c5;border-radius:8px;background:#fffaf0;cursor:pointer;font-size:11px}.hb-item canvas{image-rendering:pixelated}.hb-item:disabled{opacity:.45;cursor:default}.cls h3{font-size:13px;margin:14px 0 6px}.cls-head{display:flex;gap:10px;align-items:center}.cls-face{width:44px;height:44px;border-radius:50%;object-fit:cover;image-rendering:pixelated;background:#f3ead8;display:grid;place-items:center;font-size:22px;flex:none}.cls-face.sm{width:24px;height:24px;font-size:14px}.cls-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#bbb}.cls-dot.on{background:#2ecc71}.cls-badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:12px;background:#e3f4ec;color:#2d6a4f}.cls-badge.locked{background:#fdeccf;color:#8a5a12}.cls-ok{color:#2d6a4f;font-weight:700}.cls-tickets{display:flex;flex-direction:column;gap:8px}.cls-ticket{display:flex;gap:10px;padding:8px;border:1px solid #eadfcb;border-radius:10px;background:#fffaf0}.cls-ticket img,.cls-noimg{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none;display:grid;place-items:center;background:#f3ead8;font-size:26px}.cls-ticket>div{display:flex;flex-direction:column;gap:4px;min-width:0}.cls-people{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.cls-people li{display:flex;align-items:center;gap:8px}.cls-people li img{width:24px;height:24px;border-radius:50%;image-rendering:pixelated}.cls-people li>span:nth-child(2){flex:1}.cls-code{flex:1;min-width:180px;padding:8px 10px;border:1px solid #d9ccb6;border-radius:8px;font:inherit}.classbar{position:fixed;left:50%;top:58px;transform:translate(-50%);z-index:30;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);padding:6px 10px;border-radius:12px;background:#fffaf0f2;box-shadow:0 2px 10px #0003;font-size:13px}.classbar .cb-title{font-weight:700;margin-right:4px}.screens{position:fixed;right:12px;bottom:90px;z-index:29;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 24px))}.screens.big{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(1100px,calc(100vw - 24px))}.screens .screen{margin:0;background:#111;border-radius:10px;overflow:hidden;box-shadow:0 4px 18px #00000059}.screens video{display:block;width:100%;max-height:70vh;object-fit:contain;background:#000}.screens figcaption{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;color:#fff;font-size:12px;background:#0009}.col{display:flex;flex-direction:column;gap:6px}.cls-sched{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.cls-sched li{display:flex;gap:10px;padding:4px 8px;border-radius:8px;background:#fffaf0;border:1px solid #eadfcb;font-size:13px}.cls-when{font-variant-numeric:tabular-nums;color:#6b5a4a;white-space:nowrap}.cal-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-wd{text-align:center;font-size:11px;color:#6b5a4a}.cal-wd.sun{color:#c0392b}.cal-wd.sat{color:#2c6fbf}.cal-day{min-height:64px;padding:3px;border-radius:6px;background:#fffaf0;border:1px solid #eadfcb;cursor:pointer;display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-day.other{opacity:.45}.cal-day.today{border-color:#e0a43a;box-shadow:inset 0 0 0 1px #e0a43a}.cal-day.past{cursor:default;background:#f4efe6}.cal-num{font-size:11px;font-weight:700}.cal-chip{display:block;width:100%;text-align:left;border:none;border-radius:4px;padding:1px 3px;font-size:10px;line-height:1.3;background:#d8efe4;color:#24543f;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.private{background:#fde3c8;color:#7a4a10}.cal-form{margin-top:10px;padding:10px;border-radius:10px;border:1px solid #e0a43a;background:#fffdf6;display:flex;flex-direction:column;gap:6px}.cal-people{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0}.cal-person{display:flex;align-items:center;gap:4px;font-size:13px}.cal-check,.cal-person{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px}.cal-check input,.cal-person input{width:auto!important;margin:0}.cal-person{white-space:nowrap}.screens figcaption .btn{color:#3b2a1e}.cls-aud{flex:none;padding:0 6px;border-radius:999px;font-size:11px;line-height:18px}.cls-aud.kids{background:#ffe9a8;color:#7a5a00}.cls-aud.adults{background:#dfe7f7;color:#2c4a7f}.cal-chip.kids{border-left:3px solid #f2c55c}.cal-chip.adults{border-left:3px solid #7fa3e0}.timelock{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#181c30d1;padding:16px}.timelock-card{max-width:420px;text-align:center;background:#fffaf0;border-radius:16px;padding:24px 20px;box-shadow:0 10px 40px #0006}.timelock-moon{font-size:48px}.timelock-card h2{margin:6px 0 10px}.pp h3{font-size:13px;margin:12px 0 6px}.pp-head{display:flex;gap:12px;align-items:center}.pp-face{width:56px;height:56px;border-radius:50%;object-fit:cover;image-rendering:pixelated;background:#f3ead8;display:grid;place-items:center;font-size:26px}.pp-links{display:flex;flex-wrap:wrap;gap:6px}.pp-link{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid #e5d9c5;background:#fffaf0;color:#3b2a1e;text-decoration:none;font-size:13px;cursor:pointer}.pp-link.off{opacity:.6;cursor:default}.inv-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0}.inv-cell{position:relative;aspect-ratio:1;border-radius:8px;border:1px solid #d8c9b0;background:#fbf5ea;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.inv-cell.empty{background:#f3ece0;border-style:dashed;cursor:default}.inv-cell img{image-rendering:pixelated;width:70%;height:auto}.inv-cell .qty{position:absolute;right:4px;bottom:2px;font-size:12px;font-weight:700;color:#3b2a1e;text-shadow:0 0 2px #fff,0 0 2px #fff}.inv-cell:hover:not(.empty){border-color:#a3714a}.inv-detail{min-height:3.2em;font-size:13px}.inv-can{display:flex;align-items:center;gap:8px;font-size:13px}.inv-can .meter{flex:1;height:10px;border-radius:5px;background:#e6eef2;overflow:hidden;border:1px solid #b9cfd9}.inv-can .meter .fill{height:100%;background:linear-gradient(90deg,#5fa8d3,#8fd3f4)}@media(max-width:480px){.inv-grid{grid-template-columns:repeat(4,1fr)}}.hotbar{position:fixed;left:50%;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 58px);transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.hb-row{display:flex;gap:4px;padding:4px;border-radius:12px;background:#2b2d42b8;pointer-events:auto}.hb-cell{position:relative;width:46px;height:46px;border-radius:8px;border:2px solid rgba(255,255,255,.25);background:#fbf5eaeb;display:grid;place-items:center;padding:0;cursor:pointer;font-size:20px}.hb-cell img{width:34px;height:34px;image-rendering:pixelated}.hb-cell.sel{border-color:#ffd166;box-shadow:0 0 0 2px #ffd166;transform:translateY(-2px)}.hb-cell .key{position:absolute;left:3px;top:1px;font-size:9px;color:#8a7a66;font-weight:700}.hb-cell .qty{position:absolute;right:3px;bottom:1px;font-size:11px;font-weight:700;color:#3b2a1e;text-shadow:0 0 2px #fff,0 0 2px #fff}.hb-cell .qty.water{color:#1d6fa5}.hb-cell.bag{background:#ffffff2e;border-style:dashed;color:#fff}.hb-info{background:#2b2d42e6;color:#fff;border-radius:10px;padding:6px 10px;font-size:12px;min-width:200px;pointer-events:none}.hb-info .meter{height:6px;border-radius:3px;background:#fff3;overflow:hidden;margin:2px 0 4px}.hb-info .meter .fill{height:100%}.hb-info .meter .grow{background:#8fd060}.hb-info .meter .water{background:#5fc3f0}body.farm-mode .hint{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 118px)}@media(max-width:520px){.hb-cell{width:40px;height:40px}.hb-cell img{width:28px;height:28px}.hotbar{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 110px)}body.farm-mode .hint{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 162px)}}body.farm-mode.farm-info .hint{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 196px)}@media(max-width:520px){body.farm-mode.farm-info .hint{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 244px)}}.inv-cell.hot{background:#fff4d6;border-color:#e7c76a}.inv-cell.hot.empty{background:#fbf0d2}.inv-cell.picked{outline:3px solid #ffd166;outline-offset:1px}.inv-cell .slotkey{position:absolute;left:4px;top:2px;font-size:10px;font-weight:700;color:#b08a2e}.shop-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:6px}.shop-row img{image-rendering:pixelated;flex:none}.shop-row .grow{flex:1;min-width:0;font-size:13px}.shop-row .grow .muted{font-size:12px}.shop-row .price,.shop-row .total{white-space:nowrap;font-size:13px;font-weight:700}.shop-h{margin:10px 0 6px;font-size:14px}.up{color:#2a9d5b;font-weight:700}.down{color:#d1495b;font-weight:700}.market-list{display:grid;grid-template-columns:1fr auto auto;gap:2px 12px;font-size:13px;margin-top:6px}.market-list>div{display:contents}.notices-left{position:fixed;left:10px;top:64px;width:min(300px,72vw);display:grid;gap:6px;z-index:25;pointer-events:none}.notice-card{position:relative;background:#2b2d42eb;color:#fff;padding:8px 30px 8px 12px;border-radius:10px;font-size:13px;line-height:1.5;box-shadow:0 4px 12px #00000040;pointer-events:auto;animation:pop .2s ease-out}.notice-card.farm-wilt{border-left:4px solid #e9a23b}.notice-card.water-ask{border-left:4px solid #5fc3f0}.notice-card .when{font-size:11px;color:#c9cde0;margin-top:2px}.notice-card .x{position:absolute;right:4px;top:4px;width:22px;height:22px;border:0;border-radius:6px;background:#ffffff1f;color:#fff;cursor:pointer;font-size:14px;line-height:1}.notice-card .x:hover{background:#ffffff47}.notice-more{font-size:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.notice-all{justify-self:start;pointer-events:auto;border:0;border-radius:999px;padding:3px 10px;font-size:12px;background:#ffffffd9;cursor:pointer}.ask-list{display:grid;gap:4px;margin:8px 0 12px;max-height:50vh;overflow:auto}.ask-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.ask-row .grow{flex:1}.ask-row .muted{font-size:12px}.book{display:flex;flex-direction:column;gap:10px}.book-toc{align-self:flex-start;max-width:100%}.book-page{background:#fffaf0;border:1px solid #e3d6bd;border-radius:10px;padding:14px 18px;min-height:260px;max-height:60vh;overflow:auto;line-height:1.8;font-size:14px;box-shadow:inset 0 0 0 4px #fbf3e2}.book-page h3{margin:0 0 8px;font-size:18px}.book-body h4{margin:12px 0 4px;font-size:15px;border-bottom:1px dashed #e3d6bd;padding-bottom:2px}.book-body p{margin:6px 0;white-space:pre-wrap}.book-body ul,.book-body ol{margin:4px 0;padding-left:22px}.book-table-wrap{overflow-x:auto;margin:6px 0}.book-table{border-collapse:collapse;font-size:13px;min-width:100%}.book-table th,.book-table td{border:1px solid #e3d6bd;padding:3px 8px;text-align:left;white-space:nowrap}.book-table th{background:#f3e7cf}.book-table tr:nth-child(2n) td{background:#fdf6e8}.book-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.book-count{font-size:13px;color:#8a7a66}.reel{position:fixed;left:50%;top:22%;transform:translate(-50%);z-index:60;width:min(360px,calc(100vw - 32px));background:#fbf5eaf7;border-radius:14px;padding:12px 14px 10px;box-shadow:0 8px 30px #0000004d;user-select:none;touch-action:none;cursor:pointer}.reel-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;color:#3b2a1e}.reel-lv{font-size:12px;color:#c0792b;font-weight:700;letter-spacing:1px}.reel-bar{position:relative;height:26px;border-radius:13px;background:linear-gradient(#ef6f6c,#d64545);box-shadow:inset 0 2px #ffffff40,inset 0 -2px #00000026;overflow:hidden}.reel-blue{position:absolute;top:0;bottom:0;background:linear-gradient(#5fb8f0,#2f86c8);box-shadow:inset 0 0 0 2px #ffffff73;transition:left .12s ease-out}.reel-needle{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px #2b2d42,0 0 6px #0006}.reel.hit .reel-bar{box-shadow:0 0 0 3px #8fd0ff}.reel.miss .reel-bar{box-shadow:0 0 0 3px #ffb0a8;animation:reel-shake .18s}.reel.win{box-shadow:0 0 0 4px #ffd166,0 8px 30px #0000004d}.reel.lose{opacity:.6}@keyframes reel-shake{0%,to{transform:translate(0)}30%{transform:translate(-4px)}70%{transform:translate(4px)}}.reel-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px}.reel-dots{display:flex;align-items:center;gap:4px}.reel-dot{width:11px;height:11px;border-radius:50%;background:#e2d6c2;box-shadow:inset 0 0 0 1px #c9b896}.reel-dot.on{background:#2f86c8;box-shadow:none}.reel-hearts{display:flex;gap:2px;color:#e63946;font-size:15px}.reel-heart.off{color:#d9cdb8}.reel-help{margin-top:6px;text-align:center;font-size:11px;color:#8a7a66}.catch-card{position:fixed;left:50%;top:34%;transform:translate(-50%);z-index:61;display:flex;align-items:center;gap:12px;background:#fbf5eaf7;border-radius:14px;padding:10px 18px 10px 12px;box-shadow:0 0 0 4px #ffd166,0 8px 30px #0000004d;animation:catch-in .25s ease-out;transition:opacity .4s,transform .4s}.catch-card img{image-rendering:pixelated}.catch-card.out{opacity:0;transform:translate(-50%,-12px)}.catch-name{font-weight:700;font-size:16px;color:#3b2a1e}.catch-size{color:#8a7a66;font-size:13px}.catch-best{margin-left:8px;color:#fff;background:#e07a5f;border-radius:8px;padding:1px 7px;font-size:11px;font-weight:700}@keyframes catch-in{0%{transform:translate(-50%,10px) scale(.9);opacity:0}}.inv-cell .bait-on,.hb-cell .bait-on{position:absolute;right:2px;top:2px;font-size:9px;line-height:1;padding:2px 3px;border-radius:4px;background:#e07a5f;color:#fff;font-weight:700}.hb-cell .bait-on{top:auto;bottom:14px;right:1px;font-size:8px;padding:1px 2px}.inv-cell:has(.bait-on),.hb-cell:has(.bait-on){box-shadow:inset 0 0 0 2px #e07a5f}.inv-bait{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;border-radius:10px;background:#fff4d6;font-size:13px}.inv-bait img{image-rendering:pixelated}.inv-bait .warn{color:#c0392b;font-weight:700}.inv-tabs{display:flex;gap:6px;margin-bottom:10px}.zk-tabs,.zk-places{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.zk-places .btn{font-size:12px;padding:3px 9px}.zk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;max-height:min(56vh,520px);overflow-y:auto;padding:2px}.zk-card{background:#fffaf0;border:1px solid #e8dcc4;border-radius:10px;padding:6px;text-align:center;display:grid;justify-items:center;gap:1px}.zk-card img{image-rendering:pixelated}.zk-card.unknown img{filter:brightness(0) opacity(.28)}.zk-card.unknown .zk-name{color:#b0a48e}.zk-card.star{border-color:#f2c14e;box-shadow:0 0 0 2px #f2c14e59}.zk-name{font-weight:700;font-size:13px;color:#3b2a1e}.zk-info{font-size:11px;color:#8a7a66}.zk-rec{font-size:11px;color:#2f6f9e;font-weight:700}.zk-card.unknown .zk-rec{color:#b0a48e;font-weight:400}.inv-grid{max-height:min(44vh,330px);overflow-y:auto;padding:2px;margin-top:4px}.inv-wrap{margin:6px 0 8px}.inv-label{font-size:12px;font-weight:700;color:#8a7a66;margin:6px 0 2px}.inv-hot{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:calc(83.4% + 10px);margin:0 auto;box-sizing:border-box;gap:6px;padding:8px;border-radius:12px;background:#3b2a1e14;box-shadow:inset 0 0 0 1px #3b2a1e1f}.inv-hot .inv-cell.empty{background:#f6efe0}.guide-menu,.guide-dests{display:grid;gap:6px;margin-top:10px}.guide-dests{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.guide-market{display:grid;gap:4px}.gm-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;padding:4px 8px;border-radius:8px;background:#fffaf0;border:1px solid #e8dcc4;font-size:13px}.gm-row img{image-rendering:pixelated}.gm-price{font-weight:700}.gm-row .up{color:#2f8a4a;font-weight:700}.gm-row .down{color:#b0503a}.guide-bar{position:fixed;left:50%;top:calc(max(10px,env(safe-area-inset-top)) + 58px);transform:translate(-50%);z-index:18;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 12px;border-radius:999px;background:#2b2d42d9;color:#fff;font-weight:700;font-size:13px;box-shadow:0 4px 14px #0000004d;pointer-events:auto}.guide-arrow{display:inline-block;color:#ffd166;font-size:20px;line-height:1;transition:transform .08s linear}.guide-x{border:0;background:#ffffff2e;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer}.horse-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px;margin-top:8px;font-size:13px}.horse-stat{display:flex;align-items:center;gap:8px;margin-top:4px}.horse-stat .hs-l{width:64px;font-size:12px;color:var(--ink-2)}.horse-stat .hs-bar{flex:1;height:8px;border-radius:4px;background:#eee6d8;overflow:hidden}.horse-stat .hs-bar span{display:block;height:100%;border-radius:4px}.horse-stat .hs-v{width:32px;text-align:right;font-size:12px}.book-fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:8px 0}.book-fish{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-radius:10px;background:linear-gradient(160deg,#7ad8f02e,#f2a7e82e);text-align:center}.book-fish img{image-rendering:pixelated}.book-fish small{color:var(--muted, #6b6f80);font-size:11px}.gate-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-weight:800;font-size:13px;border:1px solid #8a8a90;flex:none}.race-row img{image-rendering:pixelated}.race-odds{display:flex;flex-direction:column;gap:3px;font-size:12px;white-space:nowrap;align-items:stretch}.tavern .tv-row{gap:8px;align-items:center;margin:6px 0;flex-wrap:wrap}.tv-felt{background:radial-gradient(#3e9a5e,#1e5a34);border-radius:14px;padding:12px;color:#fff;text-align:center;margin-bottom:8px}.tv-head{display:flex;justify-content:center;align-items:center;gap:10px;font-weight:700}.tv-round{color:#cfe8d4!important;font-size:12px}.tv-timer{background:#ffd860;color:#3a2a20;border-radius:999px;padding:1px 10px;font-weight:800}.tv-cards{display:flex;justify-content:center;align-items:center;gap:16px;margin:10px 0}.tv-card{width:80px;height:112px;image-rendering:pixelated;filter:drop-shadow(0 3px 3px #0006)}.tv-card.flip{animation:tv-flip .4s ease-out}@keyframes tv-flip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.tv-arrow{font-size:26px;font-weight:900}.tv-btns{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:8px;flex-wrap:wrap}.tv-up,.tv-down{font-size:26px;min-width:88px;border-radius:999px;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding-left:0;padding-right:0;line-height:1}.tv-up{background:#e07a5f!important}.tv-down{background:#457b9d!important}.tv-up.sel,.tv-down.sel{outline:4px solid #ffd860}.tv-note{font-size:12px;color:#cfe8d4;margin-top:6px}.tv-seats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.tv-seat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 8px;display:flex;justify-content:space-between;gap:6px;font-size:12px}.tv-seat.out{opacity:.45}.tv-seat.empty{background:transparent}.tv-tag{font-weight:700;white-space:nowrap}.tavern.secret .tv-felt{background:radial-gradient(#8a2a2a,#3a0e12);box-shadow:0 0 0 2px #d8a830 inset}.tavern.secret .tv-seat{border-color:#d8a830}.loading-cover{position:fixed;inset:0;z-index:900;background:#1e1a2a;display:flex;align-items:center;justify-content:center;transition:opacity .25s}#ui>.loading-cover.hide{opacity:0;pointer-events:none}#ui>.toasts,#ui>.hotbar,#ui>.notices-left,#ui>.notice,#ui>.hud-top,#ui>.hud-bottom{pointer-events:none}.loading-box{color:#fff;text-align:center;font-weight:700}.loading-text{margin-top:10px;font-size:14px;letter-spacing:.05em}.loading-dots{display:flex;gap:8px;justify-content:center}.loading-dots span{width:10px;height:10px;border-radius:50%;background:#e9c46a;animation:ld .9s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes ld{0%,80%,to{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}.lb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lb-cell{position:relative;background:#fff;border:2px solid var(--line, #e0d6c2);border-radius:12px;padding:8px 6px;text-align:center;min-height:92px}.lb-cell.big{grid-column:span 2;background:#fff8e0;border-color:#e9c46a}.lb-cell.today{border-color:#e07a5f;box-shadow:0 0 0 3px #f4b6a6}.lb-cell.got{opacity:.6}.lb-day{font-size:11px;font-weight:700;color:#8a7a6a}.lb-icon{font-size:28px;line-height:1.3}.lb-label{font-size:12px;font-weight:700}.lb-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);border:2px solid #d8343a;color:#d8343a;border-radius:6px;padding:0 6px;font-weight:800;font-size:13px;background:#ffffffd9}.lb-foot{display:flex;justify-content:center;margin-top:10px}@media(max-width:520px){.lb-grid{grid-template-columns:repeat(2,1fr)}}.ck-stage{position:relative;height:clamp(360px,64vh,580px);margin:-4px -4px 0;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 70% 40%,#ffe8d0,#f4d8c0 60%,#e8c8b0)}.ck-pic{position:absolute;right:0;bottom:0;height:100%;width:auto;max-width:70%;object-fit:contain;object-position:right bottom;pointer-events:none}.ck-rec{position:absolute;z-index:2;left:12px;top:12px;width:220px;background:#fff;border:2px solid #e8d8c0;border-radius:12px;padding:10px;box-shadow:0 3px 10px #0002;display:flex;flex-direction:column;gap:4px;font-size:13px}.ck-tag{align-self:flex-start;background:#e07a5f;color:#fff;border-radius:999px;padding:1px 10px;font-size:11px;font-weight:800}.ck-rec-img{width:100%;height:96px;object-fit:cover;border-radius:8px;background:#f9e4d8;display:flex;align-items:center;justify-content:center;font-size:40px}.ck-price{color:#e07a5f;font-weight:800}.ck-rec-btns{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:2px}.ck-msg{position:absolute;z-index:3;left:10px;right:10px;bottom:10px;background:#2b1d16e6;color:#fff;border:2px solid #f4d8a0;border-radius:12px;padding:8px 12px;font-size:14px;min-height:64px}.ck-name{color:#ffd860;font-weight:800;font-size:12px}.ck-text{white-space:pre-wrap;cursor:pointer;min-height:3em;line-height:1.5}.ck-choices{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;min-height:26px;align-items:center}.ck-choice{background:#fff;color:#2b2d42;border:0;border-radius:999px;padding:4px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.ck-choice.primary{background:#ffd860}.ck-choice.ck-next{margin-left:auto;background:transparent;color:#ffd860;animation:ck-blink 1s ease-in-out infinite}@keyframes ck-blink{50%{opacity:.45}}.ck-stage{cursor:pointer}.ck-rec{cursor:default}.ck-choice:hover{filter:brightness(.95)}@media(max-width:560px){.ck-stage{height:clamp(300px,70vh,420px)}.ck-rec{width:170px}.ck-rec-img{height:70px}.ck-pic{max-width:85%;opacity:.95}}.ck-swatch{width:22px;height:22px;border-radius:6px;border:2px solid #fff;box-shadow:0 0 0 1px #ccc;cursor:pointer}.ck-swatch.on{box-shadow:0 0 0 3px #2b2d42}.ck-edit-pic{width:72px;height:72px;object-fit:contain;border-radius:8px;background:#f4e6d0}.ck-hours{border-collapse:collapse;font-size:13px}.ck-hours th{padding:3px 8px 3px 0;text-align:left}.ck-hours td{padding:3px 6px}.rotate-cover{display:none}@media(orientation:portrait)and (pointer:coarse)and (max-width:900px){.rotate-cover{display:flex;position:fixed;inset:0;z-index:2000;background:#1e1a2a;color:#fff;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;font-weight:700}.rotate-cover .phone{width:44px;height:72px;border:4px solid #e9c46a;border-radius:10px;animation:rot 1.8s ease-in-out infinite}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}}.cf-npc{align-items:center}.cf-face{width:48px;height:48px;image-rendering:pixelated;flex:none;background:#e8dcc4;border-radius:50%}.cf-seats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cf-seat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px}.cf-btns{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:12px;flex-wrap:wrap}.cf-count{background:#fff4c8;border-radius:8px;padding:5px 10px;font-size:12px;text-align:center;margin-top:10px}.cf-menu{display:grid;gap:6px}.cf-mi{display:flex;align-items:center;gap:10px;width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 12px;font:inherit;text-align:left;cursor:pointer}.cf-mi:hover{background:#fff8e4}.cf-mi span{margin-left:auto;color:#777;font-size:12px}#ui>.cafe-hud{position:fixed;inset:0;pointer-events:none;z-index:22}.cafe-hud .cf-top{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 52px);left:50%;transform:translate(-50%);display:flex;gap:8px}.cf-pill{background:#2b1d16e0;color:#fff;border:2px solid #f4d8a0;border-radius:999px;padding:4px 14px;font-weight:800;font-size:14px;white-space:nowrap}.cf-pill.cf-time{background:#ffd860;color:#3a2a20}.cf-pill.cf-time.hurry{background:#e04a3a;color:#fff;animation:ck-blink 1s ease-in-out infinite}.cafe-hud .cf-mates{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 100px);left:10px;background:#2b1d16d9;color:#fff;border-radius:10px;padding:6px 10px;font-size:12px;line-height:1.6}.cafe-hud .cf-tray{position:absolute;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 64px);left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:#2b1d16e0;border:2px solid #f4d8a0;border-radius:14px;padding:6px 12px;color:#fff;font-weight:700;font-size:13px;pointer-events:auto}.cf-slot{position:relative;width:44px;height:44px;background:#fbf6ec;border-radius:8px;display:grid;place-items:center}.cf-x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:0;background:#e04a3a;color:#fff;font-size:11px;line-height:18px;padding:0;cursor:pointer}.cf-help{font-size:11px;font-weight:500;opacity:.85;max-width:220px}.cf-result table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.cf-result td{border-bottom:1px solid var(--line);padding:5px 4px}.cf-result td:last-child{text-align:right;font-weight:700}.cf-big{font-size:30px;font-weight:900;color:#2f5a40;text-align:center}.cf-perfect{text-align:center;font-weight:800;color:#c8962e;margin-top:4px}.st-npc{display:flex;gap:10px;align-items:center;background:#f3e9d2;border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:14px}.st-panes{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.st-pane{background:#f3e9d2;border:2px solid #d9c7a2;border-radius:12px;padding:10px}.st-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.st-head small{color:#8a7a66}.st-grid{display:grid;grid-template-columns:repeat(6,46px);gap:4px}.st-grid.st-hot{grid-template-columns:repeat(5,46px);margin-bottom:8px;padding-bottom:8px;border-bottom:2px dashed #d9c7a2}.st-grid.st-wide{grid-template-columns:repeat(10,46px)}.st-grid .inv-cell{width:46px;height:46px}.st-mid{align-self:center;font-size:22px;color:#8a5a36}.st-detail{margin-top:10px;background:#fff8e6;border:2px solid #e9d6aa;border-radius:10px;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px}@media(max-width:760px){.st-grid.st-wide,.st-grid{grid-template-columns:repeat(6,42px)}.st-grid .inv-cell{width:42px;height:42px}.st-mid{display:none}}@media(max-height:500px)and (pointer:coarse){.hud-top{top:max(4px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));gap:4px}.place{padding:3px 10px;font-size:12px;gap:4px}.place small{display:none}.hud-buttons{gap:3px;flex-wrap:nowrap}.hud-buttons .label{display:none}.hud-buttons .btn{min-height:30px;padding:2px 8px;font-size:13px;gap:3px}.minimap{top:calc(max(4px,env(safe-area-inset-top)) + 36px);left:max(6px,env(safe-area-inset-left));padding:2px;border-width:1px;border-radius:6px}.minimap canvas{width:80px;height:60px;border-radius:4px}.minimap span{display:none}.hud-bottom{left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(4px,env(safe-area-inset-bottom));gap:6px}.chat{max-width:300px;padding:1px 2px 1px 10px}.chat input{font-size:14px}.chat .btn,.hud-bottom .btn{min-height:30px;padding:2px 10px;font-size:13px}.mic{width:46px;height:46px;font-size:20px}.hint{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 46px);font-size:12px;padding:4px 10px}.notice{top:calc(max(4px,env(safe-area-inset-top)) + 36px);font-size:11px;padding:3px 10px}.toasts{top:calc(max(4px,env(safe-area-inset-top)) + 36px)}.toast{font-size:12px;padding:6px 10px;max-width:min(260px,45vw)}.notices-left{top:calc(max(4px,env(safe-area-inset-top)) + 104px);width:min(220px,34vw);gap:4px}.notice-card{font-size:11px;padding:5px 24px 5px 8px;line-height:1.35}.notice-card .when{font-size:10px}.hotbar{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 40px);gap:3px}.hb-cell{width:34px;height:34px}.hb-cell img{width:24px;height:24px}body.farm-mode .hint{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 84px)}body.farm-mode.farm-info .hint{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 130px)}.stand-popup{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 52px);max-height:60vh;overflow:auto}.cafe-hud .cf-top{top:calc(max(4px,env(safe-area-inset-top)) + 36px)}.cafe-hud .cf-tray{bottom:calc(max(4px,env(safe-area-inset-bottom)) + 50px);padding:3px 8px;font-size:11px}.modal-back{padding:4px}.modal{max-height:calc(100dvh - 8px);border-radius:12px}.modal header{padding:6px 12px 5px}.modal header h2{font-size:15px}.modal .body{padding:8px 12px 10px}.btn{min-height:34px;padding:4px 12px}}.fs-btn{display:none}@media(pointer:coarse){.fs-btn{display:inline-flex}}:fullscreen .fs-btn,body.standalone .fs-btn{display:none}.pad-focus{outline:3px solid #ffd166!important;outline-offset:2px;box-shadow:0 0 0 6px #ffd16659!important}#ui>.tt{position:fixed;inset:0;pointer-events:auto;overflow:hidden;z-index:5}.tt-bg{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.tt-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px}.tt-logo-wrap{position:relative;padding:18px 40px 6px}.tt-logo-wrap:before{content:"";position:absolute;inset:-10px -30px;border-radius:50%;background:radial-gradient(closest-side,#fff6e6cc,#fff6e600)}.tt-logo{position:relative;width:min(440px,72vw);image-rendering:pixelated;filter:drop-shadow(0 3px 0 rgba(58,42,36,.3));display:block}.tt-brand{display:flex;flex-direction:column;align-items:center}.tt-tag{color:#fff;font-weight:700;letter-spacing:.12em;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 8px rgba(0,0,0,.35);margin-bottom:8px}.tt-panel{width:min(340px,92vw);background:#fbf6ecf5;border-radius:16px;padding:16px 18px;box-shadow:0 10px 30px #0000004d;border:3px solid #d9b77a}.tt-hello{text-align:center;font-weight:700;margin-bottom:8px}.tt-go{display:flex;width:100%;justify-content:center;font-size:18px;padding:12px;background:#e07a5f;color:#fff;border:0;border-radius:14px;font-weight:900;box-shadow:0 3px #a8503a;cursor:pointer;font-family:inherit}.tt-go:active{transform:translateY(2px);box-shadow:0 1px #a8503a}.tt-sns{display:flex;align-items:center;gap:10px;justify-content:center;border-radius:12px;padding:9px;font-weight:800;font-size:14px;margin-bottom:7px;color:#fff;text-decoration:none;box-shadow:0 2px #0003}.tt-x{background:#1a1a1a}.tt-discord{background:#5865f2}.tt-google{background:#fff;color:#3c4043!important;border:1px solid #dadce0}.tt-ic{width:20px;height:20px;border-radius:4px;display:grid;place-items:center;font-size:12px;font-weight:900;background:#fff;color:#000}.tt-discord .tt-ic{color:#5865f2}.tt-google .tt-ic{background:#4285f4;color:#fff}.tt-wide{width:100%;justify-content:center;margin-top:4px}.tt-prereg{text-align:center;font-weight:900;color:#c8574a;margin-bottom:10px}.tt-prereg small{display:block;font-weight:500;color:var(--ink-2);font-size:11px}.tt-devtag{text-align:center;font-size:11px;font-weight:700;color:#fff;background:#4a6a8a;border-radius:999px;padding:2px 10px;margin:0 auto 8px;width:fit-content}.tt-hr{border:0;border-top:1px dashed #d9c7a2;margin:10px 0}.tt-small{font-size:11px;color:var(--ink-2);text-align:center;margin-top:6px}.tt-small a{color:var(--ink-2)}.tt-srv{display:flex;width:100%;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin-top:10px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink)}.tt-srv b{color:#2f5a40}.tt-srv-item{display:flex;width:100%;justify-content:space-between;background:#fff;border:0;border-bottom:1px dashed #e0d0b0;padding:9px 6px;font-size:14px;cursor:pointer;font-family:inherit;color:var(--ink)}.tt-srv-item.on{background:#fff4d6;font-weight:700}.tt-note{background:#fff4d6;border-radius:8px;padding:6px 10px;font-size:12px;margin-top:8px}.tt-idwrap{position:absolute;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));z-index:2}.tt-uid{margin:4px 0 0 4px;font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);user-select:all}.tt-id{display:flex;gap:10px;align-items:center;background:#fbf6ecf5;border-radius:14px;padding:8px 14px 8px 8px;box-shadow:0 4px 12px #00000040;border:2px solid #d9b77a}.tt-face{width:44px;height:44px;image-rendering:pixelated;background:#fff8ea;border-radius:10px;border:2px solid #e8d8b8}.tt-id small{display:block;color:var(--ink-2);font-size:11px}.tt-prov{display:inline-block;font-size:10px;color:#fff;border-radius:6px;padding:0 5px;margin-left:4px;background:#888;vertical-align:2px}.tt-prov.tt-x{background:#1a1a1a}.tt-prov.tt-discord{background:#5865f2}.tt-prov.tt-google{background:#4285f4}.tt-tr{position:absolute;right:14px;top:max(14px,env(safe-area-inset-top));display:flex;gap:8px;z-index:2}.tt-ibtn{width:40px;height:40px;border-radius:50%;background:#fbf6ecf2;border:2px solid #d9b77a;display:grid;place-items:center;font-size:18px;box-shadow:0 2px 8px #00000040;cursor:pointer;padding:0}.tt-foot{position:absolute;left:0;right:0;bottom:max(6px,env(safe-area-inset-bottom));text-align:center;font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.tt-foot a{color:#fff;margin:0 5px;text-decoration:underline;text-underline-offset:1px}.tt-ver{position:absolute;right:10px;bottom:max(6px,env(safe-area-inset-bottom));font-size:10px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.6)}.tt-set{width:100%;border-collapse:collapse}.tt-set td{padding:8px 4px;border-bottom:1px dashed #e0d0b0;font-size:14px}.tt-range{display:inline-flex;align-items:center;gap:6px}.tt-range input{width:150px}.tt-pct{min-width:3em;font-variant-numeric:tabular-nums}.tt-trouble ul{margin:4px 0 8px;padding-left:20px;font-size:14px;line-height:1.7}@media(max-height:500px)and (pointer:coarse){.tt-center{flex-direction:row;gap:24px}.tt-logo-wrap{padding:8px 20px 0}.tt-logo{width:min(300px,44vw)}.tt-tag{font-size:12px;text-align:center}.tt-panel{padding:10px 12px;width:min(290px,44vw)}.tt-sns{padding:6px;margin-bottom:5px;font-size:13px}.tt-go{font-size:16px;padding:9px}.tt-idwrap{left:max(10px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top))}.tt-id{padding:4px 10px 4px 4px}.tt-face{width:32px;height:32px}}#ui>.tut{position:fixed;right:max(10px,env(safe-area-inset-right));top:calc(max(10px,env(safe-area-inset-top)) + 56px);width:220px;z-index:21;pointer-events:auto;background:#2b1d168c;color:#fff;border:1.5px solid rgba(244,216,160,.7);border-radius:12px;font-size:12px;backdrop-filter:blur(2px);text-shadow:0 1px 2px rgba(0,0,0,.6)}.tut-h{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 9px;font-weight:800;border-bottom:1px solid rgba(244,216,160,.35)}.tut-n{margin-left:auto;background:#ffd860e6;color:#3a2a20;border-radius:999px;padding:0 7px;font-size:11px;text-shadow:none}.tut-b{background:none;border:0;color:#fff;opacity:.85;cursor:pointer;font-size:12px;padding:0 3px}.tut-b:hover{opacity:1}.tut-b0{padding:6px 9px 8px}.tut-t{font-weight:800;font-size:13px;margin-bottom:2px}.tut-hint{font-size:11px;line-height:1.5;opacity:.95}.tut-r{font-size:11px;color:#ffe08a;margin-top:4px}.tut-bar{height:5px;background:#ffffff40;border-radius:4px;margin-top:6px;overflow:hidden}.tut-bar i{display:block;height:100%;background:#7cc48a}.tut-get{margin-top:6px;width:100%;padding:3px 8px;font-size:12px}.tut-list{list-style:none;margin:0;padding:5px 8px 7px}.tut-list li{display:flex;gap:6px;align-items:center;padding:1px 0;font-size:11.5px}.tut-list .c{width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);display:grid;place-items:center;font-size:9px;flex:none}.tut-list li.d{opacity:.55;text-decoration:line-through}.tut-list li.d .c{background:#3a7d44;border-color:#3a7d44}.tut-list li.now{font-weight:800;color:#ffe08a}.tut-list li.now .c{border-color:#ffe08a}@media(max-width:640px){#ui>.tut{width:180px;top:calc(max(4px,env(safe-area-inset-top)) + 36px);right:max(6px,env(safe-area-inset-right));font-size:11px}.tut-t{font-size:12px}}.guild-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:4px 0 12px}.guild-tab{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center;cursor:pointer}.guild-tab small{color:var(--ink-2);font-size:11px}.guild-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.guild-tab.on small{color:#fff;opacity:.9}.guild-panel .plots{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
