:root{--paper: #fbf3e0;--paper-glass: rgba(251, 243, 224, .82);--ink: #3d2816;--ink-soft: #7a5a3c;--accent: #b5502a;--accent-ink: #fff8ec;--green: #4f7d3e;--shadow: 0 6px 24px rgba(50, 30, 10, .22);--serif: Georgia, "Times New Roman", "Noto Serif", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#e9d6ad;color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#scene{position:fixed;inset:0;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{position:fixed;top:calc(var(--safe-top) + 12px);left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.brand{display:flex;flex-direction:column;line-height:1.1;color:#fff8ea;text-shadow:0 1px 8px rgba(40,25,10,.55)}.brand-name{font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.01em}.edition{font-family:var(--serif);font-style:italic;font-size:15px;opacity:.95}.top-tools{display:flex;gap:8px;pointer-events:auto}.chip{border:1px solid rgba(61,40,22,.15);background:var(--paper-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;box-shadow:var(--shadow)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(61,40,22,.15);border-radius:50%;background:var(--paper-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);padding:0}.icon-btn svg{width:20px;height:20px}.presence{position:fixed;top:calc(var(--safe-top) + 64px);left:16px;display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:999px;background:#28190a61;color:#fff8ea;font-size:13px;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.presence:empty,.presence span:empty{display:none}.dot{width:8px;height:8px;border-radius:50%;background:#8fd36b;box-shadow:0 0 #8fd36bb3;animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 #8fd36b99}70%{box-shadow:0 0 0 8px #8fd36b00}to{box-shadow:0 0 #8fd36b00}}.drag-hint{position:fixed;left:50%;top:44%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#28190a73;color:#fff8ea;font-size:13px;pointer-events:none;transition:opacity .6s;animation:nudge 2.2s ease-in-out infinite}.drag-hint svg{width:40px;height:14px}.drag-hint.done{opacity:0}@keyframes nudge{0%,to{transform:translate(-50%)}50%{transform:translate(calc(-50% + 8px))}}.actions{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 14px);transform:translate(-50%);width:min(520px,calc(100% - 32px));display:grid;grid-template-columns:1fr 1fr 1fr 52px;gap:6px;padding:6px;border-radius:20px;background:var(--paper-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow)}.act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border:0;border-radius:14px;background:transparent;color:var(--ink);font-size:12.5px;font-weight:600;white-space:nowrap;padding:6px 4px}.act:hover{background:#b5502a14}.act:active{transform:scale(.97)}.act svg{width:22px;height:22px;color:var(--accent)}#btn-com{background:var(--accent);color:var(--accent-ink)}#btn-com svg{color:var(--accent-ink)}.act-icon svg{color:var(--ink)}.toast{position:fixed;left:50%;top:calc(var(--safe-top) + 104px);transform:translate(-50%,-8px);width:max-content;max-width:min(440px,calc(100% - 32px));text-wrap:balance;padding:9px 16px;border-radius:14px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:15px;text-align:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%)}.sheet{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#1e120800;transition:background .2s;z-index:10}.sheet.open{background:#1e120859}.sheet-card{position:relative;width:min(520px,100%);max-height:86vh;overflow:auto;margin:0;padding:22px 20px calc(var(--safe-bottom) + 22px);border-radius:22px 22px 0 0;background:var(--paper);box-shadow:var(--shadow);transform:translateY(100%);transition:transform .22s ease-out}.sheet.open .sheet-card{transform:translateY(0)}.sheet-card h2{margin:0 40px 12px 0;font-family:var(--serif);font-size:21px;font-weight:600}.sheet-close{position:absolute;top:14px;right:14px;font-size:22px;line-height:1;box-shadow:none}.sheet-hint{margin:0 0 14px;color:var(--ink-soft);font-size:14px;line-height:1.45}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip-lg{padding:10px 14px;font-family:var(--serif);font-size:15px;font-weight:500;box-shadow:none;background:#fff}.chip-lg:hover{border-color:var(--accent)}.com{display:flex;flex-direction:column;align-items:center;text-align:center}.com-art{width:140px;height:110px}.com-line{margin:6px 4px 18px;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.45}.sheet-actions{display:flex;gap:10px;width:100%}.sheet-actions>*{flex:1}.btn-primary,.btn-secondary{min-height:46px;padding:10px 18px;border-radius:14px;font-weight:600;font-size:15px}.btn-primary{border:0;background:var(--accent);color:var(--accent-ink)}.btn-primary:disabled{opacity:.6}.btn-secondary{border:1px solid rgba(61,40,22,.2);background:#fff}.btn-link{border:0;background:none;color:var(--ink-soft);text-decoration:underline;font-size:14px;padding:8px}.about p{margin:0 0 12px;font-size:15px;line-height:1.55}.intro{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:linear-gradient(180deg,#28190a26,#28190a8c);transition:opacity .6s}.intro.gone{opacity:0;pointer-events:none}.intro-card{width:min(420px,100%);padding:28px 24px 18px;border-radius:24px;background:var(--paper-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center;position:relative}.intro-brand{margin:0;font-family:var(--serif);font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.intro-edition{margin:6px 0 12px;font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.1}.intro-lead{margin:0 0 8px;font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.4}.intro-hint{margin:0 0 20px;color:var(--ink-soft);font-size:14px;line-height:1.45}.intro .btn-primary{width:100%;font-size:17px;min-height:52px}.intro-lang{margin-top:10px;box-shadow:none}@media(min-width:720px){.brand-name{font-size:26px}.edition{font-size:17px}.act{flex-direction:row;gap:8px;font-size:14px}.sheet{align-items:center}.sheet-card{border-radius:22px;padding-bottom:22px}}@media(prefers-reduced-motion:reduce){.dot,.drag-hint{animation:none}}body.og .actions,body.og .presence,body.og .drag-hint,body.og .top,body.og .toast{display:none}.og-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:26px 44px;border-radius:24px;background:var(--paper-glass);box-shadow:var(--shadow);text-align:center}.og-card .intro-edition{font-size:52px;margin-bottom:0}.actions[hidden]{display:none}.tea-actions{grid-template-columns:1fr 1fr 1fr 1fr 44px}@media(max-width:360px){.tea-actions{grid-template-columns:1fr 1fr 1fr 1fr 34px;gap:2px}.tea-actions .act{font-size:11.5px;padding:6px 2px}}#btn-pour{color:var(--accent)}.sit{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 92px);transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:9px 16px 9px 12px;border:0;border-radius:999px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:var(--shadow)}.sit[hidden]{display:none}.sit svg{width:22px;height:22px;flex:none;color:#c27a2c}.sit i{font-style:normal;font-weight:700;color:var(--ink-soft)}.sit i:empty{display:none}.sit[data-state=here]{background:var(--accent);color:var(--accent-ink);animation:sit-pulse 2.4s ease-in-out infinite}.sit[data-state=here] svg{color:#ffd79a}@keyframes sit-pulse{0%,to{box-shadow:var(--shadow),0 0 #b5502a73}50%{box-shadow:var(--shadow),0 0 0 9px #b5502a00}}.bubble{position:fixed;left:50%;top:max(calc(var(--safe-top) + 186px),30vh);transform:translate(-50%,6px);width:max-content;max-width:min(400px,calc(100% - 40px));padding:10px 16px 12px;border-radius:18px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.4;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.bubble b{display:block;margin-bottom:2px;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.bubble[data-who=man] b{color:var(--green)}.bubble.show{opacity:1;transform:translate(-50%)}.og-tagline{margin:10px 0 0;font-family:var(--serif);font-size:26px;font-style:italic;color:var(--accent)}body.og .og-card{left:6%;transform:translateY(-50%)}body.og .bubble,body.og .sit{display:none}@media(prefers-reduced-motion:reduce){.sit[data-state=here]{animation:none}}
