@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{font-family:Be Vietnam Pro,sans-serif;color:#354438;background:#e8e8d7;font-synthesis:none;--paper: #f7f5ec;--ink: #354438;--muted: #68705f;--green: #465e43;--line: #dcded0;--warm: #ae7855}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button{transition:background .2s,transform .2s}button:hover:not(:disabled){filter:brightness(.97)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a57a43;outline-offset:4px}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Lora,Georgia,serif;font-weight:400}p{line-height:1.8}button{border:0;background:none}.app{height:100dvh;min-height:700px;position:relative;overflow:hidden}.world{position:absolute;top:0;right:0;bottom:0;left:0}.scene-wash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#f6f4e9fa,#f6f4e9e8 20%,#f6f4e9a6 38%,#f6f4e900 68%)}.topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:32px 48px;z-index:15;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center}.brand>svg{color:#687a53}.brand span{font-size:10px;letter-spacing:2.6px;line-height:1.65}.brand b{font-size:15px;font-weight:600;letter-spacing:3.6px}.top-actions{display:flex;align-items:center;gap:24px}.eyebrow{font-size:10px;letter-spacing:2.2px;line-height:1.7;font-weight:500}.top-actions>.eyebrow{font-size:9px;letter-spacing:1.5px}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.icon-button:hover{background:#e8eadf}.sound-button{border:1px solid #a9b49b;background:#f7f5ec85}.home-content{position:absolute;left:7%;top:28%;max-width:640px}.intro-label{display:flex;align-items:center;gap:12px;color:#7c765c;margin-bottom:25px}.intro-label>span{height:1px;width:30px;background:#a69370}h1{font-size:clamp(38px,4.1vw,65px);line-height:1.24;letter-spacing:-2px;margin-bottom:24px}h1 em{color:#74815c;font-weight:400}.home-content>p{font-size:14px;line-height:2;color:#697261;margin-bottom:32px}.primary{background:var(--green);color:#fffef7;border-radius:5px;padding:16px 24px;display:inline-flex;gap:32px;justify-content:center;align-items:center;font-size:13px;font-weight:500;min-height:50px}.primary:hover:not(:disabled){background:#344e32;transform:translateY(-1px)}.enter{min-width:184px}.entry-note{font-size:10px;color:#727764;margin-top:16px}.scene-caption{position:absolute;right:5%;bottom:20%;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:2px;color:#394b36;text-shadow:0 1px 8px #f8f2dc}.caption-line{height:40px;width:1px;background:#617456}.scene-caption small{display:block;font-size:10px;letter-spacing:.2px;margin-top:8px}.home-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:40px;padding:26px 48px;border-top:1px solid #c8ccb890;background:#f3f2e7b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11px;color:#6b735f}.home-footer>div{display:flex;align-items:center;gap:10px}.footer-index{margin-left:auto;font-size:9px;letter-spacing:1.4px}.footer-index>span{padding:0 12px;color:#a4a58c}.entry-card{position:absolute;top:115px;left:7%;width:430px;max-height:calc(100dvh - 135px);overflow:auto;padding:0 8px 24px 0;scrollbar-width:thin}.text-button{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:6px 0;color:#6d765e}.entry-card>.text-button{margin-bottom:23px}.entry-card>.eyebrow{display:block;font-size:9px;margin-bottom:10px}.entry-card h1{font-size:34px;letter-spacing:-1px;margin-bottom:10px}.entry-card>p{font-size:11px;color:var(--muted);margin-bottom:22px}label,legend{display:block;font-size:12px;font-weight:500;margin-bottom:10px}input:not([type=range]),textarea{width:100%;background:#fffdf7b8;border:1px solid #c7ccba;border-radius:5px;padding:13px 14px;color:var(--ink);font-size:13px}input::placeholder,textarea::placeholder{color:#7c8273}.field-note{font-size:10px;color:#727966;margin:9px 0 23px}fieldset{padding:0;border:0;margin:0 0 22px;min-width:0}.avatar-options{display:flex;gap:14px;padding-top:8px}.avatar-choice{flex:1;min-width:0;border:1px solid #c6cdbb;border-radius:20px;overflow:hidden;background:linear-gradient(155deg,#fffdf5,#eeeede);position:relative;padding:0;color:#43533b;box-shadow:0 4px 12px #37462d09,inset 0 1px #fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;isolation:isolate}.avatar-choice.chosen{border-color:#617b4c;box-shadow:0 6px 20px #34482b1a,inset 0 0 0 1px #617b4c;background:linear-gradient(155deg,#f4f7eb,#dee7cf)}.avatar-choice:focus-visible{outline:3px solid #80995f;outline-offset:4px}.avatar-choice:disabled{cursor:wait}@media(hover:hover){.avatar-choice:not(:disabled):hover{transform:translateY(-3px);border-color:#7a8d63;box-shadow:0 10px 24px #34482b1a}}.avatar-choice:not(:disabled):active{transform:scale(.98)}.avatar-preview{height:160px;pointer-events:none;position:relative;background:radial-gradient(ellipse 47% 52% at 50% 52%,#fffdf6e8 0%,#fffdf665 74%,transparent 76%)}.avatar-preview:after{content:"";position:absolute;width:45%;height:9px;border-radius:50%;background:#475b3520;filter:blur(4px);bottom:9px;left:27.5%;z-index:-1}.avatar-choice>.avatar-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 12px;padding:12px 1px 14px;border-top:1px solid #81936c30;text-align:left;font-size:12px}.avatar-caption strong{font-size:14px;font-weight:600}.avatar-selection{display:flex;align-items:center;gap:6px;color:#6d7863;font-size:10px;white-space:nowrap}.chosen .avatar-selection{color:#456133}.avatar-check{display:grid;place-items:center;width:18px;height:18px;border:1px solid #acb79d;border-radius:50%;background:#fff8}.chosen .avatar-check{background:#506b3e;color:#fffef5;border-color:#506b3e}@media(max-width:360px){.avatar-options{gap:10px}.avatar-choice>.avatar-caption{margin-inline:10px}.avatar-selection{font-size:9px;gap:4px}}@media(prefers-reduced-motion:reduce){.avatar-choice{transition:none}}.full{width:100%;justify-content:space-between}.privacy-note{font-size:10px!important;line-height:1.8;color:#6b735f;text-align:center;margin:18px 0 0!important}.mobile-note{display:none}.error{color:#8b352d;background:#f6e8de;border:1px solid #e0bdae;padding:10px 12px;border-radius:5px;font-size:12px!important;line-height:1.7;margin:12px 0}.playing{min-height:500px}.playing .topbar{padding:24px 30px}.playing .brand{padding:11px 16px;background:#f7f5ecdc;border-radius:7px;box-shadow:0 4px 24px #3544380a}.room-badge{display:flex;align-items:center;gap:10px;background:#f7f5ecdf;padding:12px 16px;border-radius:5px;font-size:11px}.room-badge i{height:14px;width:1px;background:#cbd1bc}.status-dot{height:6px;width:6px;background:#69845b;border-radius:50%}.game-location{position:absolute;left:34px;top:120px;text-shadow:0 1px 10px #fff8df;pointer-events:none}.game-location .eyebrow{font-size:8px}.game-location h2{font-size:24px;margin:7px 0}.game-help{position:absolute;top:110px;right:32px;font-size:10px;text-align:right;display:flex;flex-direction:column;gap:8px;text-shadow:0 1px 5px #ffffe9;pointer-events:none}.game-help small{font-size:9px;max-width:260px;line-height:1.7}kbd{font-family:inherit;font-size:10px;display:inline-block;padding:4px 6px;border:1px solid #aeb69c;border-radius:3px;background:#f7f5ecb8;color:#53634a;white-space:nowrap}.chat-panel{position:absolute;left:30px;bottom:28px;width:320px;background:#f7f5ece8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff70;border-radius:8px;box-shadow:0 8px 40px #39433012;overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid #d6dcc9;font-size:13px}.chat-header>span{display:flex;align-items:center;gap:8px}.chat-header .text-button{font-size:12px}.chat-messages{max-height:170px;min-height:80px;overflow:auto;padding:12px 14px;scrollbar-width:thin}.chat-empty{font-size:13px;color:#768069;margin:0;line-height:1.9}.chat-messages p:not(.chat-empty){font-size:15px;margin:0 0 9px;line-height:1.7;overflow-wrap:anywhere}.chat-messages p>button{font-size:14px;font-weight:600;color:#435d32;padding:0 7px 0 0}.chat-panel form{display:flex;border-top:1px solid #d6dcc9}.chat-panel input{border:0;background:none;padding:13px;font-size:16px;outline-offset:-3px}.chat-panel form button{padding:10px 13px}.game-toolbar{position:absolute;right:30px;bottom:28px;display:flex;padding:8px;background:#f7f5ece8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff70;border-radius:8px;gap:3px;box-shadow:0 8px 40px #39433012}.game-toolbar>button{display:flex;align-items:center;flex-direction:column;gap:8px;padding:12px 13px;position:relative;border-radius:5px;font-size:9px;min-width:63px}.game-toolbar>button:hover{background:#e3e7d8}.game-toolbar>button>svg{width:20px;height:20px;stroke-width:1.4}.game-toolbar kbd{position:absolute;top:2px;right:4px;border:0;font-size:8px;background:none;padding:0;color:#8c967c}.game-toolbar i{width:1px;background:#cdd4be;margin:12px 7px}.interaction-prompt{position:absolute;bottom:150px;left:50%;transform:translate(-50%);display:flex;gap:14px;align-items:center;background:#f7f5ecee;border-radius:6px;padding:12px 18px;font-size:12px;box-shadow:0 5px 24px #38453218}.interaction-label{min-width:0}.audio-credits{margin:16px 0;font-size:12px;line-height:1.6;color:#52614c}.audio-credits summary{cursor:pointer;padding:8px 0}.audio-credits p{margin:6px 0}.audio-credits a{color:inherit;text-decoration:underline;text-underline-offset:2px}.interaction-icon{display:none}.overhead{position:relative;display:flex;align-items:center;flex-direction:column;pointer-events:auto;gap:8px}.name-tag{background:transparent;border-radius:4px;color:#fffbed;text-shadow:-1px -1px 1px #253320,1px -1px 1px #253320,-1px 1px 1px #253320,1px 1px 1px #253320,0 2px 4px #172311;font-size:14px;font-weight:600;line-height:1.4;padding:3px 6px;border:0;box-shadow:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-tag.self{color:#f6e8ba}.bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fffdf4f5;box-shadow:0 4px 20px #0001;border-radius:10px;padding:9px 14px;width:max-content;max-width:min(280px,70vw);overflow-wrap:anywhere;font-size:15px;line-height:1.5;color:#2d3c29;border:1px solid #c5cdb8;text-align:center}.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c6cfb9;padding:9px 13px;border-radius:5px;background:#eef0e5;font-size:11px;min-height:36px}.chat-show{position:absolute;left:30px;bottom:28px;background:#f7f5ecee}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#27382655;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}.dialog{background:var(--paper);border:1px solid #fff9;border-radius:12px;box-shadow:0 20px 90px #1f2d3433;width:420px;max-width:100%;max-height:90dvh;overflow:auto;padding:26px}.dialog.wide{width:560px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.dialog-head h2{font-size:25px;margin:0;letter-spacing:-.6px}.dialog>p{font-size:12px;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.volume-label{display:flex;justify-content:space-between;margin-top:20px;font-size:11px}.volume-label span{color:var(--muted)}input[type=range]{width:100%;accent-color:var(--green);margin:8px 0 18px}.controls-guide{margin:24px 0;color:#717960}.controls-guide p{font-size:11px;margin:7px 0}.leave-button{width:100%;border:1px solid #c8ceba;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:5px;font-size:12px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:12px}.tabs>button{font-size:12px;padding:0 0 13px;border-bottom:2px solid transparent;color:#7a816e}.tabs>button.active{border-color:var(--green);color:var(--green)}.tabs span{font-size:10px;margin-left:5px;background:#e5e8d9;border-radius:20px;padding:2px 6px}.social-scroll{max-height:50dvh;overflow:auto;scrollbar-width:thin}.person-row{display:flex;align-items:center;gap:12px;min-height:75px;padding:12px 0;border-bottom:1px solid #dfe2d5;font-size:12px}.person-row.selected{background:#e7ebdd}.person-row>span{flex:1;overflow-wrap:anywhere}.person-row small{display:block;font-size:10px;color:#7a836b;margin-top:6px}.person-avatar{height:38px;width:38px;border-radius:50%;background:#e1e7d5;display:grid;place-items:center;color:#7f9169;flex-shrink:0}.row-actions{display:flex;gap:4px;align-items:center}.row-actions .icon-button{width:34px;height:34px}.requests h3,.subheading{font-size:11px;font-weight:500;color:#73805e;margin:20px 0 5px}.requests{padding-bottom:16px}.requests .person-row{flex-wrap:wrap}.empty-state{text-align:center;padding:32px 12px;color:#7b8769}.empty-state>svg{stroke-width:1;margin-bottom:15px}.empty-state h3{font-family:Lora,serif;font-weight:400;font-size:19px;color:var(--ink)}.empty-state p{font-size:11px}.dialog textarea{min-height:110px;resize:vertical;margin-bottom:15px}.toast,.connection{position:absolute;z-index:60;top:100px;left:50%;transform:translate(-50%);background:#f7f5ecf5;padding:14px 22px;border-radius:6px;box-shadow:0 5px 25px #0002;font-size:12px;max-width:min(90%,540px);text-align:center;line-height:1.7}.connection{top:40%;border:1px solid #a4ad93}.connection button{display:block;margin:10px auto 0;text-decoration:underline}.loading-label{padding:15px 25px;background:#f7f5ec;border-radius:6px;white-space:nowrap;font-size:12px}.webgl-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e5e7d6;padding:30px;text-align:center;gap:20px}.webgl-error button{background:#f7f5ec;padding:10px}@media(min-width:1600px){.home-content{left:9%;top:30%}.entry-card{left:9%;top:150px}}@media(max-height:800px)and (min-width:761px){.home-content{top:25%}.entry-card{top:100px}.entry-card>.text-button{margin-bottom:12px}.entry-card h1{font-size:30px}.entry-card>p{margin-bottom:16px}.avatar-preview{height:115px}.field-note,.entry-card fieldset{margin-bottom:16px}}@media(max-width:1100px){.top-actions>.eyebrow{display:none}.home-content{left:6%;max-width:520px}.home-footer{gap:20px;padding:24px 30px}.game-toolbar>button{padding:12px 9px;min-width:52px}.chat-panel{width:285px}.game-help{max-width:240px}.scene-caption{bottom:24%}}@media(max-width:760px){.app{min-height:620px}.topbar{padding:24px}.home-content{left:7%;right:7%;top:25%}h1{font-size:43px}.home-content>p{font-size:12px}.scene-wash{background:linear-gradient(90deg,#f6f4e9ed,#f6f4e9bb 60%,#f6f4e955)}.home-footer{padding:20px 24px;gap:20px;flex-wrap:wrap;font-size:9px}.home-footer>div{gap:5px}.home-footer>div:nth-child(3){display:none}.footer-index{width:100%;margin:0;font-size:8px}.scene-caption,.desktop{display:none}.entry-card{top:105px;left:7%;width:86%;max-height:calc(100dvh - 115px)}.entry-card h1{font-size:30px}.avatar-preview{height:120px}.mobile-note{display:block;text-align:center;font-size:10px!important;color:#876e4b!important;margin:15px 0!important}.playing .topbar{padding:15px}.playing .brand span{display:none}.playing .brand{padding:10px}.top-actions{gap:8px}.room-badge{font-size:10px;padding:10px}.game-location{left:20px;top:95px}.game-help{display:none}.game-toolbar{right:15px;bottom:15px;left:15px;justify-content:center;padding:5px}.game-toolbar>button{padding:10px;flex:1;min-width:0;font-size:8px}.game-toolbar i{margin:8px 2px}.chat-panel{left:15px;bottom:105px;width:270px}.chat-messages{max-height:95px}.interaction-prompt{bottom:290px}.chat-show{bottom:110px;left:15px}.dialog{padding:20px}.dialog-head h2{font-size:22px}.toast{top:85px;width:90%}.person-row{gap:7px;font-size:11px}.person-avatar{width:32px;height:32px}.row-actions{gap:0}.pill{padding:8px;font-size:10px}.privacy-note{font-size:9px!important}.brand span{font-size:8px}.brand b{font-size:12px}}@media(prefers-reduced-motion:reduce){button{transition:none}}.scene-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 20px;border-radius:12px;background:#f4f1e7;color:#465a43;pointer-events:none}.touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:15}.touch-controls[hidden]{display:none}.touch-surface{position:absolute;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.touch-surface{top:0;right:0;bottom:0;left:0}.touch-stick{position:absolute;transform:translate(-50%,-50%);pointer-events:none;width:120px;height:120px;border:1px solid #eff2df99;border-radius:50%;background:#f7f5ec66;display:grid;place-items:center}.touch-stick>span{width:48px;height:48px;border-radius:50%;background:#465e43bb;border:2px solid #f7f5ec;pointer-events:none}@media(pointer:coarse){.game-toolbar,.interaction-prompt,.chat-show{z-index:20}.app.playing{min-height:0;height:100dvh;overflow:hidden}.playing .world canvas{touch-action:none}.playing .topbar{padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.playing .brand span,.game-help,.playing .game-location{display:none}.chat-show{top:80px;bottom:auto;left:12px;min-height:44px}.chat-panel{top:80px;bottom:auto;left:12px;width:min(310px,calc(100% - 24px));z-index:25}.chat-panel input,.entry-card input{font-size:16px}.chat-header button,.chat-panel form button{min-width:44px;min-height:44px}.chat-messages{min-height:40px;max-height:80px}.modal-backdrop{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.dialog{max-height:calc(100dvh - 24px);overflow:auto}.dialog button{min-height:44px}}@media(pointer:coarse)and (max-height:500px){.touch-stick{width:100px;height:100px}.chat-panel{top:65px;left:155px;width:min(290px,calc(100% - 330px))}.chat-messages{max-height:50px;min-height:0}.chat-show{top:65px}}@media(max-width:760px),(pointer:coarse){.app.playing{--game-controls-inset:max(12px,env(safe-area-inset-left),env(safe-area-inset-right));--game-toolbar-height:64px;min-height:0;height:100dvh;overflow:hidden}.game-toolbar{left:var(--game-controls-inset);right:var(--game-controls-inset);bottom:calc(8px + env(safe-area-inset-bottom));width:auto;max-width:448px;height:var(--game-toolbar-height);margin-inline:auto;padding:4px;gap:8px;justify-content:center;border-radius:16px;z-index:20}.game-toolbar>button{flex:1 1 0;min-width:44px;min-height:52px;padding:4px 0;justify-content:center;gap:5px;font-size:clamp(11px,3vw,12px);line-height:1.2;border-radius:11px;letter-spacing:-.03em}.game-toolbar>button>span{white-space:nowrap}.game-toolbar>button>svg{flex-shrink:0;width:20px;height:20px}.game-toolbar i,.game-toolbar kbd,.interaction-prompt kbd{display:none}.game-toolbar>button[aria-pressed=true]{background:#dfe7d7;color:#30462b}.interaction-prompt{left:var(--game-controls-inset);right:var(--game-controls-inset);transform:none;bottom:calc(8px + env(safe-area-inset-bottom) + var(--game-toolbar-height) + 12px);width:auto;max-width:320px;min-height:48px;margin-inline:auto;padding:12px 16px;justify-content:space-between;gap:12px;border:1px solid #ffffff55;border-radius:14px;background:#40573a;color:#fffdf4;font-size:14px;font-weight:600;line-height:1.3;box-shadow:0 4px 14px #17241335;z-index:20;touch-action:manipulation}.interaction-label{flex:1;text-align:center;overflow-wrap:anywhere}.interaction-icon{display:block;flex-shrink:0;width:18px;height:18px}.interaction-prompt:hover{background:#354c30}.interaction-prompt:active{background:#2c4128}.game-toolbar>button:focus-visible,.interaction-prompt:focus-visible{outline:2px solid #719265;outline-offset:3px}.playing .chat-show{top:80px;bottom:auto;left:var(--game-controls-inset);min-height:44px;z-index:20}.playing .chat-panel{top:80px;bottom:auto;left:var(--game-controls-inset);width:min(310px,calc(100% - var(--game-controls-inset)*2));max-height:calc(100dvh - 236px - env(safe-area-inset-bottom));display:flex;flex-direction:column;z-index:25}.playing .chat-messages{flex:1 1 auto;min-height:0}.playing .chat-header,.playing .chat-panel form{flex-shrink:0}.playing .chat-header button,.playing .chat-panel form button{min-width:44px;min-height:44px}}@media(max-width:760px)and (max-height:500px),(pointer:coarse)and (max-height:500px){.playing .chat-show,.playing .chat-panel{top:65px}.playing .chat-panel{max-height:calc(100dvh - 221px - env(safe-area-inset-bottom))}.playing .chat-header{padding:2px 10px}.playing .chat-messages{padding-block:0}}.gathering-panel{position:absolute;right:18px;top:88px;width:min(310px,calc(100vw - 36px));padding:12px 16px;border-radius:14px;background:#f9f7eef0;color:#394332;box-shadow:0 4px 18px #0002;font-size:14px;line-height:1.5;max-height:45vh;overflow:auto}.gathering-panel p{margin:6px 0}.gathering-panel small{display:block;font-size:12px}.gathering-panel h3{margin:8px 0;font-size:16px}.gathering-panel button{min-height:44px;padding:8px 14px;margin-top:8px;border:1px solid #839174;border-radius:8px;background:#e8eddf;color:#303e29}@media(max-width:700px){.gathering-panel{top:72px;right:10px;width:230px;max-height:28vh;padding:8px 12px;font-size:12px}}@media(max-height:500px){.gathering-panel{top:65px;right:65px;max-height:30vh;width:240px}}.playing .game-help{top:310px}.gathering-panel{z-index:20}.schedule-notice{position:relative;display:flex;align-items:center;gap:12px;min-width:0;height:58px;padding:8px 16px 8px 10px;border:1px solid #e0c98b99;border-radius:16px;background:linear-gradient(110deg,#fff8e9fa,#f1f3e9f5);color:#34452f;font-size:14px;line-height:1.5;box-shadow:0 6px 24px #18271624,inset 0 1px #fff;pointer-events:none;opacity:1;transition:opacity .35s ease,translate .35s ease}.playing .topbar{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:28px}.playing .top-actions{min-width:0}.playing .room-badge{min-width:0;white-space:nowrap}.playing .room-badge>i,.playing .room-badge>.status-dot,.playing .room-badge>span:last-child{flex-shrink:0}.room-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.schedule-notice[data-resting=true]{opacity:0;translate:0 -6px}.schedule-marker{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:#3d5437;color:#f5d992;box-shadow:0 2px 6px #34452f25}.schedule-heading{flex:none;display:flex;flex-direction:column;gap:2px;padding-right:14px;border-right:1px solid #acb19b66}.schedule-heading small{font-size:9px;font-weight:700;letter-spacing:.1em;color:#7b704c}.schedule-time{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:#405536}.schedule-viewport{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent)}.schedule-track{width:max-content;white-space:nowrap}.schedule-track strong{font-weight:700;color:#31462a}.schedule-location{color:#6a633f}@media(max-width:1100px),(pointer:coarse){.playing .topbar{grid-template-columns:max-content minmax(0,1fr);gap:12px;padding:max(10px,env(safe-area-inset-top)) 12px 0}.playing .brand{justify-self:start}.playing .top-actions{grid-column:2;grid-row:1;justify-self:end;max-width:100%}.schedule-notice{grid-column:1/-1;grid-row:2;height:48px;gap:8px;padding:6px 10px 6px 8px;font-size:12px;border-radius:13px}.schedule-marker{width:30px;height:30px;border-radius:10px}.schedule-heading{padding-right:8px}.schedule-heading small{font-size:8px}.schedule-time{font-size:11px}.playing:has(.schedule-notice) .chat-show,.playing:has(.schedule-notice) .chat-panel{top:calc(138px + env(safe-area-inset-top))}.playing:has(.schedule-notice) .chat-show{bottom:auto;min-height:44px}.playing:has(.schedule-notice) .chat-panel{max-height:calc(100dvh - 294px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media(max-height:500px)and (max-width:1100px),(max-height:500px)and (pointer:coarse){.playing .topbar{row-gap:6px}.schedule-notice{height:40px}.playing:has(.schedule-notice) .chat-show,.playing:has(.schedule-notice) .chat-panel{top:calc(124px + env(safe-area-inset-top))}.playing:has(.schedule-notice) .chat-panel{max-height:calc(100dvh - 280px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.schedule-notice{transition:none}.schedule-track{width:100%;overflow:hidden;text-overflow:ellipsis;transform:none!important}}.gathering-panel button{position:sticky;bottom:0;background:#e8eddf}.app.playing{min-height:0;height:var(--game-view-height,100dvh)}.quest-open{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 12px;border:1px solid #b8c4a5;background:#f7f5ecf0;border-radius:12px;color:#3d5735;white-space:nowrap;font-size:12px}.quest-open b{margin-left:6px;font-variant-numeric:tabular-nums}.quest-open>svg{flex-shrink:0}.modal-backdrop:has(.quest-panel){padding:16px;grid-template-columns:minmax(0,1fr);justify-items:center}.dialog:has(.quest-panel){width:720px;min-width:0;max-width:100%;max-height:calc(var(--game-view-height,100dvh) - 32px)}.quest-panel{color:#34462e}.merit-summary{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #d3dcc2;border-radius:18px;background:linear-gradient(120deg,#e5edd9,#f6f0dc)}.merit-symbol{flex:none;display:grid;place-items:center;width:54px;height:54px;background:#4d6840;color:#f5e7b8;border-radius:18px}.quest-eyebrow{display:block;font-size:9px;letter-spacing:.13em;color:#687550}.merit-total{display:block;font-size:32px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums}.merit-title{display:block;font-size:12px;color:#596c45}.quest-completion{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.quest-completion strong{font-size:22px}.quest-completion small{font-size:13px;font-weight:400}.quest-completion>span{font-size:10px;white-space:nowrap}.quest-intro{font-size:12px;line-height:1.7;color:#69755e;margin:14px 0}.title-next{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6;margin-bottom:18px}.quest-panel progress{width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e0e5d6;accent-color:#6c8652}.quest-panel progress::-webkit-progress-bar{background:#e0e5d6;border-radius:8px}.quest-panel progress::-webkit-progress-value{background:#6c8652;border-radius:8px}.quest-panel progress::-moz-progress-bar{background:#6c8652;border-radius:8px}.quest-tabs{display:flex;gap:6px;padding:4px;background:#e9ecdf;border-radius:12px;margin-bottom:18px}.quest-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;padding:8px;border-radius:9px;font-size:13px}.quest-tabs button[aria-pressed=true]{background:#fffdf5;color:#3a5630;box-shadow:0 2px 5px #35462c10;font-weight:600}.quest-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px}.quest-filters label{min-width:0;font-size:11px}.quest-filters select,.quest-filters input{width:100%;height:44px;margin-top:7px;padding:9px 10px;border:1px solid #c7cfb9;border-radius:9px;background:#fffdf6;color:#3a4d32;font:inherit;font-size:13px;min-width:0}.quest-status-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 14px}.quest-status-filter button{min-height:36px;padding:7px 10px;border:1px solid #d1d8c4;border-radius:20px;font-size:11px}.quest-status-filter button[aria-pressed=true]{background:#465f3b;border-color:#465f3b;color:#fffbed}.quest-status-filter>span{margin-left:auto;font-size:11px;color:#77816d}.quest-list{display:grid;gap:10px}.quest-card{padding:14px;border:1px solid #d7ddca;border-radius:13px;background:#fffdf6}.quest-card.complete{background:#eef2e5}.quest-card-heading{display:flex;align-items:flex-start;gap:8px}.quest-number{flex:none;color:#899277;font-size:10px;line-height:22px;font-variant-numeric:tabular-nums}.quest-card h3{margin:0;flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.6}.quest-reward{flex:none;display:flex;align-items:center;gap:3px;padding:3px 7px;background:#f0e7c8;color:#776030;border-radius:7px;font-size:11px;font-weight:600}.quest-card p{margin:7px 0;color:#707b62;font-size:11px;line-height:1.7}.quest-requirement{font-size:11px;line-height:1.7;font-variant-numeric:tabular-nums}.quest-card progress{display:block;margin-top:10px}.quest-received{display:block;color:#587d40;font-size:10px;margin-top:7px}.quest-more{display:block;width:100%;margin-top:16px;min-height:44px}.quest-empty{padding:20px 8px;font-size:13px;text-align:center}.quest-title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.quest-title-card{display:flex;align-items:center;gap:10px;min-height:84px;padding:14px;border:1px solid #d5dcc6;border-radius:12px;background:#fffdf6;text-align:left}.quest-title-card>span{flex:1;min-width:0}.quest-title-card strong{display:block;font-size:12px;line-height:1.5}.quest-title-card small{display:block;margin-top:5px;font-size:10px;color:#72805e;line-height:1.6}.quest-title-card.selected{border-color:#6a8751;background:#e8eedb;box-shadow:inset 0 0 0 1px #6a8751}.quest-title-card:disabled{opacity:.65}.quest-unequip{min-height:44px}.fun-title{display:block;margin-top:2px;font-size:11px;font-weight:500;color:#f3dd99}@media(max-width:1100px),(pointer:coarse){.quest-open{width:40px;height:40px;padding:8px;flex:none}.quest-open>span{display:none}.playing .top-actions{gap:8px}.playing .sound-button{flex-shrink:0}}@media(max-width:480px){.quest-panel .merit-summary{gap:10px;padding:12px}.merit-symbol{width:40px;height:44px;border-radius:13px}.merit-total{font-size:26px}.quest-completion strong{font-size:18px}.quest-completion>span{font-size:9px;white-space:normal;text-align:right}.quest-eyebrow{font-size:8px;letter-spacing:.06em}.merit-title{font-size:10px}.quest-filters{grid-template-columns:1fr;gap:0}.quest-filters input{font-size:16px}.quest-title-grid{grid-template-columns:1fr}.quest-card{padding:12px}.quest-card-heading{gap:6px}.quest-status-filter button{min-height:44px}}.movement-guide p{line-height:1.65;margin:0 0 16px}.movement-guide kbd{display:inline-block;padding:2px 7px;border:1px solid #cbd3c0;border-radius:5px}.movement-guide .primary{width:100%;margin-top:8px;white-space:normal}
