/* Calm, readable village UI. Original styling; no third-party UI dependency. */
:root{--seal:#964b3e;--seal-hi:#a95847;--sheet:#f8f1e1;--ink:#3d392e;--ink-soft:#716a5a;--sheet-line:rgba(146,119,77,.055);--rule:#c9b58c}
button{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}button:focus-visible,textarea:focus-visible{outline:3px solid #6c8d78;outline-offset:3px}
.tbtn,.live span,.live button{border-radius:18px;border-color:#d3c3a3;box-shadow:0 2px 10px #34271315}.tbtn{padding:8px 14px;min-height:40px}.tools{gap:7px}.act,.opt,.chip{border-radius:12px}.act{box-shadow:none;min-height:42px;box-sizing:border-box;justify-content:center}.act.small{min-height:36px}.act.ghost{border-color:#c9bca3}.opt{background:#fffdf6;border-color:#d7c9ae;line-height:1.6;padding:16px}.opt:hover{background:#f3ead7}.opt small{color:#797263}
.where{border:1px solid #d2bc96;border-radius:20px;background:#f8f1e1f5;box-shadow:0 8px 30px #33281625;padding:14px 18px}.where .role{border:0;background:#e9ddc2;border-radius:12px;padding:3px 9px;color:#7e6650}.where h2{font-size:22px}.where-head{gap:8px}.panel-inner{gap:8px}.sheet{border-radius:24px;border:1px solid #d8c6a4;box-shadow:0 24px 80px #211c2540;background:#faf4e6;padding:28px;max-width:760px;scrollbar-width:thin}.sheet h3{border-bottom:1px solid #d5c29b;font-size:28px;letter-spacing:.05em;padding-bottom:15px;margin-bottom:20px}.sheet .lead{line-height:1.85;font-size:16px}.sheet p{line-height:1.85}.sheet h4{font-size:17px;margin:18px 0 8px;color:#73513b}.sheet .note{line-height:1.75;font-size:12px;color:#706a5d}.sheet .row{gap:10px;margin-top:18px}.sheet input,.sheet select,.sheet textarea{border:1px solid #c9bba0;border-radius:12px;background:#fffdf7;box-sizing:border-box;color:#3d392e;padding:12px;font:inherit}.sheet textarea{width:100%;resize:vertical;user-select:text;-webkit-user-select:text}.field label{color:#796149}.field{margin:16px 0}.eyebrow{font-size:12px;letter-spacing:.14em;color:#8e7453;margin-bottom:9px}.reading-card{background:#fffcf4;border:1px solid #dfd4bd;border-radius:18px;padding:18px 22px;margin:18px 0}.reading-card h4:first-of-type{margin-top:0}.reading-card p{margin:10px 0}.calm-note{background:#e8eee2;color:#52614a;border-left:3px solid #9aaa84;border-radius:0 16px 16px 0;padding:18px 22px;margin:20px 0;font-family:var(--display);font-size:18px;line-height:1.9}.topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.topic-chip{border:1px solid #cfc5b0;background:#fffdf6;border-radius:999px;padding:9px 16px;min-height:42px;font-size:14px}.topic-chip[aria-pressed=true]{background:#63795f;color:#fffdf3;border-color:#63795f}.poem-fold{border-top:1px solid #ded1b7;padding:16px 0;margin-top:18px;line-height:1.8}.poem-fold summary{cursor:pointer;color:#78674f;min-height:36px}.poem-fold p{font-family:var(--display);font-size:18px}.wallet-balance{background:#e9dfc7;border:1px solid #d3c1a0;border-radius:22px;padding:20px 26px;display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:20px}.wallet-balance strong{font-size:36px;font-weight:500;color:#8d6733;font-variant-numeric:tabular-nums}.wallet-balance small{grid-column:1/-1;color:#6f604a}.wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collect-card{border:1px solid #ddd0b5;border-radius:18px;padding:20px 12px;background:#fffaf0;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;color:var(--ink)}.collect-card b{font-family:var(--display);font-size:20px}.collect-card small{color:#746a59;line-height:1.7}.item-symbol{height:58px;width:44px;border-radius:8px 8px 14px 14px;display:grid;place-items:center;background:#a75644;color:#f6df9c;border:3px double #d5ac6f;font:28px var(--display);box-shadow:0 4px 0 #66382822;margin:4px}.money-symbol{background:#d3b37c;color:#725032;width:64px;height:45px;border-radius:9px}.slip-symbol{background:#f0dfb5;color:#8a4c3c;width:28px;border-color:#bfa571;border-radius:2px}.treasure-symbol{background:#a3b49b;border-color:#e8e9c8;color:#40573d;border-radius:50%;width:58px}.wish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wish-paper{background:#f4e3cc;border:1px solid #d5b58f;border-radius:8px 8px 18px 18px;padding:20px 18px;text-align:left;color:#554535;overflow-wrap:anywhere;position:relative}.wish-paper:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#9a5846;margin:0 auto 15px}.wish-paper p{font-family:var(--display);font-size:19px;line-height:1.8;margin:10px 0 18px}.wish-paper small,.wish-paper span{font-size:12px;color:#7b6048;line-height:1.6}.wish-full{max-width:420px;margin:20px auto}.wish-full p{font-size:24px;min-height:100px}.consent-line{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.8}.consent-line input{width:20px;height:20px;flex:none;accent-color:#63795f}.form-status{color:#9b4b3d;min-height:24px}.capsule-reveal{width:100px;height:100px;border-radius:50%;margin:28px auto;background:linear-gradient(#dce6d780 49%,#97ad90 50%);box-shadow:inset 0 0 0 3px #ffffff80,0 14px 20px #604f3920;display:grid;place-items:center;font:34px var(--display);color:#657b60}.capsule-reveal.turning{animation:gentle-roll 1.4s ease}.quiet-chip{background:#edf1df!important;color:#586d4e!important}
@keyframes gentle-roll{0%,100%{transform:rotate(0)}20%{transform:rotate(14deg) translateX(6px)}45%{transform:rotate(-18deg) translateX(-8px)}70%{transform:rotate(8deg) translateY(-8px)}}
@media(max-width:600px){.sheet{border-radius:22px 22px 0 0;padding:22px 18px;max-height:86dvh}.sheet h3{font-size:25px}.reading-card{padding:17px}.wallet-grid{gap:9px}.collect-card{padding:16px 9px}.wish-grid{grid-template-columns:1fr}.tbtn{font-size:12px;padding:7px 10px;min-height:44px}.tools{gap:5px}.where{padding:12px 14px}.where h2{font-size:19px}.hud-top{gap:8px}.live span,.live button{font-size:11px}.brand b{font-size:21px}.calm-note{padding:16px;font-size:17px}.topic-chip{padding:8px 13px}.sheet .row>.act{flex:1 1 auto}.sheet .row>.act.small{flex:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:600px){.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:128px;flex:0 0 128px;gap:6px}.tbtn{white-space:nowrap;min-height:44px;padding:6px 8px}.brand-col{flex:1}.brand small{letter-spacing:.08em}.prog{width:calc(100vw - 24px);max-width:330px}.live{max-width:220px}.sheet .opts{grid-template-columns:1fr}.sheet .opt{padding:14px 16px}.sheet .opt small{font-size:13px}}
