:root{font-family:Be Vietnam Pro,sans-serif;font-synthesis:none;color:#3b523f;background:#e8dcc3;--paper: #fffaf0;--green: #718b61;--ink: #3b523f;--muted: #92977f;--line: #ebe5d6}*{box-sizing:border-box}body{margin:0;width:100vw;height:100dvh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:0}button:focus-visible,a:focus-visible{outline:3px solid #c88e4d;outline-offset:4px}button:disabled{opacity:.42;cursor:default}a{color:inherit;text-decoration:none}.hidden,[hidden]{display:none!important}#game{position:fixed;inset:0;touch-action:none}#game canvas{display:block;width:100%;height:100%}.world-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#f9f0dcbd,transparent 20%,transparent 76%,#e9ddc14a)}.game-header{position:fixed;z-index:10;inset:calc(12px + env(safe-area-inset-top)) 16px auto;display:flex;gap:12px;align-items:center;pointer-events:none}.game-header>*{pointer-events:auto}.place-button{display:flex;gap:10px;align-items:center;background:#fffaf0d9;border:1px solid #fffbebbf;border-radius:24px;padding:10px 16px 10px 12px;box-shadow:0 4px 18px #6f58210a;text-align:left;min-height:58px}.tiny-tea{font-size:30px;color:#b89557;line-height:1}.place-button>span:last-child{display:flex;flex-direction:column;gap:2px}.place-button b{font:900 23px/1 Nunito,sans-serif;letter-spacing:-.8px}.place-button small{font-size:10px;color:#7a846b}.presence{margin-left:auto;display:flex;align-items:center;gap:6px;padding:10px 11px;background:#fffaf0ae;border-radius:30px;font-size:11px}.presence i{width:6px;height:6px;border-radius:50%;background:#7e9a68}.circle{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fffaf0dd;border:1px solid #fff9e7b0;box-shadow:0 4px 18px #6f58210a}.circle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}.follow-button{position:fixed;z-index:7;right:18px;bottom:calc(132px + env(safe-area-inset-bottom));font-size:25px;opacity:0;pointer-events:none;transition:opacity .2s}.camera-away .follow-button{opacity:1;pointer-events:auto}.play-controls{position:fixed;z-index:12;inset:auto 18px calc(16px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;gap:14px;pointer-events:none}.play-controls>*{pointer-events:auto}.joystick{width:96px;height:106px;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.stick-ring{width:82px;height:82px;border:1.5px solid #fffaf0a8;border-radius:50%;background:#fff8e838;display:grid;place-items:center;box-shadow:inset 0 2px 10px #64552d07}.stick-ring>span{width:47px;height:47px;background:#fff9e6ba;border:1px solid #fff8e8c7;box-shadow:0 4px 14px #53482710;border-radius:50%;display:grid;place-items:center;will-change:transform;transition:background .15s}.stick-ring svg{width:24px;height:24px;fill:none;stroke:#82916c;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.joystick.active .stick-ring>span{background:#fffaed}.action-dock{display:flex;justify-content:flex-end;align-items:flex-end;gap:10px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 0 8px;min-width:57px;background:transparent;-webkit-user-select:none;user-select:none}.action-face{width:53px;height:53px;background:#fffaf0e8;border:1px solid #fff9e8;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 20px #6b572214;font:800 28px Nunito,sans-serif}.action-face svg{width:25px;height:25px;fill:none;stroke:#7c8567;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.action-btn small{font-size:9px;font-weight:600;color:#576448;text-shadow:0 1px 7px #fff7dd,0 1px 2px #fff7dd}.tea-button .action-face{width:68px;height:68px;background:#748e65;border:1px solid #a9b78d;box-shadow:0 5px 22px #4a5a3226}.tea-button .action-face svg{width:33px;height:33px}.wave-icon{font-size:29px;color:#bb8676}.action-btn:active .action-face{transform:scale(.94)}.event-banner{position:fixed;top:calc(88px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 44px);padding:8px 11px 8px 13px;border-radius:30px;background:#fff9e9d9;box-shadow:0 3px 14px #7863390a;z-index:8;white-space:nowrap}.event-banner>b{font-size:9px;font-weight:500;color:#697353;overflow:hidden;text-overflow:ellipsis}.event-banner>span:first-child{font-size:17px}.event-action{font-size:9px;font-weight:700;min-height:32px;padding:5px 9px;background:#edeed9;border-radius:20px;white-space:nowrap}.toast{position:fixed;z-index:40;bottom:calc(139px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:calc(100% - 44px);padding:11px 16px;background:#fff9eaf0;border:1px solid #fff9e0;box-shadow:0 4px 20px #6f592317;border-radius:18px;font-size:11px;line-height:1.6;text-align:center;pointer-events:none}.modal{position:fixed;inset:0;z-index:50;background:#3a4b353b;display:flex;align-items:flex-end;justify-content:center;padding:12px;overscroll-behavior:contain}.modal-content{position:relative;width:100%;max-width:510px;max-height:84dvh;overflow:auto;overscroll-behavior:contain;border-radius:28px;background:var(--paper);padding:28px 23px calc(25px + env(safe-area-inset-bottom));box-shadow:0 15px 60px #34412d2b;border:1px solid #fffff4}.modal-close{position:absolute;right:13px;top:13px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#efedde;font-size:25px;z-index:2}.modal-emoji{font-size:29px;line-height:1.3}.modal h2{margin:10px 38px 6px 0;font:900 28px/1.2 Nunito,sans-serif;letter-spacing:-.6px}.modal p{font-size:11px;line-height:1.8;color:#8c927b;margin:0 0 18px;max-width:95%}.modal-action,.feature-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:13px 14px;border-radius:14px;background:#eeeddd;font-size:11px;font-weight:600;min-height:44px}.modal-action,.feature-button.primary,.feature-button.selected{background:#758c63;color:#fff9e9}.feature-button.selected{outline:2px solid #bac99c;outline-offset:2px}.feature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.feature-list{display:grid;gap:8px}.feature-row{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.row-icon{font-size:22px}.row-copy{display:flex;flex-direction:column;gap:5px}.row-copy small{font-size:9px;color:var(--muted)}.row-time{font-size:10px;margin-left:auto}.feature-footnote,.feature-warning{font-size:10px!important;margin-top:16px!important;color:var(--muted)}.menu-profile{display:flex;align-items:center;gap:13px;margin:18px 0 22px}.menu-profile img{width:76px;height:86px;object-fit:contain;background:#f2ebd9;border-radius:22px}.menu-profile-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.menu-profile-copy small{font-size:9px;color:var(--muted)}.menu-profile-copy b{font:900 20px Nunito,sans-serif;line-height:1.15}.menu-profile-copy button{font-size:10px;background:transparent;padding:3px 0;text-align:left;color:#8b9b68}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.more-grid .feature-button{flex-direction:column;gap:8px;padding:16px 7px;font-size:10px;min-height:84px;background:#f0eddd}.menu-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.menu-footer .feature-button{background:transparent;font-size:10px;padding:8px}.journal-summary{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:16px;background:#e9edd9;font-size:11px;margin:14px 0;cursor:pointer}.journal-summary>b{color:#8d9d66}.stamp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stamp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border-radius:20px;background:#f0eddf;padding:20px 12px;filter:grayscale(1);opacity:.5;border:1px dashed #d8d7bd}.stamp.done{filter:none;opacity:1;background:#edf0dc;border-color:#b6c59a;border-style:solid}.stamp>span{font-size:37px}.stamp>b{font:900 16px Nunito,sans-serif}.stamp small{font-size:9px;color:#92977d;line-height:1.7}.accessory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.accessory-grid .feature-button{padding:4px 4px 11px;flex-direction:column;background:#f0ebdd;color:var(--ink);font-size:9px}.accessory-grid .feature-button.selected{background:#e4ebd4}.accessory-grid img{width:100%;aspect-ratio:.85;object-fit:contain;border-radius:13px}.photo-preview{width:100%;border-radius:16px;border:1px solid #eee6ce}.venue-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.venue-choice{display:flex;flex-direction:column;gap:7px;padding-bottom:13px;border:1px solid #e7dfc9;border-radius:17px;background:#f2edde;overflow:hidden}.venue-choice img{width:100%;aspect-ratio:1.6;object-fit:cover}.venue-choice b,.venue-choice small{padding:0 12px}.venue-choice b{font-size:12px}.venue-choice small{font-size:8px;color:#91977d}.venue-choice.selected{outline:2px solid #9ab17c;background:#e6edd7}.rps-choices{display:flex;gap:10px;margin:20px 0}.rps-choices .feature-button{flex:1;font-size:32px;min-height:84px}.game-board{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:240px;max-width:100%;margin:20px auto}.game-board button{aspect-ratio:1;font:900 30px Nunito,sans-serif;background:#f1e9d5;border-radius:15px;border:1px solid #e4d6b5}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.settings-row select{font:inherit;border:1px solid var(--line);background:#fffaf0;color:var(--ink);padding:9px;border-radius:10px}#bubbles,#world-names{position:fixed;inset:0;z-index:4;pointer-events:none}.bubble{position:absolute;max-width:220px;border:1px solid #fff8df;background:#fff9ebf0;box-shadow:0 3px 13px #75613514;padding:9px 13px;border-radius:15px;font-size:10px;white-space:nowrap}.player-name{position:absolute;transform:translate(-50%,-100%);border-radius:15px;padding:4px 8px;color:#697854;background:#fff9e1ce;font-size:7px;white-space:nowrap;transition:opacity .2s}.self-name{font-size:7px;font-weight:700;letter-spacing:.5px;background:#7f996bdc;color:#fffbea;padding:4px 7px}.loading-screen{position:fixed;inset:0;z-index:100;background:#fbf5e6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.loading-flower{font-size:48px;color:#a8b884;animation:turn 5s linear infinite}.loading-screen b{font:900 24px Nunito,sans-serif}.loading-screen small{font-size:11px;color:#959a81}@keyframes turn{to{transform:rotate(360deg)}}@media(min-width:760px){.game-header{inset:24px 30px auto}.play-controls{inset:auto 30px 25px}.joystick{opacity:.45}.joystick:hover{opacity:1}.modal{align-items:center}.modal-content{max-height:85dvh;padding:33px}.event-banner{top:31px;max-width:36vw}.follow-button{bottom:160px;right:32px}.action-dock{gap:14px}.action-face{width:57px;height:57px}.tea-button .action-face{width:74px;height:74px}.action-btn small{font-size:10px}.toast{bottom:150px}}@media(max-width:359px){.game-header{left:12px;right:12px;gap:8px}.place-button{padding:9px 12px;min-height:54px}.place-button b{font-size:21px}.place-button .tiny-tea{font-size:25px}.play-controls{left:10px;right:10px;gap:9px}.joystick{width:80px;height:98px}.stick-ring{width:74px;height:74px}.action-dock{gap:6px}.action-btn{min-width:53px}.action-face{width:48px;height:48px}.tea-button .action-face{width:61px;height:61px}.action-btn small{font-size:8px}.more-grid{gap:7px}.modal-content{padding:25px 18px}.modal h2{font-size:25px}}@media(max-height:510px)and (orientation:landscape){.game-header{inset:10px 18px auto}.place-button{min-height:46px;padding:7px 12px}.place-button b{font-size:19px}.event-banner{top:16px;max-width:40vw}.play-controls{bottom:10px}.joystick{height:82px}.action-face{width:45px;height:45px}.tea-button .action-face{width:57px;height:57px}.action-btn{gap:4px}.modal-content{max-height:90dvh}.follow-button,.toast{bottom:110px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
