:root{color:#24312b;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f6f7f2;--surface:#fff;--surface-soft:#f1f4ee;--surface-warm:#fbf7ee;--text:#24312b;--muted:#69766f;--subtle:#8b9690;--primary:#416f5e;--primary-hover:#345d4e;--primary-soft:#dfede5;--line:#e2e7e2;--danger:#ad554f;--danger-soft:#f8e9e7;--shadow:0 14px 36px #2d3d3412;--shadow-soft:0 5px 18px #2d3d340b;--ease:cubic-bezier(.2, .8, .2, 1);background:#f6f7f2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-width:320px;min-height:100%}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #416f5e40}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:12px;font-size:clamp(2rem,4vw,3.1rem);font-weight:680;line-height:1.08}h2{letter-spacing:-.025em;margin-bottom:8px;font-size:1.35rem;line-height:1.25}h3{font-size:1.02rem;line-height:1.35}p{color:var(--muted);line-height:1.62}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:40;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafbf7f0;flex-direction:column;height:100vh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-height:44px;padding:0 10px 24px;display:flex}.brand>span{width:34px;height:34px;color:var(--primary);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.brand>span img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.brand strong{letter-spacing:-.02em;font-size:1.02rem}.brand>button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;margin-left:auto;display:none}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#67746e;text-align:left;width:100%;min-height:46px;transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 13px;font-size:.9rem;font-weight:560;display:flex}.sidebar nav button:hover{color:var(--text);background:#eef2ed}.sidebar nav button:active{transform:scale(.985)}.sidebar nav button.is-active{color:#2f5f4e;background:var(--primary-soft)}.sidebar-bottom{gap:10px;margin-top:auto;display:grid}.level-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:13px}.level-card>div:first-child{color:var(--primary);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:700;display:flex}.level-card small{color:var(--subtle);font-weight:500}.level-track{background:#e8ede8;border-radius:99px;height:5px;margin-top:9px;overflow:hidden}.level-track span{border-radius:inherit;height:100%;transition:width .35s var(--ease);background:#75a38e;display:block}.profile-row{width:100%;min-height:58px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:10px;padding:7px 8px;display:flex}.profile-row:hover{background:#eef2ed}.profile-row>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.profile-row strong,.profile-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-row strong{color:var(--text);font-size:.82rem}.profile-row small{color:var(--subtle);font-size:.72rem}.app-main{min-width:0}.topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f7f2e0;border-bottom:1px solid #e2e7e2d9;align-items:center;gap:18px;min-height:72px;padding:12px clamp(20px,4vw,52px);display:flex;position:sticky;top:0}.global-search{width:min(480px,50vw);position:relative}.global-search svg{color:#7d8983;pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.global-search input{border:1px solid var(--line);width:100%;height:44px;color:var(--text);background:#ffffffd1;border-radius:13px;outline:none;padding:0 16px 0 44px;transition:border .18s,box-shadow .18s,background .18s}.global-search input::placeholder{color:#929c97}.global-search input:focus{background:var(--surface);border-color:#a7bfb3;box-shadow:0 0 0 4px #416f5e14}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.coin-balance{border:1px solid var(--line);color:#75633c;background:#fffdf7;border-radius:12px;align-items:center;gap:7px;min-height:40px;padding:0 11px;font-size:.82rem;font-weight:650;display:inline-flex}.icon-button{border:1px solid var(--line);color:#718078;background:var(--surface);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;padding:0;transition:background .18s,color .18s,transform .18s,border .18s;display:inline-grid}.icon-button:hover{color:var(--primary);background:#f5faf6;border-color:#c6d5cc}.icon-button:active{transform:scale(.96)}.icon-button.is-active{color:var(--primary);background:var(--primary-soft);border-color:#bdd3c7}.mobile-menu{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:none}.page-content{width:min(1390px,100%);margin:0 auto;padding:46px clamp(20px,4vw,52px) 90px}.view{min-width:0}.narrow-view{max-width:760px;margin:0 auto}.view-enter{animation:enter .28s var(--ease) both}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.page-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.page-heading>div{max-width:750px}.page-heading p{max-width:650px;margin-bottom:0;font-size:1rem}.eyebrow{color:var(--primary);letter-spacing:.095em;text-transform:uppercase;margin-bottom:9px;font-size:.73rem;font-weight:720;display:block}.button{min-height:46px;transition:transform .18s var(--ease), background .18s, border .18s, box-shadow .18s;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:.86rem;font-weight:650;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:scale(.98)}.button-primary{color:#fff;background:var(--primary);box-shadow:0 6px 15px #416f5e26}.button-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 8px 18px #416f5e33}.button-soft{color:#315c4c;background:var(--primary-soft);border-color:#c7dbcf}.button-soft:hover:not(:disabled){background:#d2e6da}.button-light{color:#55645d;border-color:var(--line);background:var(--surface)}.button-light:hover:not(:disabled){background:#f9fbf8;border-color:#cdd8d1}.button-sm{border-radius:10px;min-height:40px;padding:0 13px;font-size:.8rem}.mystery-card{background:linear-gradient(120deg,#edf4ed,#f6f2e8);border:1px solid #d9e3da;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:150px;margin-bottom:38px;padding:24px 26px;display:grid;position:relative;overflow:hidden}.mystery-card:after{content:"";pointer-events:none;border:1px solid #4f7a671f;border-radius:50%;width:210px;height:210px;position:absolute;top:-105px;right:-100px;box-shadow:0 0 0 26px #4f7a6709}.mystery-symbol{color:#5e7658;width:58px;height:58px;box-shadow:var(--shadow-soft);background:#ffffffb8;border-radius:18px;place-items:center;display:grid}.mystery-copy{z-index:1;position:relative}.mystery-copy h2{margin-bottom:5px}.mystery-copy p{margin:0;font-size:.9rem}.mystery-card .button{z-index:1;position:relative}.section-bar{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:18px;display:flex}.section-bar h2{margin-bottom:3px}.section-bar p{color:var(--subtle);margin:0;font-size:.82rem}.category-scroll{scrollbar-width:none;gap:7px;padding:4px;display:flex;overflow-x:auto}.category-scroll::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);min-height:40px;color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:99px;padding:0 13px;font-size:.8rem;font-weight:580;transition:background .18s,color .18s,border .18s}.chip:hover{color:var(--text);border-color:#cbd8d0}.chip.is-active{color:#315d4d;background:var(--primary-soft);border-color:#c3d7cb}.quest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.quest-card{border:1px solid var(--line);background:var(--surface);min-width:0;transition:transform .22s var(--ease), box-shadow .22s, border .22s;border-radius:17px;overflow:hidden;box-shadow:0 1px 1px #1e2e2604}.quest-card:hover{box-shadow:var(--shadow);border-color:#d0dad3;transform:translateY(-3px)}.quest-cover{aspect-ratio:16/8.7;color:#4d6c5d;text-align:left;border:0;justify-content:space-between;align-items:flex-end;width:100%;padding:16px;display:flex;position:relative;overflow:hidden}.quest-cover:before,.detail-cover:before,.feed-placeholder:before{content:"";border:1px solid #ffffff80;border-radius:50%;width:150px;height:150px;position:absolute;top:-58px;right:-44px;box-shadow:0 0 0 20px #ffffff21}.cover-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff7a;border-radius:16px;place-items:center;width:54px;height:54px;display:grid;position:relative}.cover-category{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffff8a;border-radius:8px;padding:6px 9px;font-size:.72rem;font-weight:680;position:relative}.tone-sage{color:#436552;background:#cfe0cf}.tone-sky{color:#4c6874;background:#d5e4e7}.tone-peach{color:#805b4d;background:#ead5c7}.tone-lilac{color:#675c79;background:#dfd9e8}.tone-butter{color:#78653e;background:#eee2be}.tone-rose{color:#7d585b;background:#ead6d4}.quest-card-content{padding:17px}.creator-line{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.creator-line>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trusted{color:#6b8778;white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:.69rem;display:inline-flex}.quest-title-button{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;margin:7px 0 1px;padding:0;display:flex}.quest-title-button h3{margin:0}.quest-title-button:hover h3{color:var(--primary)}.quest-card-content>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:44px;margin-bottom:14px;font-size:.86rem;line-height:1.5;display:-webkit-box;overflow:hidden}.quest-meta{color:#75817b;flex-wrap:wrap;gap:8px 12px;font-size:.73rem;display:flex}.quest-meta span,.reward{align-items:center;gap:5px;display:inline-flex}.quest-card-footer{border-top:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.reward{color:#617d61;white-space:nowrap;font-size:.74rem;font-weight:680}.reward span{color:#a3aba6}.card-actions{align-items:center;gap:7px;display:flex}.card-actions .icon-button{border-radius:10px;width:40px;height:40px}.skeleton-card{border:1px solid var(--line);background:#fff;border-radius:17px;min-height:340px;padding:0 16px 16px;display:grid;overflow:hidden}.skeleton-card:before{content:"";background:#e9eee9;height:150px;margin:0 -16px 20px;display:block}.skeleton-card span{background:#edf0ed;border-radius:8px;height:13px;margin-bottom:10px;animation:1.5s ease-in-out infinite pulse;display:block}.skeleton-card span:nth-child(2){width:74%}.skeleton-card span:nth-child(3){width:50%}@keyframes pulse{50%{opacity:.5}}.empty-state{text-align:center;background:#ffffff85;border:1px dashed #d2dbd4;border-radius:17px;align-content:center;place-items:center;min-height:280px;padding:34px;display:grid}.empty-icon{width:50px;height:50px;color:var(--primary);background:var(--primary-soft);border-radius:15px;place-items:center;margin-bottom:13px;display:grid}.empty-state h3{margin:0 0 6px}.empty-state p{max-width:400px;margin:0 0 18px;font-size:.87rem}.feed-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:16px;display:flex}.feed-tabs button,.detail-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-size:.83rem;font-weight:620}.feed-tabs button.is-active,.detail-tabs button.is-active{color:var(--primary);border-bottom-color:var(--primary)}.feed-list{gap:16px;display:grid}.feed-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:17px;position:relative;overflow:hidden}.feed-author{align-items:center;gap:10px;min-height:70px;padding:12px 15px;display:flex;position:relative}.feed-author>div:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.feed-author strong{font-size:.84rem}.feed-author span{color:var(--muted);font-size:.76rem}.feed-author span button{color:var(--primary);font-size:inherit;background:0 0;border:0;padding:0}.feed-author time{color:var(--subtle);font-size:.72rem}.feed-author .icon-button{border:0;width:40px;height:40px}.small-menu{z-index:5;border:1px solid var(--line);width:150px;box-shadow:var(--shadow);background:#fff;border-radius:11px;padding:5px;display:grid;position:absolute;top:57px;right:12px}.small-menu button{min-height:40px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:.76rem}.small-menu button:hover{background:var(--surface-soft)}.feed-image{aspect-ratio:16/10;background:var(--surface-soft);overflow:hidden}.feed-image img{object-fit:cover;width:100%;height:100%;display:block}.feed-placeholder{aspect-ratio:16/7;place-items:center;display:grid;position:relative;overflow:hidden}.feed-placeholder svg{position:relative}.feed-body{padding:15px}.feed-body>p{color:#45534c;margin-bottom:12px;font-size:.91rem}.feed-reward{color:#6b7e73;gap:13px;font-size:.74rem;display:flex}.feed-reward span{align-items:center;gap:5px;display:inline-flex}.feed-actions{border-top:1px solid #edf0ec;align-items:center;gap:5px;margin-top:14px;padding-top:10px;display:flex}.feed-actions button{color:#718078;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;min-height:42px;padding:0 10px;font-size:.75rem;font-weight:620;display:inline-flex}.feed-actions button:hover,.feed-actions button.is-active{color:var(--primary);background:var(--primary-soft)}.feed-actions button span{color:var(--subtle);font-weight:500}.feed-actions .save-post{margin-left:auto}.feed-skeleton{gap:12px;display:grid}.feed-skeleton span{background:#e9eee9;border-radius:17px;height:260px;animation:1.5s infinite pulse;display:block}.roulette-layout{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:20px;display:grid}.roulette-panel{text-align:center;background:linear-gradient(145deg,#edf4ee,#f7f3e9);border:1px solid #d8e1da;border-radius:22px;align-content:center;place-items:center;min-height:500px;padding:42px;display:grid}.roulette-orb{width:116px;height:116px;color:var(--primary);transition:transform .55s var(--ease), border-radius .55s var(--ease);background:#ffffffab;border:1px solid #416f5e24;border-radius:38px;place-items:center;margin-bottom:24px;display:grid;box-shadow:0 20px 45px #41554914}.roulette-orb.is-spinning{border-radius:50%;transform:rotate(180deg)scale(.92)}.roulette-panel h2{font-size:1.55rem}.roulette-panel p{max-width:520px;margin-bottom:18px}.roulette-result-meta{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.roulette-result-meta span{color:#64766c;background:#ffffff8f;border:1px solid #416f5e1f;border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:.76rem;display:inline-flex}.roulette-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.filter-panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;align-self:start;padding:22px}.filter-panel h2{margin-bottom:20px}.filter-panel label{color:#53615a;gap:7px;margin-bottom:16px;font-size:.78rem;font-weight:650;display:grid;position:relative}.filter-panel select,.create-form select,.modal select,.create-form input,.create-form textarea,.modal input,.modal textarea,.inline-form input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);background:#fbfcfa;border-radius:11px;outline:none;padding:0 13px}.filter-panel label>svg{color:var(--muted);pointer-events:none;position:absolute;bottom:14px;right:12px}select{appearance:none}.privacy-note{color:#607269;background:var(--surface-soft);border-radius:11px;align-items:flex-start;gap:9px;padding:12px;font-size:.76rem;line-height:1.5;display:flex}.privacy-note svg{color:var(--primary);flex:none}.quest-list-section+.quest-list-section{margin-top:40px}.section-title{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-title h2{margin:0}.section-title span{color:var(--subtle);font-size:.78rem}.compact-quest-list,.personal-list{gap:9px;display:grid}.compact-quest-list>button{border:1px solid var(--line);width:100%;min-height:76px;color:var(--text);background:var(--surface);text-align:left;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 13px;transition:transform .18s,border .18s,box-shadow .18s;display:grid}.compact-quest-list>button:hover{box-shadow:var(--shadow-soft);border-color:#cad8cf;transform:translateY(-1px)}.compact-cover{border-radius:13px;place-items:center;width:52px;height:52px;display:grid}.compact-quest-list>button>span:nth-child(2){gap:4px;min-width:0;display:grid}.compact-quest-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.compact-quest-list small{color:var(--subtle);font-size:.73rem}.progress-pill{color:var(--primary);background:var(--primary-soft);border-radius:99px;padding:6px 9px;font-size:.69rem;font-weight:650}.personal-list label{border:1px solid var(--line);background:var(--surface);border-radius:13px;align-items:center;gap:12px;min-height:66px;padding:11px 14px;display:flex}.personal-list input{width:20px;height:20px;accent-color:var(--primary)}.personal-list label>span{flex:1;gap:4px;display:grid}.personal-list strong{font-size:.86rem}.personal-list small{color:var(--subtle);font-size:.73rem}.personal-list svg{color:#98a29d}.inline-form{background:#f0f6f1;border:1px solid #cfddd4;border-radius:15px;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:-12px 0 28px;padding:17px;display:grid}.inline-form label{color:var(--muted);gap:6px;font-size:.75rem;font-weight:650;display:grid}.inline-form>div{gap:7px;display:flex}.create-view{max-width:850px;margin:0 auto}.mode-switch{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.mode-switch button{border:1px solid var(--line);min-height:82px;color:var(--muted);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.mode-switch button.is-active{color:var(--primary);background:var(--primary-soft);border-color:#bcd2c5}.mode-switch span{gap:3px;display:grid}.mode-switch strong{color:var(--text);font-size:.88rem}.mode-switch small{font-size:.73rem}.create-form{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.form-section{padding:24px}.form-section+.form-section{border-top:1px solid var(--line)}.form-section h2{margin-bottom:18px}.create-form label,.modal label{color:#526159;gap:7px;margin-bottom:16px;font-size:.78rem;font-weight:650;display:grid}.create-form textarea,.modal textarea{resize:vertical;min-height:auto;padding:12px 13px;line-height:1.5}.create-form input:focus,.create-form textarea:focus,.create-form select:focus,.modal input:focus,.modal textarea:focus,.modal select:focus,.inline-form input:focus{border-color:#9dbbaa;box-shadow:0 0 0 4px #416f5e14}.form-grid{grid-template-columns:1fr 1fr;gap:0 13px;display:grid}.check-field{background:var(--surface-soft);border-radius:11px;align-items:flex-start;gap:11px;min-height:58px;padding:11px;margin-bottom:8px!important;display:flex!important}.check-field input{accent-color:var(--primary);margin-top:2px;width:19px!important;min-height:19px!important;box-shadow:none!important}.check-field span{gap:3px;display:grid}.check-field small{color:var(--subtle);font-weight:500;line-height:1.45}.form-footer{border-top:1px solid var(--line);background:#fafbf8;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.back-button{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;margin:-12px 0 20px;padding:0 8px;font-size:.82rem;font-weight:600;display:inline-flex}.back-button:hover{color:var(--primary)}.detail-hero{border:1px solid var(--line);background:var(--surface);border-radius:21px;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);display:grid;overflow:hidden}.detail-cover{place-items:center;min-height:390px;display:grid;position:relative;overflow:hidden}.detail-cover>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff6b;border-radius:28px;place-items:center;width:92px;height:92px;display:grid;position:relative}.detail-copy{flex-direction:column;justify-content:center;padding:36px;display:flex}.detail-copy>.eyebrow{margin-top:28px}.detail-copy h1{font-size:clamp(2rem,4vw,3rem)}.detail-copy>p{max-width:620px;font-size:.96rem}.detail-meta{flex-wrap:wrap;gap:8px;margin:8px 0 22px;display:flex}.detail-meta>span{color:#6b7972;background:var(--surface-soft);border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:0 9px;font-size:.74rem;display:inline-flex}.detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-tabs{border-bottom:1px solid var(--line);gap:2px;margin:27px 0 22px;display:flex}.detail-tabs button span{color:var(--subtle);margin-left:5px;font-weight:500}.detail-body{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:28px;display:grid}.detail-primary>section{padding:8px 0 24px}.detail-primary>section+section{border-top:1px solid var(--line);padding-top:24px}.detail-primary p{white-space:pre-line;max-width:760px;font-size:.92rem}.completion-rule{background:var(--surface-soft);border-radius:13px;align-items:flex-start;gap:12px;padding:15px;display:flex}.completion-rule svg{color:var(--primary);flex:none}.completion-rule strong{font-size:.85rem}.completion-rule p{margin:4px 0 0;font-size:.78rem!important}.reward-panel,.soft-panel{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:20px}.reward-panel>div{gap:8px;display:flex}.reward-panel strong{color:var(--primary);background:var(--primary-soft);border-radius:10px;align-items:center;gap:7px;padding:10px;font-size:.85rem;display:inline-flex}.reward-panel p,.soft-panel p{margin:13px 0 0;font-size:.76rem}.soft-panel{background:var(--surface-warm);margin-top:11px}.soft-panel h3{margin-bottom:4px}.completion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.character-view{--character-accent:#547967}.character-view.appearance-sky{--character-accent:#557887}.character-view.appearance-lilac{--character-accent:#756a86}.character-view.appearance-ember{--character-accent:#936d59}.character-hero{min-height:480px;box-shadow:var(--shadow-soft);background:linear-gradient(90deg,#f9faf6f7 0%,#f9faf6e6 41%,#f9faf64d 73%),url(/assets/wayfinder-sanctuary.jpg) 50%/cover;border:1px solid #c8d6cce6;border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);margin-bottom:22px;animation:15s ease-in-out infinite alternate sanctuary-breathe;display:grid;position:relative;overflow:hidden}.character-hero:after{content:"";z-index:0;pointer-events:none;border:1px solid #ffffff94;border-radius:50%;width:360px;height:360px;position:absolute;top:50%;right:14%;transform:translate(50%,-50%);box-shadow:0 0 0 34px #ffffff1a,0 0 80px #fff4c133}.character-hero-copy{z-index:2;flex-direction:column;justify-content:center;max-width:650px;padding:52px;display:flex;position:relative}.character-hero-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.character-rank{min-height:34px;color:var(--character-accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #54796729;border-radius:99px;align-self:flex-start;align-items:center;gap:7px;margin:0;padding:0 10px;font-size:.73rem;font-weight:720;display:inline-flex}.text-button{min-height:38px;color:var(--character-accent);background:0 0;border:0;border-radius:9px;padding:0 9px;font-size:.74rem;font-weight:720}.text-button:hover,.text-button:focus-visible{background:#ffffffb8}.character-hero h1{color:#26372f;margin-bottom:10px;font-size:clamp(2.6rem,5vw,4.5rem)}.character-hero-copy>p{color:#5f6f67;max-width:540px;margin-bottom:25px}.character-vitals{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.character-vitals>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff9e;border:1px solid #627c6d1f;border-radius:12px;gap:2px;min-width:112px;padding:10px 12px;display:grid}.character-vitals strong{color:#31483d;font-size:.88rem}.character-vitals small{color:#7d8a83;font-size:.68rem}.hero-xp{max-width:500px}.hero-xp>div:first-child{color:#62736a;justify-content:space-between;margin-bottom:7px;font-size:.72rem;display:flex}.hero-xp-track{background:#ffffffb8;border-radius:99px;height:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #54796714}.hero-xp-track span{border-radius:inherit;background:linear-gradient(90deg, var(--character-accent), #91b59f);height:100%;transition:width .5s var(--ease);display:block}.character-3d-copy{color:var(--character-accent);align-self:flex-start;align-items:center;gap:7px;margin:18px 0 0;font-size:.74rem;font-weight:680;line-height:1.4;display:inline-flex}.character-3d{z-index:2;place-self:end stretch;min-width:0;margin:18px 24px 20px 0;position:relative}.character-3d-stage{touch-action:none;background:radial-gradient(circle at 50% 30%,#ffffffd1,#deebe17a 50%,#d0dcd3d1);border:1px solid #ffffffc7;border-radius:168px 168px 30px 30px;height:374px;position:relative;overflow:hidden;box-shadow:0 24px 60px #2c3e342e}.character-3d-stage:before{content:"";z-index:0;pointer-events:none;border:1px solid #ffffffc2;border-radius:50%;position:absolute;inset:16% 11% 12%;box-shadow:0 0 0 18px #ffffff1f,0 0 65px #efe19f38}.character-3d-canvas{z-index:2;cursor:grab;outline:none;position:absolute;inset:0;width:100%!important;height:100%!important}.character-3d-canvas:active{cursor:grabbing}.character-3d-fallback{z-index:1;object-fit:cover;object-position:50% 19%;width:100%;height:100%;transition:opacity .25s;display:block;position:absolute;inset:0}.character-3d.is-ready .character-3d-fallback{opacity:0;pointer-events:none}.character-3d-level{z-index:4;color:#fff;background:var(--character-accent);pointer-events:none;border:5px solid #ffffffd1;border-radius:50%;align-content:center;place-items:center;width:66px;height:66px;font-size:1.4rem;line-height:1;display:grid;position:absolute;bottom:16px;right:13px;box-shadow:0 10px 28px #263d3138}.character-3d-level small{letter-spacing:.12em;margin-bottom:2px;font-size:.52rem}.character-3d-tip{z-index:4;color:#426050;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none;background:#ffffffb8;border:1px solid #ffffffb3;border-radius:99px;align-items:center;gap:5px;padding:7px 9px;font-size:.62rem;font-weight:720;display:inline-flex;position:absolute;bottom:14px;left:13px;box-shadow:0 8px 18px #2c3e3414}.character-3d-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffad;border:1px solid #dde6dfd9;border-radius:13px;align-items:center;gap:6px;min-height:44px;margin-top:9px;padding:5px;display:flex}.character-3d-actions>button{color:#5f6f67;min-height:34px;transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:5px;padding:0 8px;font-size:.67rem;font-weight:720;display:inline-flex}.character-3d-actions>button:hover{color:var(--character-accent);background:#e8f2ebcc}.character-3d-actions>button:active{transform:scale(.97)}.character-3d-actions>button.is-active{color:var(--character-accent);background:var(--primary-soft);border-color:#54796724}.character-3d-camera{border-left:1px solid #e2e8e3;align-items:center;gap:1px;margin-left:auto;padding-left:4px;display:inline-flex}.character-3d-camera button{color:#69766f;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.character-3d-camera button:hover{color:var(--character-accent);background:#e8f2ebcc}.character-art{--tilt-x:0deg;--tilt-y:0deg;z-index:1;cursor:pointer;width:min(100%,430px);height:450px;transform:perspective(1000px) rotateY(var(--tilt-x)) rotateX(var(--tilt-y));transform-style:preserve-3d;transition:transform .22s var(--ease), filter .22s var(--ease);background:0 0;border:0;place-self:end;margin-right:24px;padding:0;position:relative}.character-art:hover,.character-art:focus-visible{filter:saturate(1.04)brightness(1.02)}.character-art:focus-visible{outline-offset:4px;border-radius:20px;outline:3px solid #54796761}.character-figure{z-index:2;transform-origin:50% 100%;width:330px;height:430px;animation:5.5s ease-in-out infinite character-idle;position:absolute;bottom:0;right:0}.character-figure img{object-fit:cover;object-position:50% 19%;border:1px solid #ffffffb3;border-radius:170px 170px 28px 28px;width:100%;height:100%;display:block;box-shadow:0 24px 60px #2c3e342e}.character-aura{z-index:1;border:1px solid #ffffffbf;border-radius:50%;width:350px;height:350px;animation:4s ease-in-out infinite aura-pulse;position:absolute;bottom:36px;right:5px;box-shadow:0 0 0 20px #ffffff1f,0 0 65px #efe19f47}.character-motes{z-index:3;pointer-events:none;border-radius:50% 50% 28px 28px;position:absolute;inset:0;overflow:hidden}.character-motes span{width:6px;height:6px;animation:3.6s ease-in-out infinite mote-float;animation-delay:calc(var(--mote) * -.42s);background:#fff8caf5;border-radius:50%;position:absolute;box-shadow:0 0 14px #ffe385e6}.character-motes span:first-child{top:61%;left:17%}.character-motes span:nth-child(2){top:29%;left:30%}.character-motes span:nth-child(3){top:72%;left:44%}.character-motes span:nth-child(4){top:17%;left:57%}.character-motes span:nth-child(5){top:48%;left:67%}.character-motes span:nth-child(6){top:24%;left:78%}.character-motes span:nth-child(7){top:68%;left:83%}.character-motes span:nth-child(8){top:46%;left:39%}.character-art.is-greeting .character-figure{animation:.82s cubic-bezier(.24,.9,.35,1) both character-greeting}.character-art.is-greeting .character-motes span{animation-duration:.85s}.character-art-hint{z-index:5;color:#426050;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:.82;background:#ffffffad;border:1px solid #ffffffb3;border-radius:99px;align-items:center;gap:5px;padding:7px 9px;font-size:.65rem;font-weight:720;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:14px;left:16px;box-shadow:0 8px 18px #2c3e3414}.character-art:hover .character-art-hint,.character-art:focus-visible .character-art-hint{opacity:1;transform:translateY(-2px)}.level-seal{z-index:4;color:#fff;background:var(--character-accent);border:5px solid #ffffffc7;border-radius:50%;align-content:center;place-items:center;width:72px;height:72px;font-size:1.55rem;line-height:1;display:grid;position:absolute;bottom:22px;right:-2px;box-shadow:0 10px 28px #263d3138}.level-seal small{letter-spacing:.12em;margin-bottom:2px;font-size:.52rem}@keyframes sanctuary-breathe{0%{background-position:50%,50%}to{background-position:50%,53% 47%}}@keyframes character-idle{0%,to{transform:translateY(0)rotate(-.35deg)}50%{transform:translateY(-7px)rotate(.35deg)}}@keyframes character-greeting{0%{transform:translateY(0)rotate(0)}28%{transform:translateY(-12px)rotate(-2deg)}55%{transform:translateY(-3px)rotate(2deg)}78%{transform:translateY(-8px)rotate(-1deg)}to{transform:translateY(0)rotate(0)}}@keyframes mote-float{0%,to{opacity:.18;transform:translateY(8px)scale(.7)}48%{opacity:1;transform:translateY(-18px)scale(1)}}@keyframes aura-pulse{50%{opacity:.7;transform:scale(1.025)}}.character-layout{grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);align-items:start;gap:22px;display:grid}.character-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:19px;padding:24px;transition:border-color .2s,box-shadow .2s}.character-panel:hover{border-color:#d5e1d8;box-shadow:0 16px 36px #2d443717}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-height:48px;margin-bottom:20px;display:flex}.panel-heading .eyebrow{margin-bottom:5px}.panel-heading h2{margin:0}.panel-heading>span{color:var(--subtle);font-size:.75rem}.point-balance{background:var(--primary-soft);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:0 10px;font-weight:680;display:inline-flex;color:var(--character-accent)!important}.character-identity{background:var(--surface-soft);border-radius:14px;grid-template-columns:1.2fr .75fr minmax(190px,.9fr) auto;align-items:end;gap:10px;margin-bottom:22px;padding:15px;display:grid}.character-identity label{color:#596760;gap:6px;font-size:.72rem;font-weight:650;display:grid;position:relative}.character-identity input,.character-identity select{width:100%;min-height:44px;color:var(--text);background:#ffffffe0;border:1px solid #dbe3dd;border-radius:10px;outline:none;padding:0 12px}.character-identity label>svg{color:var(--muted);pointer-events:none;position:absolute;bottom:13px;right:11px}.character-identity .button{min-height:44px}.starter-picker{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.starter-picker legend{color:#596760;margin-bottom:9px;font-size:.72rem;font-weight:680}.starter-roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.starter-card{min-height:78px;color:var(--text);text-align:left;transition:border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease), background .18s var(--ease);background:#ffffffad;border:1px solid #dfe7e1;border-radius:12px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;padding:7px;display:grid;position:relative;overflow:hidden}.starter-card:hover{background:#fff;border-color:#b8d0be;transform:translateY(-2px)}.starter-card.is-selected{border-color:var(--character-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--character-accent) 15%, transparent);background:#fff}.starter-card img{object-fit:cover;object-position:center 12%;background:#f4f2ef;border-radius:8px;width:48px;height:62px}.starter-card span{gap:3px;min-width:0;display:grid}.starter-card strong{font-size:.68rem;line-height:1.15}.starter-card small{color:var(--subtle);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.59rem;line-height:1.25;display:-webkit-box;overflow:hidden}.starter-card>svg{width:14px;color:var(--character-accent);opacity:0;transition:opacity .18s var(--ease), transform .18s var(--ease);position:absolute;top:7px;right:7px;transform:scale(.7)}.starter-card.is-selected>svg{opacity:1;transform:scale(1)}.starter-companion{background:#ffffffa3;border:1px solid #e0e8e2;border-radius:11px;align-items:center;gap:8px;min-height:44px;padding:6px 8px;display:flex}.starter-companion img{object-fit:cover;background:#f4f2ef;border-radius:50%;flex:none;width:36px;height:36px}.starter-companion span{gap:1px;min-width:0;display:grid}.starter-companion small{color:var(--subtle);font-size:.56rem;font-weight:650}.starter-companion strong{font-size:.7rem;line-height:1.1}.starter-companion em{color:#718078;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;font-style:normal;overflow:hidden}.character-summary{width:100%;min-height:78px;color:var(--text);background:var(--surface-soft);text-align:left;border:1px solid #e0e8e2;border-radius:14px;align-items:center;gap:12px;margin-bottom:22px;padding:13px;display:flex}.character-summary>span{flex:1;gap:3px;display:grid}.character-summary strong{font-size:.82rem}.character-summary small{color:var(--subtle);font-size:.7rem}.character-summary>svg{color:var(--character-accent);transition:transform .18s var(--ease)}.character-summary:hover{background:#f7faf7;border-color:#cbdcd0}.character-summary:hover>svg{transform:translate(3px)}.panel-muted{color:var(--subtle);margin:-8px 0 18px;font-size:.75rem}.attribute-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.attribute-card{background:#fcfdfb;border:1px solid #e5eae5;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:72px;padding:10px 11px;display:grid}.attribute-icon{width:39px;height:39px;color:var(--character-accent);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.attribute-card>span:nth-child(2){gap:2px;min-width:0;display:grid}.attribute-card strong{font-size:.82rem}.attribute-card small{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.attribute-card b{color:#3d5549;text-align:center;min-width:28px;font-size:1.05rem}.attribute-card button{width:40px;height:40px;color:var(--primary);background:#f4f9f5;border:1px solid #cad9d0;border-radius:10px;place-items:center;padding:0;display:grid}.character-rule{color:#718078;align-items:flex-start;gap:8px;margin:17px 0 0;font-size:.73rem;display:flex}.character-rule svg{color:var(--primary);flex:none}.equipment-panel{position:sticky;top:94px}.equipment-slots{gap:8px;display:grid}.equipment-slot{background:#fafbf8;border:1px dashed #d8dfda;border-radius:12px;align-items:center;gap:11px;min-height:68px;padding:10px;display:flex}.equipment-slot>span{color:#849089;background:#edf1ed;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.equipment-slot.has-item{background:#f6faf7;border-style:solid;border-color:#d7e3da}.equipment-slot.has-item>span{color:var(--primary);background:var(--primary-soft)}.equipment-slot>div{gap:2px;display:grid}.equipment-slot small{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.equipment-slot strong{font-size:.8rem}.equipment-slot em{color:var(--primary);font-size:.66rem;font-style:normal}.inventory-heading{justify-content:space-between;align-items:center;margin:22px 0 9px;display:flex}.inventory-heading h3{margin:0;font-size:.88rem}.inventory-heading span{color:var(--subtle);font-size:.68rem}.inventory-list{gap:7px;max-height:322px;padding-right:2px;display:grid;overflow-y:auto}.inventory-item{background:#fff;border:1px solid #e5e9e5;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:8px;display:grid}.inventory-item>span{color:#68766f;background:var(--surface-soft);border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.inventory-item>div{gap:2px;min-width:0;display:grid}.inventory-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.inventory-item small{color:var(--subtle);text-transform:capitalize;font-size:.61rem}.inventory-item .button{min-height:36px;padding:0 9px;font-size:.68rem}.rarity-uncommon{border-color:#cfe2d5}.rarity-rare{border-color:#d7d0e6}.rarity-epic{border-color:#e6d3bc}.achievement-panel{margin-top:22px}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.achievement-card{opacity:.76;background:#fafbf9;border:1px solid #e5e9e5;border-radius:14px;gap:10px;min-height:158px;padding:14px;display:flex}.achievement-card.is-unlocked{opacity:1;background:#f4f9f5;border-color:#d2e0d6}.achievement-icon{color:#8b9690;background:#ecefec;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.is-unlocked .achievement-icon{color:#7c6c35;background:#f3ebcd}.achievement-card>div{flex-direction:column;flex:1;min-width:0;display:flex}.achievement-card strong{font-size:.8rem}.achievement-card p{margin:4px 0 auto;font-size:.68rem;line-height:1.45}.achievement-card small{color:var(--subtle);margin-top:5px;font-size:.63rem}.achievement-progress{background:#e7ebe7;border-radius:99px;height:5px;overflow:hidden}.achievement-progress span{border-radius:inherit;background:#86a892;height:100%;display:block}.character-skeleton{background:#e9eee9;border-radius:22px;grid-template-columns:1fr .7fr;min-height:480px;animation:1.5s infinite pulse;display:grid;overflow:hidden}.level-up-backdrop{z-index:180;background:#24332b7a}.level-up-modal{width:min(780px,100%);animation:level-up-in .55s var(--ease) both;background:#fbfcf8;border:1px solid #ffffffb8;border-radius:25px;grid-template-columns:minmax(250px,.85fr) minmax(300px,1.15fr);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 100px #1c2c2359}.level-up-art{background:#e9efe9;min-height:480px;position:relative;overflow:hidden}.level-up-art:after{content:"";background:linear-gradient(#0000 55%,#2846394d);position:absolute;inset:0}.level-up-art img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;animation:level-art-in .9s var(--ease) both;display:block}.level-up-ring{z-index:2;border:1px solid #fff8cee6;border-radius:50%;width:230px;height:230px;animation:1.8s ease-in-out infinite level-ring;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 20px #fff7c41f,0 0 65px #ffe27b7a}.level-up-copy{z-index:3;flex-direction:column;justify-content:center;padding:44px;display:flex;position:relative}.level-up-copy h2{color:#2d463a;margin-bottom:12px;font-size:clamp(2.8rem,7vw,5rem);line-height:1}.level-up-copy>p{margin-bottom:22px}.level-up-reward{color:var(--primary);background:var(--primary-soft);border:1px solid #d2e0d6;border-radius:13px;align-items:center;gap:11px;margin-bottom:25px;padding:13px;display:flex}.level-up-reward>span{gap:2px;display:grid}.level-up-reward strong{font-size:.84rem}.level-up-reward small{color:#718078;font-size:.68rem}.level-up-particles{z-index:5;pointer-events:none;position:absolute;inset:0}.level-up-particles span{--angle:calc(var(--particle) * 30deg);width:7px;height:7px;animation:1.7s ease-out infinite level-particle;animation-delay:calc(var(--particle) * -.11s);background:#f0d98c;border-radius:2px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #ffe283cc}@keyframes level-up-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes level-art-in{0%{filter:brightness(1.5);transform:scale(1.08)}}@keyframes level-ring{50%{opacity:.6;transform:translate(-50%,-50%)scale(1.06)}}@keyframes level-particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(-40px) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(-250px) scale(.3)}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#20302857;place-items:center;padding:20px;animation:.18s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);width:min(680px,100%);max-height:calc(100vh - 40px);animation:modal-in .22s var(--ease) both;border:1px solid #fff9;border-radius:20px;overflow-y:auto;box-shadow:0 25px 80px #19282038}@keyframes modal-in{0%{opacity:0;transform:translateY(9px)scale(.985)}}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 21px;display:flex}.modal>header h2{margin:0}.modal>form{padding:21px}.upload-zone{text-align:center;cursor:pointer;background:#f7faf7;border:1.5px dashed #bfcfc5;border-radius:14px;place-items:center;min-height:150px;padding:20px;position:relative;display:grid!important}.upload-zone:hover{background:#f2f8f3;border-color:#90b09e}.upload-zone input{opacity:0;width:1px;height:1px;position:absolute}.upload-zone>span{color:var(--primary);place-items:center;gap:6px;display:grid}.upload-zone small{color:var(--subtle);font-weight:500}.preview-grid{grid-template-columns:repeat(5,1fr);gap:7px;margin:-6px 0 18px;display:grid}.preview-grid img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:100%;display:block}.modal footer{border-top:1px solid var(--line);background:#fafbf8;justify-content:flex-end;gap:8px;margin:20px -21px -21px;padding:15px 21px;display:flex}.avatar{color:#405f50;letter-spacing:-.02em;border-radius:50%;flex:none;place-items:center;font-weight:720;display:inline-grid;box-shadow:inset 0 0 0 1px #ffffff80}.avatar-sm{width:30px;height:30px;font-size:.61rem}.avatar-md{width:38px;height:38px;font-size:.72rem}.avatar-lg{width:48px;height:48px;font-size:.82rem}.avatar-tone-0{background:#d8e7dd}.avatar-tone-1{color:#725d49;background:#eadcc8}.avatar-tone-2{color:#5f5872;background:#e2dded}.avatar-tone-3{color:#526773;background:#dbe7eb}.avatar-tone-4{color:#76595b;background:#eddcdb}.toast-region{z-index:120;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:22px;right:20px}.toast{color:#355e4d;min-height:52px;box-shadow:var(--shadow);animation:toast-in .22s var(--ease) both;background:#f2faf4;border:1px solid #cbded2;border-radius:13px;align-items:center;gap:10px;padding:11px 13px;font-size:.82rem;display:flex}.toast-error{color:var(--danger);background:var(--danger-soft);border-color:#ebcac7}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-nav,.nav-scrim{display:none}@media (max-width:1120px){.quest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roulette-layout{grid-template-columns:1fr}.filter-panel{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.filter-panel h2,.filter-panel .privacy-note{grid-column:1/-1}.detail-hero{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr)}.character-layout{grid-template-columns:1fr}.equipment-panel{position:static}.equipment-slots{grid-template-columns:repeat(3,1fr)}.inventory-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:840px){.app-shell{display:block}.sidebar{width:min(300px,100vw - 42px);transition:transform .24s var(--ease);box-shadow:var(--shadow);position:fixed;left:0;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.brand>button{place-items:center;display:grid}.nav-scrim{z-index:39;background:#20302840;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:grid}.topbar{padding:9px 18px}.global-search{width:min(420px,55vw)}.page-content{padding:34px 20px 92px}.detail-hero{grid-template-columns:1fr}.detail-cover{min-height:230px}.detail-copy{padding:25px}.detail-copy>.eyebrow{margin-top:20px}.detail-body{grid-template-columns:1fr}.character-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)}.character-hero-copy{padding:38px}.character-art{margin-right:10px}.character-identity{grid-template-columns:1fr 1fr}.starter-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){h1{font-size:2.05rem}.topbar{min-height:62px}.global-search{flex:1;width:auto}.global-search input{height:42px}.topbar-actions .coin-balance,.topbar-actions>.icon-button,.topbar-actions>.avatar{display:none}.page-content{padding:28px 16px 92px}.page-heading{margin-bottom:25px;display:block}.page-heading p{font-size:.9rem}.desktop-only{display:none}.mystery-card{grid-template-columns:auto 1fr;gap:13px;padding:19px}.mystery-symbol{border-radius:14px;width:48px;height:48px}.mystery-card .button{grid-column:1/-1;width:100%}.section-bar{display:block}.section-bar>div:first-child{margin-bottom:12px}.category-scroll{margin:0 -4px}.quest-grid{grid-template-columns:1fr}.quest-cover{aspect-ratio:16/8}.quest-card-footer{align-items:flex-end}.roulette-panel{min-height:430px;padding:28px 18px}.filter-panel{display:block}.inline-form{grid-template-columns:1fr}.inline-form>div{justify-content:flex-end}.compact-quest-list>button{grid-template-columns:auto minmax(0,1fr) auto}.compact-quest-list .progress-pill{display:none}.mode-switch,.form-grid{grid-template-columns:1fr}.form-section{padding:19px}.form-footer{padding:13px 19px;position:sticky;bottom:66px}.detail-cover{min-height:180px}.detail-cover>span{border-radius:22px;width:74px;height:74px}.detail-copy{padding:20px}.detail-copy h1{font-size:2rem}.detail-actions .button{flex:1}.completion-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(3,1fr)}.character-hero{background:linear-gradient(#f9faf6f0,#f9faf6ad),url(/assets/wayfinder-sanctuary.jpg) 50%/cover;min-height:auto;display:block}.character-hero-copy{padding:28px 22px 12px}.character-hero-topline{margin-bottom:17px}.character-rank{margin-bottom:0}.character-hero h1{font-size:2.7rem}.character-vitals>span{min-width:calc(50% - 4px)}.character-3d{width:auto;margin:8px 16px 22px}.character-3d-stage{border-radius:145px 145px 26px 26px;height:350px}.character-3d-actions{flex-wrap:wrap;gap:4px}.character-3d-actions>button{flex:29%;justify-content:center}.character-3d-camera{border-left:0;margin-left:0;padding-left:0}.character-art{width:100%;height:350px;margin:0}.character-figure{width:260px;height:330px;margin-left:-130px;left:50%;right:auto}.character-figure img{border-radius:130px 130px 24px 24px}.character-aura{width:280px;height:280px;animation:none;bottom:18px;right:50%;transform:translate(50%)}.level-seal{right:calc(50% - 150px)}.character-art-hint{white-space:nowrap;bottom:7px;left:50%;transform:translate(-50%)}.character-art:hover .character-art-hint,.character-art:focus-visible .character-art-hint{transform:translate(-50%,-2px)}.character-panel{padding:18px}.panel-heading{display:block}.point-balance{margin-top:10px}.character-identity,.attribute-grid,.equipment-slots,.inventory-list,.achievement-grid,.starter-roster{grid-template-columns:1fr}.starter-card{grid-template-columns:54px minmax(0,1fr)}.starter-card img{width:54px;height:66px}.attribute-card{grid-template-columns:auto minmax(0,1fr) auto auto}.achievement-card{min-height:135px}.level-up-modal{border-radius:22px 22px 0 0;grid-template-columns:1fr;max-height:94vh;overflow-y:auto}.level-up-art{min-height:250px;max-height:34vh}.level-up-copy{padding:28px 22px}.level-up-copy h2{font-size:3.5rem}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:20px 20px 0 0;width:100%;max-height:94vh}.mobile-nav{z-index:35;min-height:68px;padding:6px 8px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfdf9f0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#7b8781;background:0 0;border:0;border-radius:11px;align-content:center;place-items:center;gap:3px;min-height:52px;padding:0;font-size:.62rem;font-weight:620;display:grid}.mobile-nav button.is-active{color:var(--primary);background:var(--primary-soft)}.mobile-nav button.is-create{color:#fff;background:var(--primary);border:5px solid #fcfdf9fa;border-radius:19px;justify-self:center;width:58px;min-height:58px;margin-top:-15px;box-shadow:0 8px 20px #30544433}.mobile-nav button.is-create span{display:none}.mobile-nav button.is-create.is-active{color:#fff;background:var(--primary-hover)}.toast-region{bottom:82px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
