:root{font-family:Inter,Helvetica Neue,Arial,Apple SD Gothic Neo,sans-serif;color:#35463c;background:#e6ecde;font-synthesis:none;--ink:#35463c;--green:#4c6654;--cream:#f5f2e9;--muted:#7b8578}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b58549;outline-offset:4px}button svg{pointer-events:none}svg{width:24px;height:24px;flex-shrink:0}[hidden]{display:none!important}main{position:relative;width:100%;height:100dvh;min-height:600px;overflow:hidden}#scene{position:absolute;inset:0;touch-action:none}#scene canvas{display:block;width:100%;height:100%}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#eef0e359,transparent 30%,transparent 70%,#e8e9db80)}.topbar{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 44px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand>svg{width:40px;height:40px}.brand span{font-family:Georgia,Times New Roman,serif;font-size:29px;letter-spacing:-1px}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2.3px;margin-top:4px}.top-tools{display:flex;gap:9px;align-items:center}.presence{font-size:12px;margin-right:12px;padding:9px 13px;border-radius:20px;background:#f5f2e9a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.presence:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#6f8e6e;margin-right:7px}.icon-button{display:grid;place-items:center;border:1px solid #5c6c5024;background:#f5f2e9a8;color:var(--ink);width:43px;height:43px;border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.icon-button:hover{background:var(--cream)}.icon-button[aria-pressed=false]{color:#8b8e82}.icon-button[aria-pressed=false]:after{content:"";position:absolute;width:23px;height:1px;transform:rotate(-45deg);background:currentColor}.welcome{position:absolute;z-index:3;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,#f2f0e8,#f2f0e8f5 25%,#f2f0e8b3 45%,#f2f0e800 66%);pointer-events:none}.welcome-copy{margin-left:8%;width:min(390px,40vw);padding-top:30px;pointer-events:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:#6f7d6d}h1{font-family:Georgia,Times New Roman,serif;white-space:pre-line;font-weight:400;font-size:clamp(34px,4vw,57px);letter-spacing:-1.8px;line-height:1.22;margin:26px 0 20px}.intro{font-size:14px;color:#778171;line-height:1.9;max-width:330px;margin-bottom:32px}label{display:block;font-size:12px;color:#6f7d6d;margin:20px 0 9px}input,select{border:1px solid #d6d9cc;border-radius:8px;padding:12px;background:#faf9f3;color:var(--ink);min-height:45px;min-width:0;width:100%}.entry-row{display:flex;gap:8px}.entry-row input{flex:1}.entry-row select{width:120px}.primary{display:flex;align-items:center;justify-content:center;gap:25px;background:var(--green);color:#fffdf3;border:0;border-radius:8px;min-height:49px;padding:12px 24px;width:100%;margin-top:14px;font-size:13px}.primary:hover{background:#3e5846}.primary svg{width:20px}.fineprint{font-size:10px;line-height:1.8;color:#8d9285;margin:20px 0 0}.entry-status{font-size:12px;line-height:1.5;color:#856644;min-height:16px;margin:12px 0}.text-button{background:none;border:0;text-decoration:underline;color:var(--green);padding:10px 0}.welcome-number{position:absolute;bottom:30px;left:44px;font-size:14px}.welcome-number span{font-size:8px;letter-spacing:2px;color:#89917f;margin-left:8px}.scene-label{position:absolute;top:140px;left:44px;pointer-events:none}.scene-label h2{font-family:Georgia,serif;font-weight:400;font-size:23px;margin:11px 0}.connection{font-size:10px;color:#6b8065}.connection.lost{color:#a56840}.merit-card{position:absolute;right:44px;top:135px;display:flex;gap:13px;align-items:center;background:#f8f5eadf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #fff9;padding:19px 25px;border-radius:12px;box-shadow:0 8px 35px #384b3610}.merit-card>svg{width:33px;height:33px;color:#a58c60}.merit-card div>span{display:block;font-size:10px;color:#8b917f}.merit-card strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;margin-top:4px}.bottom-panel{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:min(820px,calc(100% - 64px));border:1px solid #fff9;background:#faf8f0ef;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:17px;padding:17px 22px 12px;box-shadow:0 12px 60px #35433615}.ritual-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.ritual-heading .eyebrow{font-size:9px}.help-button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#8b927e;font-size:10px;padding:4px}.help-button svg{width:15px;height:15px}.ritual-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.ritual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #d9dfd1;background:#f0f1e8;color:#4b6350;border-radius:9px;padding:14px 5px 10px;min-height:102px;transition:background .2s,transform .2s}.ritual:hover{transform:translateY(-3px);background:#e3e9db}.ritual>svg{width:28px;height:28px}.ritual>span{font-size:11px;white-space:nowrap}.ritual small{font-size:9px;color:#8c9a82}.ritual.claimed{background:#e8edde}.fortune-button{background:#eee7d6;border-color:#ded2b8;color:#8b714c}.fortune-button:hover{background:#e7dcc3}.panel-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#939b89;margin-top:13px}.draft-badge{font-size:8px;letter-spacing:1px;white-space:nowrap}.toast{position:absolute;z-index:10;bottom:225px;left:50%;transform:translate(-50%);background:#354c3df2;color:#fff9e9;border-radius:8px;max-width:90%;padding:13px 22px;box-shadow:0 4px 20px #0002;font-size:12px;text-align:center}.fallback{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);z-index:2;max-width:330px;font-size:14px;line-height:1.8;background:var(--cream);padding:20px;border-radius:12px}dialog{border:1px solid #e4e4d6;border-radius:18px;background:var(--cream);color:var(--ink);padding:25px 30px 30px;width:min(440px,calc(100% - 30px));max-height:85dvh;overflow:auto;box-shadow:0 25px 100px #25392930}dialog::backdrop{background:#26382a55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .icon-button{width:34px;height:34px;background:none}.dialog-head svg{width:18px}dialog h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:18px 0}dialog p{font-size:13px;line-height:1.9}.muted{color:#8b9281}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid>*{min-width:0}label small{font-size:10px}.checkbox{display:flex;gap:10px;align-items:center}.checkbox input{width:16px;min-height:16px;accent-color:var(--green)}.fortune-symbol{display:grid;place-items:center;margin:20px auto;color:#a78a57;width:75px;height:75px;border:1px solid #d9cbb0;border-radius:50%}.fortune-symbol svg{width:37px;height:37px}blockquote{margin:25px 0;padding:25px 20px;border-top:1px solid #ded9c8;border-bottom:1px solid #ded9c8;font-family:Georgia,serif;font-size:23px;line-height:1.6;color:#637455}.draft-text{color:#a38761}html[lang=ko] h1{font-family:Georgia,Apple SD Gothic Neo,sans-serif;font-size:clamp(30px,3.6vw,50px)}@media(max-width:700px){main{min-height:560px}.topbar{padding:20px}.brand>svg{width:30px;height:30px}.brand span{font-size:24px}.brand small{font-size:6px;letter-spacing:1.4px}.top-tools{gap:6px}.icon-button{width:36px;height:36px}.icon-button svg{width:19px;height:19px}.presence{font-size:10px;padding:7px 9px;margin-right:0}.welcome{align-items:flex-end;background:linear-gradient(0deg,#f2f0e8,#f2f0e8fa 31%,#f2f0e8a8 52%,#f2f0e800 76%)}.welcome-copy{width:100%;max-width:none;margin:0;padding:0 28px 36px}.welcome .eyebrow{font-size:9px}h1,html[lang=ko] h1{font-size:36px;line-height:1.17;margin:15px 0 13px;letter-spacing:-1px}.intro{font-size:12px;line-height:1.7;max-width:310px;margin-bottom:14px}.welcome label{margin:10px 0 7px;font-size:10px}.welcome input,.welcome select{min-height:42px;padding:10px;font-size:12px}.welcome .primary{min-height:45px;margin-top:10px}.welcome .fineprint{margin-top:8px;font-size:8px}.entry-status{margin:8px 0 0;min-height:12px;font-size:10px}.welcome-number{display:none}.scene-label{top:103px;left:22px}.scene-label .eyebrow{font-size:8px}.scene-label h2{font-size:17px;margin:7px 0}.connection{font-size:9px}.merit-card{top:105px;right:20px;padding:12px 15px;gap:8px}.merit-card>svg{width:25px;height:25px}.merit-card strong{font-size:23px}.merit-card div>span{font-size:9px}.bottom-panel{width:calc(100% - 24px);bottom:max(12px,env(safe-area-inset-bottom));padding:13px 12px 10px;border-radius:14px}.ritual-grid{grid-template-columns:repeat(3,1fr);gap:6px}.ritual{padding:9px 3px 7px;min-height:76px;gap:6px}.ritual>svg{width:23px;height:23px}.ritual>span{font-size:10px}.ritual small{position:absolute;right:7px;top:7px;font-size:8px}.ritual-heading{margin-bottom:9px}.ritual-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.help-button{font-size:9px}.panel-footer{font-size:8px;line-height:1.4}.draft-badge{font-size:6px;letter-spacing:.4px}.toast{bottom:250px;width:max-content;max-width:90%;font-size:11px;padding:12px 16px}dialog{padding:18px 23px 24px}dialog h2{font-size:26px}}@media(max-height:650px)and (min-width:701px){.welcome-copy{padding-top:50px}h1{font-size:38px;margin:15px 0}.intro{margin-bottom:10px}.welcome .fineprint{margin-top:5px}.scene-label{top:110px}.merit-card{top:105px}.bottom-panel{bottom:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
