:root{--ink:#1a0f0a;--wood:#2a1810;--lacquer:#7a1c14;--gold:#e2b45a;--gold-2:#f3d08a;--cream:#f6ead2;--muted:#c9b79a;--glass:#1a0f0a9e;--glass-2:#281810db;--line:#f3d08a38;--radius:18px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--ink);height:100%;color:var(--cream);margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;font:15px/1.5 Be Vietnam Pro,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--gold-2)}.stage{touch-action:none;outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}.ic{flex:none;width:22px;height:22px;display:inline-flex}.ic svg{width:100%;height:100%}.topbar{top:calc(12px + var(--safe-t));pointer-events:none;z-index:5;justify-content:space-between;gap:8px;display:flex;position:fixed;left:12px;right:12px}.tb-right{flex:none}.tb-left{flex:0 auto;overflow:hidden}.tb-left,.tb-right{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);pointer-events:auto;border-radius:999px;align-items:center;gap:6px;min-width:0;padding:6px;display:flex}.place{min-width:0;padding:0 8px 0 4px}.place-title{color:var(--gold-2);white-space:nowrap;font:700 16px/1.2 Noto Serif,Georgia,serif}.place-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:46vw;font-size:12px;overflow:hidden}.ibtn{background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.ibtn:hover{background:#f3d08a1f}.count{font-variant-numeric:tabular-nums;background:#f3d08a1a;border:0;border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 12px;font-weight:600;display:inline-flex}.count .ic{width:18px;height:18px}.dot{background:0 0;border-radius:50%;width:7px;height:7px}.dot.online{background:#7fd08a;box-shadow:0 0 8px #7fd08a}.dot.connecting{background:var(--gold);animation:1.2s infinite pulse}.dot.offline{background:#c96a5a}@keyframes pulse{50%{opacity:.3}}.rice{color:#3a1d0c;background:linear-gradient(#f6d48a,#d9a447);border:0;border-radius:999px;flex:none;align-items:center;gap:6px;height:40px;padding:0 14px 0 10px;font-weight:700;display:inline-flex}.rice .ic{width:22px;height:22px}.actions{left:50%;bottom:calc(14px + var(--safe-b));background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);z-index:5;scrollbar-width:none;border-radius:24px;gap:4px;max-width:calc(100vw - 20px);padding:6px;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}.actions::-webkit-scrollbar{display:none}.actions:empty{display:none}.act{min-width:66px;color:var(--cream);background:0 0;border:0;border-radius:18px;justify-items:center;gap:2px;padding:8px 8px 6px;display:grid;position:relative}.act:hover,.act:focus-visible{background:#f3d08a1f;outline:none}.act .ic{width:26px;height:26px;color:var(--gold-2)}.act-label{white-space:nowrap;font-size:12px;font-weight:600}.badge{background:var(--lacquer);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:3px;right:8px}.act.room .ic{color:var(--cream)}.layer{pointer-events:none;z-index:4;position:fixed;inset:0}.map-label{pointer-events:auto;border:1px solid var(--line);background:var(--glass-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cream);white-space:nowrap;border-radius:14px;justify-items:center;gap:1px;padding:7px 14px;display:grid;position:absolute;top:0;left:0;box-shadow:0 6px 18px #00000059}.map-label:after{content:"";background:var(--glass-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.ml-name{color:var(--gold-2);font:700 14px/1.2 Noto Serif,Georgia,serif}.ml-count{color:var(--muted);font-size:12px}.map-label:hover{border-color:var(--gold)}.moment{top:calc(76px + var(--safe-t));pointer-events:auto;border-radius:var(--radius);background:var(--glass-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);width:min(420px,100vw - 24px);padding:16px 18px 14px;animation:.35s rise;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.moment p{color:var(--cream);margin:6px 0 0;font-size:14px}.moment-title{color:var(--gold-2);align-items:center;gap:8px;font:700 17px/1.3 Noto Serif,Georgia,serif;display:flex}.moment .row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.moment-x{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.moment-x .ic{width:18px;height:18px}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}.sheet-wrap{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a06048c;place-items:center;padding:16px;animation:.18s fade;display:grid;position:fixed;inset:0}.sheet-wrap.leaving{opacity:0;transition:opacity .18s}.sheet{border:1px solid var(--line);background:linear-gradient(#2c1a11,#1f130c);border-radius:22px;width:min(460px,100%);max-height:min(86vh,760px);overflow:auto;box-shadow:0 30px 80px #0000008c}.sheet.wide{width:min(760px,100%)}.sheet-head{background:inherit;z-index:1;justify-content:space-between;align-items:center;padding:14px 10px 6px 20px;display:flex;position:sticky;top:0}.sheet-head h2{color:var(--gold-2);margin:0;font:700 20px/1.3 Noto Serif,Georgia,serif}.sheet-body{padding:4px 20px 20px}@keyframes fade{0%{opacity:0}}@media (width<=640px){.sheet-wrap{place-items:end center;padding:0}.sheet{width:100%;max-height:88vh;padding-bottom:var(--safe-b);border-radius:22px 22px 0 0;animation:.25s up}@keyframes up{0%{opacity:0;transform:translateY(40px)}}}.lead{color:var(--cream);margin:4px 0 14px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.btn{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-weight:700;display:inline-flex}.btn.sm{border-radius:12px;height:36px;padding:0 12px;font-size:14px}.btn.block{width:100%;margin-top:12px}.btn.primary{color:#3a1d0c;background:linear-gradient(#f6d48a,#d9a447)}.btn.primary:disabled{color:var(--muted);cursor:default;background:#4a3626}.btn.ghost{border-color:var(--line);color:var(--cream);background:#f3d08a14}.btn .ic{width:20px;height:20px}.cat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cat{border:1px solid var(--line);background:#f3d08a0f;border-radius:16px;justify-items:center;gap:6px;padding:16px 6px;font-weight:600;display:grid}.cat .ic{width:28px;height:28px;color:var(--gold-2)}.cat:hover{border-color:var(--gold);background:#f3d08a1f}.field{gap:6px;margin:12px 0 6px;font-size:14px;font-weight:600;display:grid}textarea,input,select{width:100%;font:inherit;color:var(--cream);border:1px solid var(--line);background:#00000047;border-radius:12px;padding:10px 12px;font-size:16px;line-height:1.5}textarea:focus,input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}.opening{border-left:3px solid var(--gold);background:#f3d08a0f;border-radius:0 12px 12px 0;padding:10px 14px}.opening p{margin:4px 0 0;font-family:Noto Serif,Georgia,serif}.meaning{margin:0}.meaning dt{color:var(--gold-2);margin-top:14px;font:700 15px/1.3 Noto Serif,Georgia,serif}.meaning dd{margin:4px 0 0}.bank{border:1px solid var(--line);background:linear-gradient(135deg,#3b2214,#2a170e);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.acct{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:0 0;border-radius:999px;height:36px;padding:0 14px;font-weight:600}.chip.on{background:var(--gold);color:#3a1d0c;border-color:var(--gold)}.qr-box{background:#fff;border-radius:16px;place-items:center;padding:14px;display:grid}.qr{width:220px;height:220px;display:block}.memo{justify-content:space-between;align-items:center;gap:8px;margin:12px 0 6px;display:flex}.house-ad{border:1px solid var(--line);color:var(--cream);background:linear-gradient(135deg,#7a1c1459,#1a0f0a66);border-radius:16px;margin-bottom:10px;padding:16px;text-decoration:none;display:block}.house-ad .eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:700}.house-ad .ad-title{margin-top:4px;font:700 18px/1.35 Noto Serif,Georgia,serif}.house-ad p{color:var(--muted);margin:6px 0 8px;font-size:14px}.house-ad .link{color:var(--gold-2);font-weight:700}.beads-tap{aspect-ratio:1;background:0 0;border:0;place-items:center;width:100%;max-width:300px;margin:0 auto;display:grid;position:relative}.beads{width:100%;height:100%;position:absolute;inset:0}.beads circle{fill:#4a3020;stroke:#7a5534}.beads circle.on{fill:var(--gold);stroke:#fff2c8}.beads-center{justify-items:center;display:grid}.beads-num{color:var(--gold-2);font-variant-numeric:tabular-nums;font:700 46px/1 Noto Serif,Georgia,serif}.toast{left:50%;bottom:calc(110px + var(--safe-b));background:var(--glass-2);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:30;text-align:center;border-radius:14px;max-width:calc(100vw - 32px);padding:10px 16px;transition:all .25s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.float-text{z-index:30;pointer-events:none;color:var(--gold-2);font-weight:700;animation:1.2s forwards floatUp;position:fixed;transform:translate(-50%)}@keyframes floatUp{to{opacity:0;transform:translate(-50%,-60px)}}.splash{color:var(--gold-2);z-index:50;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 40%,#3a1d12,#120a06 70%);place-content:center;justify-items:center;gap:10px;font:700 22px Noto Serif,Georgia,serif;transition:opacity .5s;display:grid;position:fixed;inset:0}.splash svg{width:64px;height:64px;animation:1.6s infinite pulse}body.loading .splash{opacity:1;pointer-events:auto}.panel{z-index:6;right:12px;top:calc(76px + var(--safe-t));border-radius:var(--radius);background:var(--glass-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);width:min(380px,100vw - 24px);max-height:calc(100vh - 200px);padding:14px;position:fixed;overflow:auto}@media (width<=640px){.place-sub,.rice span:not(.ic){display:none}.rice{justify-content:center;width:40px;padding:0}.tb-left,.tb-right{gap:2px;padding:4px}.count{padding:0 8px}.act{min-width:58px;padding:7px 6px 5px}.topbar{left:8px;right:8px}.panel{width:auto;top:auto;left:12px;right:12px;bottom:calc(96px + var(--safe-b));max-height:45vh}}.fortune{border:1px solid var(--line);background:radial-gradient(circle at 50% 0,#f3d08a2e,#0000 70%),#2a170e;border-radius:18px;justify-items:center;gap:10px;margin-bottom:6px;padding:18px 12px;display:grid}.f-level{background:var(--lacquer);color:#fff3d6;border-radius:999px;padding:4px 14px;font-weight:700}.f-poem{color:var(--gold-2);text-align:center;font:600 19px/1.7 Noto Serif,Georgia,serif}.row.gap,.row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.list{gap:8px;display:grid}.list-item{text-align:left;border:1px solid var(--line);color:var(--cream);background:#f3d08a0d;border-radius:14px;gap:2px;padding:12px 14px;text-decoration:none;display:grid}.error{color:#ffb4a2;min-height:1em;margin:4px 0 0;font-size:14px}.two{grid-template-columns:1fr 1.6fr;gap:10px;display:grid}.two .field{margin-top:8px}@media (width<=420px){.two{grid-template-columns:1fr}}.panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.yt{aspect-ratio:16/9;background:#000;border:0;border-radius:12px;width:100%;margin-bottom:10px;display:block}.talks{gap:4px;display:grid}.talk-group{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:10px 0 2px;font-size:12px;font-weight:700}.talk{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.talk span:last-child{display:grid}.talk:hover,.talk.on{background:#f3d08a1a}.talk .ic{color:var(--gold-2)}.breath{z-index:6;pointer-events:none;justify-items:center;gap:10px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-58%)}.breath .btn{pointer-events:auto}.breath-ring{aspect-ratio:1;background:radial-gradient(circle,#f3d08a40,#f3d08a0a 70%);border:2px solid #f3d08ab3;border-radius:50%;width:min(56vw,240px);transition:transform .12s linear;transform:scale(.55);box-shadow:0 0 60px #f3d08a40}.breath-word{color:var(--cream);text-shadow:0 2px 10px #000;margin-top:-50%;font:700 22px Noto Serif,Georgia,serif;position:relative}.breath-clock{font-variant-numeric:tabular-nums;color:var(--muted);margin-top:25%}
