:root{--bg:#f5f5ee;--paper:#fffefa;--ink:#243e32;--muted:#7c867c;--green:#285b43;--dark:#173d2d;--lime:#d1e698;--line:#e4e7dc;--gold:#d9a648;--soft:#eef2e5;--shadow:0 8px 28px #23432b06;font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #99b959;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #6b945e;outline-offset:1px}button svg{flex-shrink:0}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.skip-link{position:fixed;top:-60px;left:20px;background:white;padding:15px;z-index:100}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 20px;z-index:20}.brand{display:flex;gap:11px;align-items:center;margin:0 5px 38px;text-decoration:none}.brandmark{display:grid;place-items:center;width:45px;height:45px;background:var(--green);color:var(--lime);border-radius:14px;transform:rotate(-5deg)}.brandmark .icon{width:29px;height:29px}.brand-name{font-size:16px;font-weight:850;letter-spacing:1px;white-space:nowrap}.brand-sub{font-size:9px;letter-spacing:2px;color:#929c8d;margin-top:5px}.nav-label{font-size:10px;color:#929b8e;letter-spacing:2px;margin:0 15px 12px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;gap:13px;align-items:center;text-align:left;padding:14px 16px;border-radius:10px;color:#73806f;font-size:14px;font-weight:650;transition:.16s}.nav button:hover{background:#f0f3e9}.nav button.active{background:var(--green);color:#fff}.nav .count{margin-left:auto;font-size:11px;border-radius:5px;padding:2px 6px;background:#ffffff20}.sidebar-promo{background:#f1f3e5;border:1px solid #e5e9d3;margin-top:38px;border-radius:13px;padding:17px}.sidebar-promo .sprout{font-size:25px}.sidebar-promo h4{font-size:13px;margin:9px 0 7px}.sidebar-promo p{font-size:11px;color:#7d886e;line-height:1.8;margin:0}.sidebar-bottom{margin-top:auto;padding-top:30px}.demo-pill{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:#8a7753;background:#f6f0dd;border:1px solid #e9dfbd;padding:5px 8px;border-radius:6px}.demo-dot{width:5px;height:5px;background:#bd934b;border-radius:50%}.sidebar-bottom p{font-size:10px;color:#929a8d;line-height:1.7;margin:9px 2px}.reset-btn{font-size:11px;color:#8b9486;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.workspace{margin-left:232px;min-height:100vh}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#f9faf4cc;gap:12px}.crumb{font-size:12px;color:#909787}.crumb strong{font-weight:550;color:#586c55}.top-actions{display:flex;align-items:center;gap:16px}.top-date{font-size:11px;color:#8c9586}.roundbtn{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:grid;place-items:center}.top-user{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:17px;font-size:12px}.top-user small{display:block;color:#97a08e;font-size:10px;margin-top:2px}.avatar{width:32px;height:32px;background:#e6edcf;border:2px solid var(--paper);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.avatar.big{width:60px;height:60px;font-size:31px}.main{padding:28px 40px 32px;max-width:1550px;margin:auto}.hero{position:relative;overflow:hidden;min-height:244px;border-radius:18px;background:#28563f;color:#fff;display:flex;align-items:center;padding:30px 35px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 115%,#638e4b99,transparent 60%)}.hero-copy{position:relative;z-index:2;max-width:65%}.eyebrow{display:flex;gap:8px;align-items:center;font-size:10px;font-weight:600;letter-spacing:2px;color:#cbdda0}.eyebrow i{display:block;width:18px;height:1px;background:#c1d69a}.hero h1{font-size:clamp(25px,2.7vw,38px);font-weight:750;letter-spacing:1px;margin:15px 0 11px;line-height:1.4}.hero p{color:#c8d8c2;font-size:12px;line-height:1.9;margin:0}.hero-chips{display:flex;gap:9px;margin-top:22px;align-items:center}.hero-chip{padding:5px 10px;border-radius:5px;border:1px solid #c4d2a836;color:#d6e1c3;font-size:10px;background:#20483155;display:flex;gap:6px;align-items:center}.hero-chip .icon{width:13px;height:13px}.hero-art{position:absolute;right:0;bottom:-4px;height:260px;width:360px;max-width:43%;z-index:1}.hero-corner{position:absolute;right:20px;top:18px;font-size:9px;letter-spacing:1px;color:#adc298}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:21px 0 28px}.stat{padding:18px 20px;display:flex;align-items:center;gap:15px;border:1px solid var(--line);background:var(--paper);border-radius:12px;box-shadow:var(--shadow)}.stat-icon{width:41px;height:41px;display:grid;place-items:center;background:#edf2e0;color:#5b7851;border-radius:11px;flex-shrink:0}.stat:nth-child(2) .stat-icon{background:#f6efd9;color:#ad8742}.stat:nth-child(3) .stat-icon{background:#e9efed;color:#66847c}.stat-label{font-size:10px;letter-spacing:.5px;color:#8a9483}.stat-number{font-size:26px;line-height:1.25;font-weight:750;letter-spacing:-1px;margin-top:3px}.stat-number span{font-weight:400;font-size:11px;letter-spacing:0;color:#899482;margin-left:6px}.stat-tag{margin-left:auto;font-size:10px;color:#6f8c59;text-align:right;line-height:1.6}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-head h2{font-size:21px;margin:0;font-weight:800;letter-spacing:.3px}.section-head p{font-size:11px;color:#8a9482;margin:7px 0 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:10px 15px;border-radius:8px;font-size:12px;font-weight:650;transition:background .18s,transform .18s;min-height:39px;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:#1b4932}.btn-light{background:#eff3e6;color:#526942;border:1px solid #e2e9d7}.btn-outline{border:1px solid #dce2d1;background:var(--paper);color:#647258}.btn-gold{background:#efdcaa;color:#6f5527}.btn-danger{background:#f7e8e4;color:#a35b4d}.btn .icon{width:16px;height:16px}.btn-full{width:100%}.text-btn{font-size:11px;color:#7f8e6b;padding:7px 0;display:inline-flex;gap:5px;align-items:center}.text-btn:hover{color:var(--green);text-decoration:underline}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px;align-items:start}.filters{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.segmented{display:inline-flex;gap:4px;padding:4px;background:#eaeede;border-radius:9px}.segmented button{font-size:11px;padding:7px 11px;border-radius:6px;white-space:nowrap;color:#829072}.segmented button.active{background:var(--paper);color:#385736;box-shadow:0 2px 5px #1b3a1810;font-weight:650}.filter-count{color:#99a18f;font-size:10px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.event-card:hover{box-shadow:0 7px 22px #36512b0b;border-color:#bccaab}.event-banner{height:74px;background:#eaf0df;position:relative;overflow:hidden;padding:15px 17px;display:flex;align-items:flex-start;justify-content:space-between}.event-banner.liyue{background:#f2ebd8}.event-banner.natlan{background:#efdfd6}.event-banner.fontaine{background:#e3eef0}.region{position:relative;font-size:11px;letter-spacing:1px;z-index:2;display:flex;gap:6px;align-items:center;color:#6c8058}.region .icon{height:14px;width:14px}.landscape{position:absolute;right:0;bottom:0;width:140px;height:70px;opacity:.6}.status{display:inline-flex;gap:5px;align-items:center;border-radius:5px;font-size:9px;background:#fffaf0b8;border:1px solid #ffffff88;padding:4px 7px;position:relative;z-index:2;color:#70835a;white-space:nowrap}.status.full{color:#a2854f}.status.settled{color:#8a9486}.status:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.event-body{padding:18px 18px 15px;flex:1;display:flex;flex-direction:column}.event-card h3{font-size:16px;line-height:1.5;margin:0 0 7px;font-weight:750;overflow-wrap:anywhere}.host{display:flex;gap:6px;align-items:center;font-size:10px;color:#939b89;margin-bottom:17px}.host .avatar{width:20px;height:20px;font-size:12px;border:0}.host strong{font-weight:450;color:#6e7e63}.info-line{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:11px;color:#718166;line-height:1.5}.info-line .icon{width:14px;height:14px;color:#9ba58d}.info-line b{font-weight:550;color:#526648}.route-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.event-footer{border-top:1px solid #edf0e6;margin-top:7px;padding-top:13px}.participant-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;color:#98a08f}.avatar-stack{display:flex;padding-left:0}.avatar-stack .avatar{width:27px;height:27px;font-size:13px;margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar.empty{border:1px dashed #d9dfce;background:transparent;color:#b0b8a4;font-size:15px;margin-left:4px}.event-action{display:flex;gap:7px;align-items:center}.event-action .btn{flex:1;min-width:0;font-size:11px}.detail-btn{width:36px;height:37px;border:1px solid var(--line);border-radius:8px;color:#7f8f6c;flex-shrink:0}.detail-btn:hover{background:var(--soft)}.settle-link{margin-top:7px;text-align:center;display:block;width:100%;font-size:10px;color:#8b927e;padding:4px;text-decoration:underline;text-underline-offset:3px}.side-panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-heading h3{font-size:13px;margin:0;display:flex;gap:7px;align-items:center}.panel-heading .icon{width:16px;height:16px;color:#8ca075}.panel-heading span{color:#a9b397;font-size:10px}.progress-user{display:flex;align-items:center;gap:10px;margin:0 0 16px}.progress-user .avatar{width:43px;height:43px;font-size:25px}.progress-user h4{font-size:13px;margin:0 0 5px}.rank-label{display:inline-flex;font-size:10px;background:#edf2df;color:#718657;border-radius:4px;padding:4px 6px}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:#929b86;margin-bottom:8px}.progress-label b{font-size:11px;color:#708c4b}.progress-track{height:6px;border-radius:10px;background:#edf0e4;overflow:hidden}.progress-fill{height:100%;background:#91ac61;border-radius:10px;transition:width .4s}.progress-note{font-size:10px;line-height:1.9;color:#969d8b;margin:11px 0 0}.progress-note strong{color:#718553;font-weight:600}.callout{border-top:1px dashed var(--line);margin-top:15px;padding-top:13px;font-size:10px;color:#99a08e;line-height:1.8}.mini-rank{display:flex;align-items:center;gap:8px;margin-bottom:14px}.mini-rank .place{font-size:12px;color:#b0b8a1;font-weight:600;min-width:13px}.mini-rank:first-of-type .place{color:#c09b51}.mini-rank .avatar{width:30px;height:30px;font-size:17px}.mini-rank .name{font-size:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-rank .score{font-size:12px;font-weight:600}.mini-rank .score small{font-size:9px;color:#b0b8a4;font-weight:400;margin-left:3px}.mini-bottom{border-top:1px solid #eef0e7;padding-top:10px;display:block;text-align:center;font-size:10px;color:#8b9b71;width:100%}.rule-card{padding:15px 19px;border:1px dashed #dce2cd;border-radius:12px;color:#8b9780;font-size:10px;line-height:1.9}.rule-card b{font-size:11px;color:#748361;display:block;margin-bottom:3px}.footer{display:flex;justify-content:space-between;gap:15px;color:#aab09e;font-size:9px;margin-top:35px;line-height:1.8}.footer span{letter-spacing:.8px}.page-intro{background:#eaf0df;border:1px solid #dfe6d1;border-radius:14px;padding:21px 25px;margin-bottom:24px;display:flex;gap:18px;align-items:center}.page-intro .intro-emoji{font-size:35px}.page-intro h3{margin:0 0 6px;font-size:16px}.page-intro p{margin:0;font-size:12px;line-height:1.8;color:#879376}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.search{position:relative;flex:1;max-width:320px}.search input{width:100%;padding:10px 12px 10px 35px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:12px}.search .icon{position:absolute;left:11px;top:11px;width:16px;height:16px;color:#9caa89}.switch-row{display:flex;align-items:center;gap:10px;font-size:12px}.switch{width:38px;height:22px;border-radius:20px;background:#d8dfcc;position:relative;transition:.2s}.switch.on{background:var(--green)}.switch:after{content:"";position:absolute;width:16px;height:16px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s;box-shadow:0 1px 4px #0002}.switch.on:after{left:19px}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.member-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px}.member-top{display:flex;align-items:center;gap:12px;margin-bottom:15px}.member-top .avatar{width:43px;height:43px;font-size:25px}.member-name{font-size:14px;font-weight:700;overflow-wrap:anywhere}.member-name small{font-weight:400;font-size:10px;color:#a1ab92;margin-left:5px}.member-title{font-size:10px;margin-top:5px;color:#92a079}.member-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e5;padding-top:13px;font-size:10px;color:#95a086}.availability{color:#64814c;display:flex;gap:5px;align-items:center}.availability.off{color:#afb3a5}.availability:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.empty-state{grid-column:1/-1;padding:50px 20px;text-align:center;background:#fffefa;border:1px dashed #dce3cc;border-radius:14px;color:#89977a}.empty-state div{font-size:35px}.empty-state h3{font-size:15px;color:#596e4a}.empty-state p{font-size:12px;line-height:1.8}.leaderboard{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.rank-row{display:grid;grid-template-columns:45px minmax(0,1fr) 180px 85px;gap:15px;padding:18px 24px;align-items:center;border-bottom:1px solid #edf0e5}.rank-row:last-child{border-bottom:0}.rank-row.me{background:#eff4e4}.rank-row.table-head{font-size:10px;color:#96a087;padding-top:14px;padding-bottom:14px;background:#f8f9f1}.rank-person{display:flex;align-items:center;gap:12px;min-width:0}.rank-person .name{font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-person small{font-size:10px;color:#97a589;display:block;margin-top:4px}.rank-row .position{font-size:15px;color:#879975;font-weight:700}.rank-row .position.medal{font-size:23px}.rank-row .runs{text-align:right;font-weight:750;font-size:19px}.rank-row .runs small{font-size:10px;color:#9ba58e;font-weight:400;margin-left:4px}.rank-row .title{font-size:11px;color:#8d9c79}.profile-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.passport{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.passport-top{background:var(--green);padding:24px;color:#deebbf;position:relative;text-align:center}.passport-top .tiny{font-size:9px;letter-spacing:2px;margin-bottom:20px}.passport-top .avatar{width:76px;height:76px;font-size:43px;border:4px solid #b1c59044;background:#eef2d8}.passport-top h2{font-size:21px;color:white;margin:13px 0 9px;overflow-wrap:anywhere}.passport-top .rank-label{background:#c7dd9740;color:#d6eab4}.passport-bottom{padding:24px}.passport-total{text-align:center;font-size:42px;font-weight:750;letter-spacing:-2px;line-height:1.1}.passport-total small{font-size:12px;letter-spacing:0;color:#9ba58c;font-weight:400;margin-left:8px}.passport-caption{text-align:center;color:#9da68f;font-size:10px;margin:10px 0 23px;letter-spacing:1px}.passport-quote{border-top:1px dashed var(--line);padding-top:18px;margin-top:20px;font-size:11px;line-height:1.9;text-align:center;color:#96a181}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:23px;margin-bottom:19px}.settings-card h3{font-size:15px;margin:0 0 18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;min-width:0}.field label,.field-label{font-size:11px;color:#819270}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe5d3;border-radius:7px;padding:11px 12px;background:#fcfcf7;color:#4c6440;font-size:12px;min-width:0}.field textarea{resize:vertical;min-height:85px}.field small{font-size:10px;color:#a2aa94;line-height:1.5}.title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.title-option{padding:12px;text-align:left;border:1px solid var(--line);background:#fafbf5;border-radius:8px;font-size:11px;display:flex;gap:8px;align-items:center;min-width:0}.title-option span{overflow-wrap:anywhere}.title-option small{display:block;font-size:9px;color:#9daa8b;margin-top:5px}.title-option.active{background:#ebf1dc;border-color:#afc68a;color:#58793f}.title-option.locked{opacity:.6}.title-option .icon{width:15px;height:15px;flex-shrink:0}.history-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf0e5;align-items:center}.history-row:last-child{border:0}.history-row .icon{color:#8aa469;width:17px;height:17px}.history-row p{margin:0;font-size:11px;line-height:1.6;flex:1}.history-row small{font-size:9px;color:#a5ad98;display:block}.history-row strong{font-size:12px;color:#6c8d4d}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#142b23a6;backdrop-filter:blur(5px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px;animation:fade-in .15s}.modal{background:var(--paper);border:1px solid #d8e1cc;border-radius:18px;width:100%;max-width:520px;max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 20px 80px #142b2340;padding:27px}.modal.large{max-width:650px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:21px}.modal-header h2{font-size:20px;margin:0 0 7px;line-height:1.4}.modal-header p{font-size:11px;line-height:1.7;color:#96a285;margin:0}.close-modal{border-radius:50%;background:#f0f3e8;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.close-modal .icon{width:17px;height:17px}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.form-error{color:#a4594a;font-size:12px;line-height:1.6;background:#faeeea;border-radius:7px;padding:10px 12px;margin-top:10px}.form-error:empty{display:none}.settle-rule{padding:13px 15px;background:#eff3e4;border-radius:8px;font-size:11px;line-height:1.8;color:#7c8e68;margin-bottom:17px}.settle-rule b{color:#577346}.settle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e8edde}.settle-person{display:flex;gap:10px;align-items:center;font-size:12px}.settle-person small{display:block;font-size:10px;color:#9eaa8f;margin-top:4px}.stepper{display:flex;align-items:center;gap:5px}.stepper button{width:29px;height:30px;border:1px solid var(--line);background:#f2f5e9;border-radius:6px;font-size:17px}.stepper input{width:45px;text-align:center;border:1px solid var(--line);background:white;padding:7px 3px;border-radius:5px;color:#5d754c;font-size:13px;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper span{font-size:10px;color:#9ba68d;margin-left:2px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.detail-meta div{background:#f0f4e7;padding:12px;border-radius:8px;font-size:12px}.detail-meta small{display:block;font-size:10px;color:#91a17d;margin-bottom:6px}.list-heading{font-size:11px;color:#8b9c76;margin:20px 0 6px}.detail-person{display:flex;gap:10px;align-items:center;padding:8px 0;font-size:12px}.detail-person .right{margin-left:auto;color:#93a47f;font-size:10px}.copy-area{width:100%;min-height:170px;padding:14px;background:#f2f5e9;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:12px;line-height:1.9;color:#62774e;resize:vertical;white-space:pre-wrap}.notice{font-size:11px;color:#94a080;line-height:1.9;margin:14px 0}.levelup{text-align:center;padding:10px 0}.levelup .level-icon{width:92px;height:92px;border-radius:50%;background:#ebf1cd;margin:0 auto 18px;display:grid;place-items:center;font-size:50px;box-shadow:0 0 0 10px #f4f7e9;animation:pop-in .5s}.levelup .eyebrow{justify-content:center;color:#9bad71;margin:25px 0 7px}.levelup h2{font-size:27px;color:#3d693f;margin:8px 0 13px}.levelup p{font-size:12px;color:#8c9c72;line-height:1.8}.levelup .level-stats{display:flex;justify-content:center;gap:25px;border-top:1px dashed #dce5ca;border-bottom:1px dashed #dce5ca;padding:20px 0;margin:20px 0}.level-stats b{font-size:26px;display:block;color:#537a43}.level-stats small{font-size:10px;color:#98a786}.levelup .btn{margin-top:10px;width:100%}#toast{position:fixed;bottom:25px;left:calc(50% + 90px);transform:translate(-50%,20px);background:#244b37;color:#f3f7e5;box-shadow:0 5px 20px #152e2630;padding:13px 21px;border-radius:10px;z-index:80;max-width:90%;font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes pop-in{from{transform:scale(.6) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(min-width:1600px){.main{padding-left:60px;padding-right:60px}.hero{min-height:270px}.hero-art{height:285px;width:400px}.content-grid{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:1150px){.sidebar{width:195px;padding:28px 14px}.workspace{margin-left:195px}.brand{gap:8px;margin-left:3px}.brand-name{font-size:14px}.brandmark{width:37px;height:37px}.brand-sub{font-size:8px;letter-spacing:1px}.topbar{padding:0 25px}.main{padding:24px 25px}.content-grid{grid-template-columns:minmax(0,1fr) 225px;gap:17px}.event-grid{gap:12px}.event-body{padding:15px 13px}.event-card h3{font-size:14px}.event-action .btn{padding:9px 8px}.stat{padding:16px 14px;gap:10px}.stat-tag{display:none}.hero{padding:26px}.hero-art{right:-30px;max-width:46%}.hero-copy{max-width:66%}.side-panel{padding:17px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:275px minmax(0,1fr);gap:19px}.rank-row{grid-template-columns:35px minmax(0,1fr) 135px 65px;gap:10px}}
@media(max-width:920px){.sidebar{width:177px;padding:25px 12px}.workspace{margin-left:177px}.brand{flex-direction:column;align-items:flex-start;margin:0 9px 28px}.brandmark{width:38px;height:38px}.nav button{font-size:12px;padding:13px;gap:10px}.top-date{display:none}.content-grid{grid-template-columns:1fr}.lobby-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-panel{margin-bottom:0}.rule-card{grid-column:1/-1}.hero-art{opacity:.8;max-width:40%;right:-20px}.hero-copy{max-width:73%}.hero h1{font-size:27px}.hero{min-height:225px}.profile-layout{grid-template-columns:1fr}.passport{display:grid;grid-template-columns:1fr 1fr}.passport-top{display:flex;flex-direction:column;align-items:center;justify-content:center}.title-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-icon{width:34px;height:34px}.stat-number{font-size:23px}.stats{gap:10px}.stat{gap:9px;padding:16px 12px}}
@media(max-width:650px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:67px;padding:0 20px;background:var(--paper)}.crumb{font-size:12px;font-weight:700;color:#476441}.crumb .parent,.crumb .sep{display:none}.crumb strong:before{content:"🌱 ";font-size:17px}.top-user{padding-left:0;border:0}.top-user .user-text{display:none}.top-user .avatar{width:31px;height:31px;font-size:18px}.top-actions{gap:11px}.main{padding:18px 17px 94px}.hero{min-height:217px;border-radius:14px;padding:24px 22px}.hero-copy{max-width:100%}.hero h1{font-size:26px;max-width:220px;line-height:1.4;letter-spacing:.5px;margin:12px 0 9px}.hero p{font-size:10px;max-width:220px;line-height:1.9}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-art{width:175px;height:170px;right:-31px;bottom:-7px;max-width:45%;opacity:.8}.hero-corner{font-size:7px;right:14px;top:15px}.hero-chips{gap:6px;margin-top:18px}.hero-chip{font-size:8px;padding:4px 6px}.hero-chip:last-child{display:none}.stats{margin:14px 0 26px;gap:8px}.stat{padding:12px 11px;gap:0;display:block;border-radius:10px}.stat-icon{width:26px;height:26px;border-radius:7px;margin-bottom:9px}.stat-icon .icon{width:15px;height:15px}.stat-label{font-size:9px;white-space:nowrap;letter-spacing:0}.stat-number{font-size:24px;margin-top:4px;white-space:nowrap}.stat-number span{font-size:9px;margin-left:3px}.section-head{margin-bottom:17px}.section-head h2{font-size:19px}.section-head p{font-size:10px;line-height:1.6}.section-head .btn{font-size:11px;min-height:35px;padding:8px 11px}.filters{margin-bottom:12px}.segmented button{font-size:10px;padding:7px 9px}.filter-count{font-size:9px}.event-grid{grid-template-columns:1fr;gap:15px}.event-banner{height:62px;padding:12px 17px}.event-body{padding:18px}.event-card h3{font-size:17px}.host{font-size:11px;margin-bottom:17px}.info-line{font-size:12px}.event-action .btn{font-size:12px}.event-footer{margin-top:8px}.lobby-aside{display:block;margin-top:3px}.side-panel{margin-bottom:16px;padding:20px}.mini-rank .name{font-size:12px}.footer{font-size:9px;display:block;text-align:center;margin-top:25px}.footer span{display:block;margin-top:5px}.mobile-nav{position:fixed;display:flex;justify-content:space-around;bottom:0;left:0;right:0;padding:9px 5px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #e1e6d5;background:#fffefaf5;backdrop-filter:blur(14px);z-index:30}.mobile-nav button{font-size:9px;color:#929e83;display:flex;flex-direction:column;align-items:center;gap:5px;width:25%;padding:3px}.mobile-nav .icon{width:21px;height:21px}.mobile-nav button.active{color:var(--green);font-weight:700}.mobile-nav button.active .icon{stroke-width:2.2}.page-intro{padding:17px;margin-bottom:20px;gap:11px}.page-intro .intro-emoji{font-size:29px}.page-intro h3{font-size:14px}.page-intro p{font-size:10px}.toolbar{flex-wrap:wrap;gap:13px}.search{max-width:none;flex-basis:100%}.member-grid{grid-template-columns:1fr;gap:12px}.member-card{padding:17px}.member-top{margin-bottom:13px}.member-name{font-size:14px}.member-title{font-size:11px}.member-meta{font-size:11px}.rank-row{grid-template-columns:26px minmax(0,1fr) 60px;gap:8px;padding:15px 13px}.rank-row .title{display:none}.rank-row .runs{font-size:18px}.rank-person{gap:7px}.rank-person .name{font-size:11px}.rank-person .avatar{width:29px;height:29px;font-size:16px}.rank-person small{font-size:9px}.rank-row .position{font-size:12px}.rank-row .position.medal{font-size:19px}.profile-layout{gap:20px}.passport{display:block}.passport-top{padding:24px}.passport-top .tiny{margin-bottom:14px}.passport-top .avatar{width:66px;height:66px;font-size:37px}.passport-bottom{padding:22px}.field-grid{grid-template-columns:1fr;gap:0}.title-grid{grid-template-columns:1fr 1fr}.settings-card{padding:20px}.modal-backdrop{padding:13px}.modal{padding:22px;max-height:calc(100dvh - 26px);border-radius:15px}.modal-header h2{font-size:18px}.modal-actions{gap:8px}.modal-actions .btn{flex:1;font-size:11px;padding:10px}.detail-meta{gap:8px}.detail-meta div{font-size:11px}.settle-rule{font-size:10px}.settle-person{font-size:11px;gap:7px}.settle-person .avatar{width:28px;height:28px;font-size:15px}.stepper{gap:3px}.stepper button{width:26px}.stepper input{width:38px}#toast{left:50%;bottom:86px;font-size:11px;min-width:180px;text-align:center}.footer .demo-mobile{display:block}.copy-area{font-size:11px}.title-option{font-size:10px;padding:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Shared membership and mobile LINE-entry screens. */
a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.logout-link{display:inline-flex;text-decoration:underline;text-underline-offset:3px;margin-top:12px}.sidebar-bottom .btn{width:100%;font-size:11px}.sidebar{overflow-y:auto}.sidebar-promo{margin-top:22px}.sidebar-bottom{padding-top:22px}.sync-status{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#79916e;font-size:10px;line-height:1.7;margin:-10px 0 15px}.sync-status span{display:flex;align-items:center;gap:5px}.sync-status .icon{width:13px;height:13px;flex-shrink:0}.sync-status button{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:11px;min-height:32px}.sync-failed{color:#a45c48;background:#fff2eb;border:1px solid #edd1c3;border-radius:8px;padding:9px 12px}.gate{max-width:1200px;margin:0 auto;padding:38px 35px;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.gate-brand .brand{margin:0 0 36px;align-items:center;flex-direction:row}.gate-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:35px;align-items:center}.gate-art .hero{min-height:440px;padding:40px;align-items:flex-start}.gate-art .hero-copy{max-width:100%}.gate-art .hero h1{max-width:370px;font-size:34px}.gate-art .hero-art{width:350px;height:270px;right:0;max-width:78%;opacity:1}.gate-art .hero p{font-size:12px}.gate-art .hero-chips{position:relative;z-index:2}.gate-art .hero-corner{font-size:8px}.gate-features{display:flex;justify-content:space-around;gap:12px;margin:22px 0 0;color:#829376;font-size:11px}.gate-features div{display:flex;align-items:center;gap:6px}.gate-features .icon{width:16px;height:16px}.gate-card{padding:35px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px #31523508}.gate-card h2{font-size:25px;line-height:1.5;margin:10px 0 12px;letter-spacing:.2px}.gate-card>p{font-size:12px;line-height:1.9;color:#7c8b72}.gate-card .notice{font-size:11px;line-height:1.8}.gate-icon{font-size:44px;margin-bottom:20px}.gate-kicker{font-size:9px;color:#94a179;font-weight:650;letter-spacing:1.4px}.gate-card .auth-button{width:100%;min-height:46px;margin:17px 0 4px;font-size:13px}.gate-note{background:#eff3e6;border-radius:10px;padding:17px;font-size:11px;line-height:1.9;color:#849377;margin:19px 0 12px}.gate-note b{color:#60794f;font-weight:650}.gate-card .field{margin-top:16px}.gate-card .field label{font-size:12px}.gate-card .field input,.gate-card .field select{font-size:13px}.gate-footer{text-align:center;font-size:10px;line-height:1.9;color:#99a28d;margin-top:32px}.gate-card .sync-status{margin-top:15px}.admin-member{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.admin-member:last-child{border-bottom:0}.admin-person{display:flex;gap:12px;align-items:center;min-width:0}.admin-person strong{font-size:13px;display:block;overflow-wrap:anywhere}.admin-person small{font-size:10px;color:#8e9d7f;display:block;margin-top:5px;line-height:1.7}.admin-actions{display:flex;gap:8px;flex-shrink:0}.admin-actions .btn{padding:9px 12px;font-size:11px}.danger-link{color:#a46950;margin-top:18px}.form-error[role=alert]{scroll-margin-top:20px}.filters .segmented{overflow-x:auto;max-width:100%}.segmented button{white-space:nowrap}.mobile-nav button{flex:1;width:auto}.admin-person>div{min-width:0}.form-error{overflow-wrap:anywhere}
@media(max-width:920px){.gate{padding:28px}.gate-layout{gap:24px;grid-template-columns:1fr 1fr}.gate-card{padding:25px}.gate-art .hero{padding:27px;min-height:440px}.gate-art .hero h1{font-size:29px;max-width:280px}.gate-features{font-size:10px;flex-wrap:wrap}.gate-art .hero-copy{max-width:100%}.gate-art .hero-art{max-width:100%}.gate-brand .brand{flex-direction:row}.gate-art .hero-chip:last-child{display:none}.admin-member{flex-wrap:wrap}}
@media(max-width:650px){.gate{padding:22px 17px;justify-content:flex-start}.gate-brand .brand{margin-bottom:20px;gap:10px}.gate-brand .brand-name{font-size:16px}.gate-layout{grid-template-columns:1fr;gap:20px}.gate-art .hero{min-height:215px;padding:23px}.gate-art .hero h1{font-size:25px;max-width:235px}.gate-art .hero p{font-size:10px;max-width:230px}.gate-art .hero-art{width:185px;height:167px;right:-23px;max-width:46%;opacity:.85}.gate-art .hero-copy{max-width:100%}.gate-features{margin-top:16px;font-size:10px;gap:8px}.gate-features .icon{width:14px;height:14px}.gate-card{padding:25px 22px;border-radius:16px}.gate-card h2{font-size:23px}.gate-icon{font-size:36px;margin-bottom:12px}.gate-note{padding:14px}.gate-footer{margin-top:24px;font-size:9px}.sync-status{font-size:9px;margin-top:-9px;gap:7px}.sync-status button{font-size:10px}.sync-failed{margin-top:0}.filters{flex-wrap:wrap;gap:8px}.filter-count{white-space:nowrap}.filters .segmented{max-width:100%;flex:1}.filters .segmented button{padding:8px;font-size:10px}.admin-member{align-items:flex-start;gap:12px}.admin-actions{width:100%;justify-content:flex-end}.admin-person small{font-size:11px}.admin-actions .btn{min-height:38px}.modal-actions{flex-wrap:wrap}.modal-actions .btn{white-space:normal;line-height:1.6}.gate-card .field input,.gate-card .field select,.field input,.field select,.field textarea,.search input{font-size:16px}.gate-card .field small{font-size:11px}.gate-card .auth-button{min-height:49px}.stepper button{height:36px}.stepper input{height:36px}.main .notice{font-size:11px}.top-actions{gap:8px}.topbar{padding-left:17px;padding-right:17px}}
.conflict-refresh{display:flex;margin-top:12px;font-size:12px}.admin-actions .danger-link{color:#a46950;margin-top:0}

/* Expedition journal: parchment, a night-sky cover, and fine champagne-gold rules. */
:root{
  --bg:#f0ecdf;--paper:#fffdf6;--ink:#28364b;--muted:#7b8190;
  --green:#293e60;--dark:#1b2943;--lime:#e9d5a5;--line:#ddd5c2;
  --gold:#b99758;--soft:#eee8d9;--shadow:0 7px 24px #29354b07;
  --night:#202e49;--night-deep:#18243b;--champagne:#ddc58c;
  --jade:#557e78;--rose:#986467;--title-font:Georgia,"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility;
}
body{
  background-image:radial-gradient(ellipse at 85% 0,#fffdf6 0,transparent 52%),radial-gradient(#9d875c0c .7px,transparent .7px);
  background-size:auto,7px 7px;line-height:1.6;
}
::selection{background:#dcc58b78;color:#1e2d46}
button:focus-visible,a:focus-visible{outline-color:#c7a65d;outline-offset:4px}
input:focus,select:focus,textarea:focus{outline-color:#7589a8;outline-offset:2px}
button{touch-action:manipulation}
.icon{stroke-width:1.6}
.illustrated-icon{display:inline-block;width:25px;height:25px;object-fit:contain;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 2px 2px #172d4118)}
.icon.illustrated-icon{fill:initial;stroke:initial}
.sidebar{
  width:248px;padding:36px 21px 24px;border-right:1px solid #bb9b5b80;color:#e4e2d6;
  background-color:var(--night-deep);
  background-image:radial-gradient(circle at 18% 16%,#e2ca946b 0 1px,transparent 1.5px),radial-gradient(circle at 81% 26%,#e2ca9452 0 1px,transparent 1.6px),radial-gradient(circle at 71% 62%,#dbe5fa59 0 1px,transparent 1.5px),radial-gradient(ellipse at 110% 0,#47567588,transparent 60%),linear-gradient(160deg,#253652,#18243b 76%);
}
.sidebar:after{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:1px;background:linear-gradient(transparent,#c4a76954 15%,#c4a76954 85%,transparent);pointer-events:none}
.brand{gap:12px;margin:0 4px 34px}
.brandmark{width:46px;height:46px;flex-shrink:0;border-radius:12px;transform:none;background:linear-gradient(145deg,#374b68,#21324f);border:1px solid #c5ab718c;box-shadow:inset 0 0 0 4px #1b2c4726,0 3px 12px #0d192627;color:#f1dba2}
.brandmark .icon,.brandmark .illustrated-icon{width:32px;height:32px}
.brand-name{font-family:var(--title-font);font-size:17px;font-weight:700;letter-spacing:1.2px}
.brand-sub{font-size:8px;letter-spacing:2.4px;color:#a7b4c4;margin-top:4px}
.nav-label{font-size:9px;letter-spacing:2.4px;color:#afa17d;margin:0 14px 13px}
.nav{gap:8px}
.nav button{padding:12px 14px;min-height:49px;gap:11px;border:1px solid transparent;border-radius:8px;color:#aebbd0;font-size:13px;font-weight:500;position:relative}
.nav button .icon{width:24px;height:24px;color:#c2aa78}
.nav button .illustrated-icon{width:31px;height:31px}
.nav button:hover{background:#ffffff06;border-color:#dac68c24;color:#fff8e7}
.nav button.active{background:linear-gradient(110deg,#d9c48f20,#61729115);border-color:#d2bb7d70;color:#fff5d9;box-shadow:inset 3px 0 #d3ba7a}
.nav button.active:after{content:"✦";position:absolute;right:12px;color:#d9c188;font-size:12px}
.nav button.active:has(.count):after{display:none}
.nav .count{background:#d8c38b20;border:1px solid #d8c38b30;color:#e8d7ac;border-radius:4px;font-size:10px}
.sidebar-promo{background:linear-gradient(140deg,#f0e2bb09,#879bb50c);border:1px solid #c9b27a38;border-radius:9px;padding:18px;margin-top:28px;position:relative}
.sidebar-promo:after{content:"✧";position:absolute;top:12px;right:13px;color:#c7ac7094;font-size:20px}
.sidebar-promo .sprout{font-size:27px;color:#e1ca92}
.sidebar-promo .sprout .illustrated-icon{width:39px;height:39px}
.sidebar-promo h4{color:#e9dfc6;font-size:12px;font-weight:600;margin-top:12px}
.sidebar-promo p{color:#9cacc2;font-size:11px;line-height:1.9}
.sidebar-bottom{padding-top:24px}
.demo-pill{background:#cdb17c10;border-color:#cfb57f35;color:#d7c392;font-size:9px;letter-spacing:.4px;border-radius:4px}
.demo-dot{background:#cbb576;box-shadow:0 0 7px #d0bd8366}
.sidebar-bottom p{color:#8292aa;font-size:10px;line-height:1.9;margin-top:12px}
.sidebar-bottom .btn-light{background:#ffffff06;border-color:#b8c3d52c;color:#ced7e5;font-weight:500}
.sidebar-bottom .text-btn,.sidebar-bottom .reset-btn{color:#a7b2c3;font-size:10px}
.workspace{margin-left:248px}
.topbar{height:79px;padding:0 36px;background:#f8f5ebd9;border-bottom-color:#d8ceb6;backdrop-filter:blur(12px)}
.crumb{font-size:12px;color:#969185;letter-spacing:.3px}
.crumb strong{color:#43536a;font-weight:600}
.top-actions{gap:16px}
.top-date{color:#8c8c83;font-size:11px;letter-spacing:.4px}
.roundbtn{width:35px;height:35px;border-color:#d9ceb6;background:#fffdf6;color:#727e8f;box-shadow:0 2px 5px #56493105}
.roundbtn .illustrated-icon{width:24px;height:24px}
.top-user{border-color:#d8cfbb;padding-left:17px;color:#32415a;font-size:12px;max-width:220px;min-width:0}
.top-user .user-text{min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-user small{font-size:10px;color:#8e927f}
.main{padding:28px 36px 36px;max-width:1590px}
.hero,.hero.hero-adventure{
  min-height:338px;border-radius:13px;padding:36px 38px;isolation:isolate;
  background:linear-gradient(110deg,#1a2943,#304c65 65%,#738b86);border:1px solid #c6ac7280;
  box-shadow:0 12px 34px #29374b12,inset 0 0 0 5px #e3c7910d;color:#fbf5e4;
}
.hero:before,.hero.hero-adventure:before{z-index:1;background:linear-gradient(90deg,#17263bf5 0%,#1b2b43ed 31%,#20324ba1 54%,#24374b1c 77%,transparent);pointer-events:none}
.hero:after{content:"";position:absolute;inset:9px;z-index:5;border:1px solid #ebd8a632;border-radius:7px;pointer-events:none}
.hero-scenery{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("./assets/durin-expedition.webp");background-position:center right;background-size:cover;background-repeat:no-repeat;filter:saturate(.76) brightness(.9)}
img.hero-scenery{width:100%;height:100%;object-fit:cover;object-position:right center}
.hero-copy{z-index:3;max-width:59%;padding:0 0 3px}
.eyebrow{font-size:9px;letter-spacing:2.6px;font-weight:600;color:#e0c58e;gap:9px;text-transform:uppercase}
.eyebrow i{width:21px;background:#c8ac70}
.hero h1{font-family:var(--title-font);font-size:clamp(29px,2.7vw,43px);font-weight:700;line-height:1.5;letter-spacing:1.5px;margin:16px 0 12px;max-width:530px;text-shadow:0 2px 18px #15213540}
.hero h1 em,.hero h1 span{color:#e4cd96;font-style:normal}
.hero p{color:#c5cfdb;font-size:12px;line-height:2;max-width:440px;letter-spacing:.3px}
.hero-chips{gap:8px;margin-top:23px;flex-wrap:wrap;max-width:100%}
.hero-chip{background:#12213a54;border-color:#cdb67c47;color:#e4dbc5;border-radius:4px;font-size:9px;padding:5px 9px;letter-spacing:.4px;backdrop-filter:blur(4px)}
.hero-chip .icon{width:15px;height:15px;color:#d9c48e}
.hero-chip .illustrated-icon{width:20px;height:20px}
.hero-art{z-index:2;max-width:45%;height:330px;width:420px;right:0;bottom:-4px;opacity:.8}
.hero-durin{position:absolute;z-index:2;right:1%;bottom:-36px;height:112%;width:45%;max-width:520px;object-fit:contain;object-position:center bottom;filter:drop-shadow(-13px 8px 25px #12213540);pointer-events:none;opacity:1}
.hero-durin img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-corner{z-index:4;top:22px;right:24px;font-size:8px;letter-spacing:1.6px;color:#fff0c5b5}
.stats{gap:16px;margin:20px 0 30px}
.stat{border-color:#d9cdb1;border-radius:9px;padding:20px;gap:14px;box-shadow:0 4px 14px #584d2f04;background:linear-gradient(135deg,#fffef9,#f8f4e9)}
.stat-icon{width:49px;height:49px;border-radius:12px;background:#ece8db;border:1px solid #cbbd9b40;color:#697e91}
.stat-icon .illustrated-icon{width:40px;height:40px}
.stat:nth-child(2) .stat-icon{background:#f2e7cc;color:#b08a42}
.stat:nth-child(3) .stat-icon{background:#e7eeea;color:#587d77}
.stat-label{font-size:10px;color:#85877f;letter-spacing:1px}
.stat-number{font-family:var(--title-font);font-size:31px;font-weight:600;letter-spacing:-.5px;color:#2d3d56;margin-top:2px}
.stat-number span{font-family:system-ui,sans-serif;font-size:10px;color:#9a978b}
.stat-tag{color:#8b927c;font-size:10px}
.section-head{margin-bottom:19px}
.section-head h2{font-family:var(--title-font);font-size:23px;font-weight:700;letter-spacing:1px;color:#2a3a54}
.section-head p{color:#898d85;font-size:12px;line-height:1.8;margin-top:6px}
.btn{border-radius:5px;min-height:41px;font-size:12px;font-weight:600;padding:10px 16px;letter-spacing:.4px;box-shadow:none;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #29374b0c}
.btn-primary{border:1px solid #596e8d;background:linear-gradient(135deg,#344b6c,#263b5c);color:#fff5dc;box-shadow:inset 0 0 0 2px #e0ca8e0e}
.btn-primary:hover{background:#3e5678;border-color:#b5a274}
.btn-light{background:#eeeadf;border-color:#d8ceb8;color:#6c776e}
.btn-light:hover{background:#e9e4d5}
.btn-outline{background:#fffdf6;border-color:#cfc2a5;color:#727b88}
.btn-outline:hover{background:#f5eedc;border-color:#bca574}
.btn-gold{background:linear-gradient(135deg,#e4d09a,#cbb070);color:#4d412a;border:1px solid #bfa164}
.btn-danger{background:#f4e6e0;color:#9b6261;border:1px solid #dfc2b7}
.btn .illustrated-icon{width:21px;height:21px}
.text-btn{color:#748797;font-size:11px;text-underline-offset:4px}
.text-btn:hover{color:#304969}
.content-grid{grid-template-columns:minmax(0,1fr) 268px;gap:22px}
.filters{margin-bottom:17px}
.segmented{background:#e7e1d2;padding:4px;border:1px solid #d9ceb9;border-radius:6px;gap:3px}
.segmented button{font-size:11px;border-radius:3px;color:#8c8d7f;padding:7px 12px;min-height:32px}
.segmented button.active{background:#fffdf6;color:#344a68;box-shadow:0 2px 5px #594e3410;font-weight:600}
.filter-count{font-size:10px;color:#97978a}
.event-grid{gap:17px}
.event-card{border:1px solid #d9ccb0;border-radius:9px;box-shadow:0 3px 14px #51452b04;background:var(--paper);position:relative}
.event-card:hover{border-color:#baa574;box-shadow:0 8px 24px #564b3210}
.event-banner{height:84px;background:linear-gradient(120deg,#dfe9e1,#edf0de);border-bottom:1px solid #c4ceb8;padding:16px 18px}
.event-banner.liyue{background:linear-gradient(120deg,#eee0bc,#f4ead2);border-bottom-color:#ddc991}
.event-banner.natlan{background:linear-gradient(120deg,#ead5c9,#f2e0d0);border-bottom-color:#ddbb9b}
.event-banner.fontaine{background:linear-gradient(120deg,#dce6ed,#ebeff1);border-bottom-color:#bdcfdc}
.event-banner.inazuma{background:linear-gradient(120deg,#e1dce9,#eeebf2);border-bottom-color:#c8bed8}
.event-banner.snezhnaya{background:linear-gradient(120deg,#dbe4eb,#edf0f3)}
.region{color:#5b7972;font-size:11px;letter-spacing:1.3px;align-items:center}
.region .illustrated-icon{width:28px;height:28px}
.liyue .region{color:#947442}.natlan .region{color:#9f6c52}.fontaine .region{color:#657f9a}.inazuma .region{color:#83718f}
.landscape{height:78px;width:170px;opacity:.7}
.status{border-radius:4px;padding:4px 8px;font-size:9px;background:#fffdf1c9;border-color:#ffffff88;color:#617b6f;letter-spacing:.3px}
.status.full{color:#a48242}.status.settled{color:#84909a}
.event-body{padding:20px 19px 17px}
.event-card h3{font-family:var(--title-font);font-size:18px;font-weight:700;line-height:1.6;letter-spacing:.3px;color:#32425b}
.host{font-size:10px;color:#999b8e;margin-bottom:17px;gap:7px}
.host strong{color:#7f887f}
.info-line{color:#858c8d;font-size:11px;line-height:1.7;gap:9px;margin-bottom:9px}
.info-line b{color:#586a7a;font-weight:500}
.info-line .icon{color:#b3a784;width:16px;height:16px}
.info-line .illustrated-icon{width:22px;height:22px}
.event-footer{border-color:#e7dfcf;padding-top:14px;margin-top:9px}
.participant-row{color:#95988c;margin-bottom:14px;font-size:10px}
.event-action .btn{font-size:11px;min-height:39px;padding:9px 11px}
.detail-btn{border-color:#d9ceb8;border-radius:5px;color:#87919e;height:39px;width:38px}
.detail-btn .illustrated-icon{width:23px;height:23px}
.settle-link{color:#9c967f;font-size:10px}
.avatar{background:linear-gradient(140deg,#e9e4d6,#dce6e8);border:2px solid #fffdf5;box-shadow:0 0 0 1px #c5b89770;color:#687888;overflow:hidden;width:34px;height:34px}
.avatar.big{width:62px;height:62px}
img.avatar-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
img.avatar.avatar-art{width:34px;height:34px}
.avatar.empty{background:#f4f0e5;border:1px dashed #cfc1a4;color:#b7aa8a;box-shadow:none}
.side-panel{background:#fffcf3;border:1px solid #d8c9a5;border-radius:9px;padding:21px;box-shadow:0 3px 16px #51452b04;margin-bottom:18px;position:relative}
.side-panel:before{content:"";position:absolute;width:23px;height:2px;top:-1px;left:20px;background:#bfa16a}
.panel-heading{margin-bottom:18px}
.panel-heading h3{font-family:var(--title-font);font-size:15px;letter-spacing:.4px;color:#394b65}
.panel-heading .icon{color:#ab925b;width:19px;height:19px}
.panel-heading .illustrated-icon{width:27px;height:27px}
.panel-heading span{font-size:9px;color:#a49d85}
.progress-user h4{font-size:13px;color:#3c4d66;font-weight:600}
.progress-user .avatar{width:43px;height:43px}
.rank-label{background:#eae4d2;color:#9a8050;border:1px solid #dacead5c;font-size:9px;padding:3px 7px;border-radius:3px;line-height:1.6}
.progress-label{color:#9a998a;font-size:10px}
.progress-label b{color:#aa905a;font-weight:600}
.progress-track{height:5px;background:#e8e1d2;box-shadow:inset 0 1px 2px #6e5b2d0a;border-radius:2px}
.progress-fill{background:linear-gradient(90deg,#ae8d4d,#dbc38a);border-radius:2px}
.progress-note{color:#92988b;font-size:11px;line-height:1.9}
.progress-note strong{color:#a18750}
.callout{border-color:#d9ceb8;color:#9a998c;font-size:10px}
.mini-rank{gap:10px;margin-bottom:15px}
.mini-rank .place{color:#b3ac98;font-size:11px}.mini-rank:first-of-type .place{color:#b2965e}
.mini-rank .name{font-size:11px;color:#657288}
.mini-rank .score{color:#344a68;font-family:var(--title-font);font-size:14px}
.mini-rank .score small{font-family:system-ui,sans-serif;color:#aaa38e}
.mini-bottom{border-color:#e5dcc7;color:#9b8a65;font-size:10px;padding-top:13px}
.rule-card{background:#eee9dc60;border-color:#d0c3a4;border-radius:7px;color:#929285;font-size:11px;padding:17px 19px}
.rule-card b{color:#747e7e;font-size:11px}
.footer{color:#aaa493;font-size:9px;line-height:1.9;margin-top:36px}
.footer span{letter-spacing:1.1px;color:#a19577}
.page-intro{background:linear-gradient(115deg,#e8ece9,#f6f1e1);border:1px solid #cfc8ad;border-radius:9px;padding:22px 25px;gap:18px;margin-bottom:25px}
.page-intro h3{font-family:var(--title-font);font-size:18px;color:#42556a;letter-spacing:.5px}
.page-intro p{color:#899184;font-size:12px;line-height:1.9}
.page-intro .intro-emoji{color:#a8925d}
.page-intro .intro-emoji .illustrated-icon{width:48px;height:48px}
.search input{background:#fffcf3;border-color:#d6c9ab;border-radius:5px;color:#485b74;padding:11px 13px 11px 38px;font-size:12px}
.search .icon{color:#aaa080;left:12px;top:12px}
.search .illustrated-icon{top:9px;left:10px;width:24px;height:24px}
.switch-row{color:#879082;font-size:11px}
.switch{background:#d7d3c6;border:1px solid #c5beaa;height:22px}
.switch.on{background:#6b8a86;border-color:#607e7a}
.switch:after{background:#fffdf3;top:2px}
.member-card{border-color:#d9cdb3;border-radius:9px;background:#fffcf4;padding:22px;box-shadow:0 3px 12px #51452b03}
.member-top{gap:13px}
.member-name{font-family:var(--title-font);font-size:16px;letter-spacing:.3px;color:#354961}
.member-name small{color:#a39d8a;font-size:10px;font-family:system-ui,sans-serif}
.member-title{color:#9b895f;font-size:10px;line-height:1.8}
.member-meta{border-color:#e6ddc9;color:#929b91;padding-top:15px;font-size:10px}
.availability{color:#6c8b7d}.availability.off{color:#b0afa2}
.empty-state{background:#faf7ee;border-color:#cfc1a2;border-radius:9px;color:#8d9689;padding:46px 24px}
.empty-state h3{font-family:var(--title-font);color:#637582;font-size:18px}
.empty-state .illustrated-icon{width:64px;height:64px}
.empty-state p{font-size:12px;line-height:1.9}
.leaderboard{background:#fffdf6;border-color:#d1c4a4;border-radius:9px}
.rank-row{border-color:#e8dfcc;padding:19px 23px;grid-template-columns:37px minmax(0,1fr) 180px 85px;gap:15px}
.rank-row.me{background:linear-gradient(90deg,#ebe4cf,#f5efde);box-shadow:inset 3px 0 #b79a5f}
.rank-row.table-head{background:#ede6d5;color:#93886b;font-size:10px;letter-spacing:1px;padding-top:13px;padding-bottom:13px}
.rank-person .name{color:#536379;font-size:13px;font-weight:600}
.rank-person small{color:#a39573;font-size:10px}
.rank-row .position{font-family:var(--title-font);color:#a4926b;font-size:16px;font-weight:500}
.rank-row .runs{font-family:var(--title-font);color:#344967;font-size:23px;font-weight:600}
.rank-row .runs small{font-family:system-ui,sans-serif;color:#a69e88;font-size:9px}
.rank-row .title{color:#9a8b64;font-size:11px;line-height:1.7}
.profile-layout{grid-template-columns:310px minmax(0,1fr);gap:24px;min-width:0;max-width:100%}
.profile-layout>div{min-width:0;max-width:100%}
.profile-layout .settings-card,.profile-layout .passport,.profile-layout .rule-card{min-width:0;max-width:100%}
.passport{border:1px solid #cbb78c;border-radius:10px;background:#fffdf4;box-shadow:0 8px 25px #3b445208}
.passport-top{background:radial-gradient(circle at 22% 28%,#eddbb44f 0 1px,transparent 1.8px),radial-gradient(circle at 85% 63%,#dfc5907a 0 1px,transparent 1.6px),linear-gradient(135deg,#324969,#1e2d49);color:#dcc89c;padding:28px 24px;border-bottom:1px solid #bd9e61}
.passport-top:after{content:"";position:absolute;inset:8px;border:1px solid #d7bf853b;border-radius:4px;pointer-events:none}
.passport-top .tiny{font-size:8px;letter-spacing:2.5px;color:#adbed3;margin-bottom:19px}
.passport-top h2{font-family:var(--title-font);font-size:24px;letter-spacing:1px;color:#fff5df;margin:16px 0 10px}
.passport-top .avatar{width:78px;height:78px;border:3px solid #e1ce984d;box-shadow:0 0 0 5px #d9bd7c12;background:#d6e0df}
.passport-top .rank-label{background:#ddc58b14;border-color:#d7bd7c40;color:#e5d3a8}
.passport-bottom{padding:27px 25px}
.passport-total{font-family:var(--title-font);font-size:49px;font-weight:500;color:#344a66;letter-spacing:-1px}
.passport-total small{font-family:system-ui,sans-serif;font-size:11px;color:#a49b83}
.passport-caption{color:#a79d86;font-size:10px;letter-spacing:1.2px}
.passport-quote{border-color:#d9ceb4;color:#98917d;font-family:var(--title-font);font-size:12px;line-height:2}
.settings-card{background:#fffcf4;border-color:#d8cbb0;border-radius:9px;padding:25px;margin-bottom:21px}
.settings-card h3{font-family:var(--title-font);font-size:17px;color:#40536c;letter-spacing:.4px;margin-bottom:20px}
.field label,.field-label{font-size:11px;color:#8d8c7c;letter-spacing:.3px}
.field input,.field select,.field textarea{border-color:#d8ccb2;background:#f7f4e9;border-radius:4px;color:#4a5f76;font-size:12px;padding:12px 13px;line-height:1.6}
.field input::placeholder,.field textarea::placeholder,.search input::placeholder{color:#aaa795}
.field small{color:#aaa28b;font-size:10px;line-height:1.7}
.title-grid{gap:10px}
.title-option{background:#f7f3e7;border-color:#e0d5bc;border-radius:5px;padding:14px 12px;gap:9px;color:#81897e;font-size:11px;line-height:1.6}
.title-option.active{background:#e9e2cd;border-color:#b9a06b;color:#7e704c;box-shadow:inset 0 0 0 2px #e2d4af40}
.title-option.locked{opacity:.6;filter:saturate(.5)}
.title-option small{color:#a39c86;line-height:1.7;font-size:9px}
.title-option .illustrated-icon{width:25px;height:25px}
.history-row{border-color:#e7ddc5;gap:12px;padding:14px 0}
.history-row p{font-size:11px;color:#738298;line-height:1.8}
.history-row small{color:#aaa38d;font-size:10px}
.history-row strong{color:#7d927b;font-size:12px}
.history-row .icon{color:#b29b64}
.history-row .illustrated-icon{width:25px;height:25px}
.sync-status{font-size:10px;color:#919982;margin-bottom:16px}
.sync-status .icon{color:#a99a70}
.sync-status .illustrated-icon{width:18px;height:18px}
.sync-status button{color:#8d927f;font-size:10px}
.sync-failed{background:#f8ede4;border-color:#e1c7af;color:#9b715a;border-radius:5px}
.admin-member{border-color:#e6dbc3;padding:17px 0;gap:16px}
.admin-person strong{font-size:13px;color:#52637c;line-height:1.7}
.admin-person small{color:#a49c86;font-size:10px}
.admin-actions .btn{font-size:11px;border-radius:5px}
.danger-link,.admin-actions .danger-link{color:#a37366}
.modal-backdrop{background:#152136ba;backdrop-filter:blur(7px)}
.modal{background:#fffcf2;border-color:#c7b07d;border-radius:11px;padding:30px;box-shadow:0 20px 100px #0d172954,0 0 0 5px #cfb97914}
.modal-header{border-bottom:1px solid #e3d7bd;padding-bottom:18px;margin-bottom:21px}
.modal-header h2{font-family:var(--title-font);font-size:24px;letter-spacing:.5px;color:#304762}
.modal-header p{font-size:12px;color:#999681;line-height:1.9}
.close-modal{background:#ede7d8;color:#8d8e82;border:1px solid #d9cdb2;border-radius:5px;width:31px;height:31px}
.close-modal .illustrated-icon{width:23px;height:23px}
.modal-actions{gap:10px;margin-top:24px}
.form-error{background:#f4e7df;color:#a06d62;border:1px solid #e6cbbb;border-radius:5px;font-size:12px}
.settle-rule{background:#eee9d7;border:1px solid #ddd0ac;border-radius:5px;color:#979476;font-size:11px;padding:15px 17px}
.settle-rule b{color:#7a7d60}
.settle-row{border-color:#e3d9c0;padding:15px 0}
.settle-person{color:#64748a;font-size:12px}
.settle-person small{color:#a69d85}
.stepper button{background:#ede8d8;border-color:#d6c6a5;border-radius:4px;color:#8d815f}
.stepper input{background:#fffcf4;border-color:#d6c6a5;border-radius:4px;color:#546780}
.stepper span{color:#a49a7d}
.detail-meta div{background:#f0ebdd;border:1px solid #e2d7be;border-radius:5px;color:#61778c;padding:14px;font-size:12px}
.detail-meta small{color:#a09474;font-size:10px}
.list-heading{color:#9d8e6b;font-size:11px;letter-spacing:.3px}
.detail-person{color:#617489;font-size:12px}
.detail-person .right{color:#a69875}
.copy-area,#copy-text{background:#f0ebdd;border:1px solid #d7c6a4;border-radius:5px;color:#62768b;padding:14px;font-size:12px;line-height:1.9}
.notice{color:#999b8d;font-size:11px;line-height:1.9}
.levelup .level-icon{background:radial-gradient(circle,#f2e5bf,#d9c189);box-shadow:0 0 0 9px #e6d6b12e,0 0 42px #c5a66d2b;color:#6f6448}
.levelup .eyebrow{color:#a78f5d;font-size:9px}
.levelup h2{font-family:var(--title-font);font-size:30px;color:#4a607c}
.levelup p{color:#919882;font-size:12px}
.levelup .level-stats{border-color:#d3c5a3}
.level-stats b{font-family:var(--title-font);color:#a48c59;font-size:30px}
.level-stats small{color:#aaa188}
#toast{background:#243754;color:#f5e9cb;border:1px solid #bfa36b82;border-radius:6px;box-shadow:0 8px 28px #1521382b;left:calc(50% + 124px);font-size:12px;padding:14px 22px}

/* Illustrated travel companions and the title constellation. */
.durin-welcome,.welcome-durin{position:relative;border:1px solid #d8c5a1;background:linear-gradient(120deg,#fffaf0,#eee7d7);border-radius:9px;padding:22px 25px;display:flex;align-items:center;gap:19px;margin:22px 0;color:#617286;overflow:hidden}
.durin-welcome:before,.welcome-durin:before{content:"✦";position:absolute;right:22px;top:14px;color:#cab27d;font-size:25px;opacity:.6}
.durin-welcome h3,.welcome-durin h3{font-family:var(--title-font);font-size:19px;letter-spacing:.5px;color:#354e6a;margin:0 0 6px}
.durin-welcome p,.welcome-durin p{font-size:12px;line-height:1.9;color:#969581;margin:0;max-width:740px}
.durin-welcome>img,.welcome-durin>img,.durin-welcome .durin-portrait{width:76px;height:84px;object-fit:contain;object-position:bottom;flex-shrink:0;filter:drop-shadow(0 3px 3px #28384a18)}
.durin-note{background:linear-gradient(145deg,#283a58,#202e47);border:1px solid #b7a16d87;border-radius:9px;padding:19px;position:relative;color:#d2d9df;margin-bottom:18px;overflow:hidden;display:grid;grid-template-columns:56px minmax(0,1fr);gap:13px;align-items:center}
.durin-note:before{content:"✧";position:absolute;right:13px;top:9px;color:#c7af75;font-size:19px}
.durin-note h3,.durin-note h4{font-family:var(--title-font);font-size:15px;color:#eddbac;letter-spacing:.3px;margin:0 0 7px;line-height:1.6}
.durin-note p{font-size:10px;line-height:1.9;color:#a6b4c7;margin:0}
.durin-note small,.durin-note .note-kicker{color:#c3ae7d;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}
.durin-note>img,.durin-note .durin-portrait{width:60px;height:93px;object-fit:cover;object-position:50% 15%;border-radius:30px 30px 7px 7px;border:1px solid #ddc58855;background:#adbec225;filter:drop-shadow(0 4px 4px #07152b29)}
.durin-note .illustrated-icon{width:50px;height:50px}
.durin-note .btn{grid-column:1/-1;border-color:#c4ad734f;color:#e4d5b1;background:#ffffff05;font-size:10px}
.series-chip{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;max-width:100%;border:1px solid #cdbc914f;padding:3px 7px;border-radius:3px;background:#ede7d5;color:#99814c;font-size:9px;font-weight:500;letter-spacing:.5px;line-height:1.6;white-space:normal}
.series-chip .illustrated-icon{width:20px;height:20px}
.series-chip.jade,.series-chip.anemo,.series-chip.nature{background:#e4ece5;border-color:#b7cabe;color:#728b79}
.series-chip.night,.series-chip.star,.series-chip.cosmic{background:#e1e6ed;border-color:#b8c3d3;color:#6d809b}
.series-chip.fire,.series-chip.pyro{background:#eee1d6;border-color:#d8bda5;color:#a07e63}
.series-chip.ice,.series-chip.cryo{background:#e5ebed;border-color:#bdcbd2;color:#6e8794}
.rank-art{display:block;width:65px;height:65px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 4px #79634618)}
.rank-person .rank-art{width:40px;height:40px}
.title-option .rank-art{width:40px;height:40px}
.level-icon .rank-art{width:76px;height:76px}
.rank-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 28px;position:relative;min-width:0;max-width:100%}
.rank-milestone{min-width:0;border:1px solid #d7c8a6;border-radius:7px;background:linear-gradient(145deg,#fffdf5,#f5eedf);padding:19px 15px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:0 3px 14px #79634604}
.rank-milestone:before{content:"✧";position:absolute;right:10px;top:7px;font-size:16px;color:#bea775;opacity:.65}
.rank-milestone .rank-art{width:64px;height:64px;margin-bottom:2px}
.rank-milestone h3,.rank-milestone h4,.rank-milestone strong{font-family:var(--title-font);font-size:13px;font-weight:700;line-height:1.7;letter-spacing:.3px;color:#6b735f;margin:0}
.rank-milestone p{font-size:10px;line-height:1.8;color:#a09578;margin:0}
.rank-milestone small{font-size:9px;line-height:1.8;color:#a39b83}
.rank-milestone .rank-threshold,.rank-milestone .milestone-runs{font-family:var(--title-font);font-size:17px;color:#ae925c}
.rank-milestone.current,.rank-milestone.active,.rank-milestone.is-current{border-color:#aa8e53;background:linear-gradient(145deg,#eee2bb,#f7efda);box-shadow:0 0 0 3px #bca46c18}
.rank-milestone.current:before,.rank-milestone.active:before,.rank-milestone.is-current:before{content:"✦";opacity:1;color:#ac8c45}
.rank-milestone.current strong,.rank-milestone.active strong,.rank-milestone.is-current strong{color:#8c7444}
.rank-milestone.locked,.rank-milestone.is-locked{background:#eeeade;border-color:#ddd5c2;box-shadow:none}
.rank-milestone.locked .rank-art,.rank-milestone.is-locked .rank-art{filter:grayscale(.75) opacity(.48)}
.rank-milestone.locked h3,.rank-milestone.locked strong,.rank-milestone.is-locked strong{color:#aaa18b}
.rank-milestone.unlocked,.rank-milestone.is-unlocked{border-color:#bfcbb8}

/* The public registration page is the journal's open cover. */
.gate{max-width:1280px;padding:43px 40px;justify-content:center}
.gate-brand .brand{margin-bottom:29px;gap:13px;color:#374d67}
.gate-brand .brandmark{width:44px;height:44px;background:linear-gradient(145deg,#344965,#243a58)}
.gate-brand .brand-name{font-size:20px;letter-spacing:1.7px}
.gate-brand .brand-sub{color:#a18d62;font-size:8px;letter-spacing:2.8px}
.gate-layout{grid-template-columns:1.14fr 1fr;gap:35px;align-items:stretch}
.gate-art{min-width:0;display:flex;flex-direction:column}
.gate-art .hero,.gate-art .hero.hero-adventure{min-height:518px;height:100%;padding:36px 35px;align-items:flex-start}
.gate-art .hero-copy{max-width:100%;padding-right:0}
.gate-art .hero h1{font-size:37px;max-width:380px;line-height:1.5;margin-top:16px;letter-spacing:1px}
.gate-art .hero p{max-width:350px;font-size:12px;line-height:1.9}
.gate-art .hero:before{background:linear-gradient(180deg,#1c2d47f0 0,#20314bd6 27%,#243a4d55 59%,#17283b25)}
.gate-art .hero-scenery{background-position:70% center;filter:saturate(.76) brightness(.88)}
.gate-art .hero-durin{height:69%;width:76%;max-width:none;right:-10%;bottom:-37px}
.gate-art .hero-art{height:280px;width:390px;max-width:90%;right:-8px;opacity:1}
.gate-art .hero-chips{position:relative;max-width:80%;margin-top:22px}
.gate-art .hero-corner{font-size:7px;top:auto;bottom:20px;right:auto;left:27px;z-index:3;color:#efe4c082}
.gate-features{justify-content:flex-start;gap:20px;margin-top:18px;color:#95947e;font-size:10px;line-height:1.7;padding:0 4px}
.gate-features div{gap:7px}
.gate-features .icon{color:#ab9765;width:18px;height:18px}
.gate-features .illustrated-icon{width:25px;height:25px}
.gate-card{border-color:#cdbd98;border-radius:11px;padding:38px 35px;box-shadow:0 12px 35px #77633d07;background:linear-gradient(145deg,#fffdf6,#faf6eb);align-self:center;position:relative;min-width:0}
.gate-card:before{content:"";position:absolute;inset:7px;border:1px solid #d9c7a326;border-radius:6px;pointer-events:none}
.gate-card h2{font-family:var(--title-font);font-size:28px;line-height:1.6;letter-spacing:.7px;color:#334e6b;margin:10px 0 14px}
.gate-card>p{font-size:12px;color:#8c938a;line-height:2}
.gate-icon{color:#b59a63;font-size:40px;line-height:1.2;margin-bottom:22px}
.gate-icon .illustrated-icon{width:59px;height:59px}
.gate-kicker{font-size:8px;letter-spacing:2px;color:#b39a69;font-weight:600}
.gate-card .field{margin-top:20px;margin-bottom:15px}
.gate-card .field label{font-size:11px;color:#8d927f;letter-spacing:.4px}
.gate-card .field input,.gate-card .field select{background:#f3efdf;border-color:#d5c4a1;border-radius:5px;font-size:14px;padding:13px 14px}
.gate-card .auth-button{min-height:48px;margin:15px 0 4px;font-size:12px;letter-spacing:.6px}
.gate-note{border:1px solid #ddd0b5;background:#efe9d8;border-radius:5px;padding:17px;color:#92917c;font-size:10px;line-height:2;margin-top:20px}
.gate-note b{color:#7a826d;font-weight:600}
.gate-card .notice{font-size:10px;color:#a19c86;line-height:1.9}
.gate-card details{border-top:1px solid #e0d3b8;margin-top:19px;padding-top:17px;color:#8b8d7c;font-size:11px;position:relative}
.gate-card summary{cursor:pointer;color:#8a8066;list-style-position:inside;font-size:11px;letter-spacing:.3px;padding:4px 0}
.gate-card #restore-form{margin-top:12px}
.gate-card #restore-pass{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere;font-size:11px;letter-spacing:0}
.gate-footer{font-size:9px;line-height:2;letter-spacing:.3px;color:#aaa18c;margin-top:28px}
.gate-footer a{color:#988968;text-decoration-color:#c8b994;text-underline-offset:3px}

@media(min-width:1600px){
  .sidebar{width:260px;padding-left:24px;padding-right:24px}.workspace{margin-left:260px}.main{padding:34px 50px 40px}.topbar{padding:0 50px}.hero,.hero.hero-adventure{min-height:370px;padding:40px 45px}.hero h1{font-size:45px}.hero-durin{height:118%;right:2%}.content-grid{grid-template-columns:minmax(0,1fr) 290px;gap:27px}.stat{padding:22px 25px}.event-grid{gap:20px}#toast{left:calc(50% + 130px)}
}
@media(max-width:1200px){
  .sidebar{width:208px;padding:30px 15px 23px}.workspace{margin-left:208px}.brand{gap:9px;margin-left:2px}.brandmark{width:39px;height:39px}.brandmark .illustrated-icon{width:29px;height:29px}.brand-name{font-size:15px;letter-spacing:.4px}.brand-sub{letter-spacing:1.4px;font-size:7px}.nav button{font-size:12px;gap:8px;padding:11px 12px}.nav button .illustrated-icon{width:27px;height:27px}.topbar{padding:0 25px}.main{padding:25px 25px 32px}.content-grid{grid-template-columns:minmax(0,1fr) 238px;gap:18px}.hero,.hero.hero-adventure{min-height:314px;padding:30px}.hero h1{font-size:34px}.hero-copy{max-width:60%}.hero-durin{width:46%;right:-3%;height:111%;bottom:-25px}.hero p{font-size:11px}.hero-chip{font-size:8px;padding:5px 7px}.stat{padding:17px 15px;gap:11px}.stat-icon{width:42px;height:42px}.stat-icon .illustrated-icon{width:35px;height:35px}.stat-number{font-size:28px}.stat-tag{display:none}.event-body{padding:18px 15px 15px}.event-card h3{font-size:16px}.event-action .btn{font-size:10px;padding:9px 8px}.side-panel{padding:18px}.profile-layout{grid-template-columns:280px minmax(0,1fr);gap:20px}.rank-row{grid-template-columns:30px minmax(0,1fr) 140px 65px;gap:11px}.rank-journey{gap:10px}.rank-milestone{padding:17px 11px}.gate{padding:35px 30px}.gate-layout{gap:28px}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:510px;padding:32px 29px}.gate-art .hero h1{font-size:33px}.gate-card{padding:32px 28px}.gate-card h2{font-size:26px}.gate-features{gap:12px}#toast{left:calc(50% + 104px)}
}
@media(max-width:920px){
  .sidebar{width:184px;padding:27px 13px 22px}.workspace{margin-left:184px}.sidebar .brand{flex-direction:column;align-items:flex-start;margin:0 9px 29px;gap:12px}.sidebar .brand-name{font-size:15px}.sidebar .brand-sub{font-size:7px;letter-spacing:1.3px}.sidebar-promo{padding:15px;margin-top:25px}.sidebar-promo h4{font-size:11px}.sidebar-promo p{font-size:10px}.nav button{font-size:11px;gap:9px;padding:12px}.nav button .illustrated-icon{width:26px;height:26px}.nav-label{font-size:8px;letter-spacing:1.9px}.topbar{padding:0 23px;height:71px}.top-date{display:none}.main{padding:23px}.content-grid{grid-template-columns:1fr}.lobby-aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.lobby-aside .side-panel,.lobby-aside .durin-note{margin-bottom:0}.lobby-aside .rule-card{grid-column:1/-1}.hero,.hero.hero-adventure{min-height:316px;padding:29px}.hero-copy{max-width:65%}.hero h1{font-size:32px}.hero-durin{width:49%;right:-7%;height:105%;bottom:-20px}.hero-art{max-width:42%;right:-20px}.hero p{font-size:11px;max-width:330px}.hero-chips{gap:7px}.stats{gap:10px;margin-top:17px}.stat{padding:16px 13px}.stat-icon{width:36px;height:36px}.stat-icon .illustrated-icon{width:30px;height:30px}.stat-number{font-size:26px}.stat-label{font-size:9px;letter-spacing:.4px}.event-card h3{font-size:17px}.event-body{padding:19px 17px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr;gap:22px}.passport{display:grid;grid-template-columns:1fr 1fr}.passport-top{padding:25px 22px;border-bottom:0;border-right:1px solid #bfa56e}.passport-bottom{padding:25px}.rank-journey{grid-template-columns:repeat(3,minmax(0,1fr))}.title-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gate{max-width:860px;padding:30px 25px;min-height:100dvh}.gate-layout{grid-template-columns:1fr 1fr;gap:22px;align-items:center}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:540px;padding:28px 25px}.gate-art .hero h1{font-size:30px;max-width:100%}.gate-art .hero p{max-width:100%;font-size:11px}.gate-art .hero-durin{height:61%;width:100%;right:-19%;bottom:-29px}.gate-art .hero-chips{max-width:100%;gap:6px}.gate-art .hero-chip:last-child{display:none}.gate-card{padding:29px 24px}.gate-card h2{font-size:24px}.gate-features{flex-wrap:wrap;gap:8px 13px;font-size:9px;margin-top:15px}.gate-features .illustrated-icon{width:21px;height:21px}.admin-member{flex-wrap:wrap}#toast{left:calc(50% + 92px)}
}
@media(max-width:650px){
  .sidebar{display:none}.workspace{margin-left:0}.topbar{height:65px;padding:0 18px;background:#faf6ebf5}.crumb{font-size:12px}.crumb .parent,.crumb .sep{display:none}.crumb strong{font-family:var(--title-font);font-size:15px;letter-spacing:.5px}.crumb strong:before{content:"✦ ";font-size:14px;color:#ac9155}.top-actions{gap:9px}.roundbtn{width:32px;height:32px}.roundbtn .illustrated-icon{width:22px;height:22px}.top-user{padding-left:0;border:0}.top-user .avatar{width:32px;height:32px}.top-user .user-text{display:none}.main{padding:19px 17px 100px}.hero,.hero.hero-adventure{min-height:402px;padding:26px 24px;border-radius:10px;align-items:flex-start}.hero-copy{max-width:100%;padding-bottom:0}.hero h1{font-size:30px;line-height:1.55;max-width:100%;margin:13px 0 10px;letter-spacing:1px}.hero p{font-size:11px;line-height:1.9;max-width:83%;color:#ccd5dd}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero:before,.hero.hero-adventure:before{background:linear-gradient(180deg,#192a43f5 0,#1e3048dc 34%,#253c4b78 60%,#233a4b08 86%),linear-gradient(90deg,#1b2d4373,transparent 75%)}.hero:after{inset:7px;border-radius:5px}.hero-scenery{background-position:68% center}.hero-durin{width:75%;height:67%;right:-11%;bottom:-36px;opacity:1}.hero-art{width:240px;height:205px;max-width:70%;right:-18px;bottom:-4px;opacity:.85}.hero-chips{max-width:95%;gap:6px;margin-top:18px}.hero-chip{font-size:8px;padding:4px 6px;border-radius:3px}.hero-chip .illustrated-icon{width:17px;height:17px}.hero-chip:last-child{display:flex}.hero-corner{font-size:6px;letter-spacing:1px;top:auto;bottom:15px;left:20px;right:auto;max-width:46%;line-height:1.7}.stats{margin:15px 0 27px;gap:8px}.stat{display:block;padding:14px 12px 13px;border-radius:7px;gap:0}.stat-icon{width:35px;height:35px;border-radius:9px;margin-bottom:10px}.stat-icon .illustrated-icon{width:29px;height:29px}.stat-label{font-size:9px;letter-spacing:0;white-space:nowrap}.stat-number{font-size:29px;line-height:1.2;margin-top:5px;white-space:nowrap}.stat-number span{font-size:9px;margin-left:3px}.section-head{gap:12px;margin-bottom:17px;align-items:center}.section-head h2{font-size:22px;line-height:1.6;letter-spacing:.7px}.section-head p{font-size:11px;line-height:1.8;max-width:255px}.section-head .btn{font-size:11px;padding:9px 12px;min-height:39px}.section-head .btn .illustrated-icon{width:20px;height:20px}.btn{min-height:42px;font-size:12px;padding:10px 14px}.content-grid{gap:20px}.filters{flex-wrap:wrap;gap:9px;margin-bottom:14px}.filters .segmented{max-width:100%;flex:1}.filters .segmented button{font-size:10px;padding:8px 10px}.filter-count{font-size:9px}.event-grid{grid-template-columns:1fr;gap:16px}.event-banner{height:83px;padding:16px 18px}.event-body{padding:21px 19px 18px}.event-card{border-radius:8px}.event-card h3{font-size:20px;letter-spacing:.4px;margin-bottom:8px}.host{font-size:11px;gap:8px;margin-bottom:18px}.host .avatar{width:23px;height:23px}.info-line{font-size:12px;gap:9px;margin-bottom:11px}.info-line .illustrated-icon{width:23px;height:23px}.event-footer{padding-top:15px;margin-top:8px}.participant-row{font-size:10px;margin-bottom:15px}.avatar-stack .avatar{width:29px;height:29px;margin-left:-5px}.event-action{gap:9px}.event-action .btn{font-size:12px;padding:11px;min-height:43px}.detail-btn{height:43px;width:41px}.settle-link{font-size:10px;padding:6px;margin-top:8px}.lobby-aside{display:block;margin-top:0}.lobby-aside .side-panel,.lobby-aside .durin-note{margin-bottom:17px}.side-panel{padding:23px 21px;border-radius:8px}.panel-heading h3{font-size:16px}.panel-heading .illustrated-icon{width:29px;height:29px}.progress-user h4{font-size:14px}.rank-label{font-size:9px}.mini-rank{gap:11px;margin-bottom:17px}.mini-rank .name{font-size:12px}.mini-rank .score{font-size:16px}.rule-card{padding:18px 20px;font-size:11px}.footer{font-size:9px;display:block;text-align:center;margin-top:28px}.footer span{display:block;margin-top:7px;font-size:8px;letter-spacing:1.3px}.mobile-nav{background:#fcf9f0f5;border-top:1px solid #cab68a;border-radius:12px 12px 0 0;box-shadow:0 -5px 23px #6d5c3108;padding:10px 7px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.mobile-nav button{position:relative;color:#a69d86;font-size:9px;letter-spacing:.2px;gap:4px;padding:1px 4px;min-height:42px}.mobile-nav .icon{width:24px;height:24px}.mobile-nav .illustrated-icon{width:29px;height:29px;filter:saturate(.65) opacity(.65)}.mobile-nav button.active{color:#7d724e;font-weight:600}.mobile-nav button.active:before{content:"";position:absolute;top:-11px;width:22px;height:2px;background:#ac9158;border-radius:2px}.mobile-nav button.active .illustrated-icon{filter:saturate(1) opacity(1)}.page-intro{padding:19px 17px;gap:12px;margin-bottom:22px}.page-intro h3{font-size:16px;line-height:1.7}.page-intro p{font-size:11px;line-height:1.8}.page-intro .intro-emoji{font-size:30px}.page-intro .intro-emoji .illustrated-icon{width:42px;height:42px}.toolbar{flex-wrap:wrap;gap:15px;margin-top:21px;margin-bottom:19px}.search{max-width:none;flex-basis:100%}.search input{font-size:16px;padding:11px 13px 11px 40px}.switch-row{font-size:12px}.member-grid{grid-template-columns:1fr;gap:14px}.member-card{padding:21px}.member-name{font-size:17px}.member-title{font-size:11px}.member-meta{font-size:11px}.leaderboard{border-radius:7px}.rank-row{grid-template-columns:26px minmax(0,1fr) 63px;gap:9px;padding:18px 14px}.rank-row .title{display:none}.rank-row.table-head{font-size:9px;padding:13px 14px}.rank-row .runs{font-size:22px}.rank-row .runs small{font-size:9px}.rank-person{gap:9px}.rank-person .name{font-size:12px}.rank-person small{font-size:9px;line-height:1.8}.rank-person .avatar{width:32px;height:32px}.rank-row .position{font-size:15px}.rank-row .position.medal{font-size:21px}.profile-layout{gap:21px}.passport{display:block}.passport-top{padding:30px 24px;border-right:0;border-bottom:1px solid #bda169}.passport-top .tiny{margin-bottom:18px;font-size:8px}.passport-top .avatar{width:77px;height:77px}.passport-top h2{font-size:25px}.passport-bottom{padding:28px 25px}.passport-total{font-size:50px}.settings-card{padding:23px 21px;margin-bottom:20px}.settings-card h3{font-size:18px;margin-bottom:20px}.field-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:18px;gap:8px}.field label,.field-label{font-size:12px}.field input,.field select,.field textarea,.gate-card .field input,.gate-card .field select{font-size:16px;padding:12px 13px;min-height:47px}.field small{font-size:11px}.title-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.title-option{font-size:11px;padding:14px 10px;gap:8px;align-items:flex-start}.title-option small{font-size:9px;line-height:1.8}.title-option .illustrated-icon{width:23px;height:23px}.title-option .rank-art{width:34px;height:34px}.history-row{gap:11px;padding:15px 0}.history-row p{font-size:12px}.history-row small{font-size:10px}.history-row strong{font-size:12px}.admin-member{align-items:flex-start;gap:14px;padding:19px 0}.admin-person strong{font-size:14px}.admin-person small{font-size:11px}.admin-actions{width:100%;justify-content:flex-end;gap:9px;flex-wrap:wrap}.admin-actions .btn{min-height:40px;font-size:11px;padding:10px 13px}.sync-status{font-size:9px;gap:8px;margin-top:-6px;margin-bottom:15px;line-height:1.8}.sync-status button{font-size:10px}.sync-status .illustrated-icon{width:17px;height:17px}.sync-failed{margin-top:0}.modal-backdrop{padding:13px}.modal{padding:24px 21px;max-height:calc(100dvh - 26px);border-radius:9px}.modal-header{padding-bottom:16px;margin-bottom:20px}.modal-header h2{font-size:23px}.modal-header p{font-size:11px}.modal-actions{flex-wrap:wrap;gap:9px;margin-top:23px}.modal-actions .btn{min-height:43px;font-size:12px;flex:1;white-space:normal;line-height:1.7;padding:10px 13px}.detail-meta{gap:9px}.detail-meta div{padding:13px;font-size:12px}.detail-meta small{font-size:10px}.settle-rule{font-size:11px;padding:14px}.settle-person{font-size:12px;gap:8px}.settle-person .avatar{width:31px;height:31px}.settle-person small{font-size:10px}.stepper button{width:29px;height:37px}.stepper input{width:40px;height:37px;font-size:14px}.copy-area,#copy-text{font-size:12px}.form-error{font-size:12px}.notice,.main .notice{font-size:11px}.durin-welcome,.welcome-durin{padding:19px 18px;gap:12px;margin:19px 0}.durin-welcome h3,.welcome-durin h3{font-size:17px;line-height:1.7;padding-right:10px}.durin-welcome p,.welcome-durin p{font-size:11px;line-height:1.9}.durin-welcome>img,.welcome-durin>img,.durin-welcome .durin-portrait{width:64px;height:80px}.durin-welcome:before,.welcome-durin:before{right:13px;top:8px;font-size:18px}.durin-note{grid-template-columns:64px minmax(0,1fr);padding:20px;gap:15px}.durin-note h3,.durin-note h4{font-size:17px}.durin-note p{font-size:11px}.durin-note>img,.durin-note .durin-portrait{width:65px;height:93px}.rank-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 25px}.rank-milestone{padding:20px 12px;gap:9px}.rank-milestone .rank-art{width:65px;height:65px}.rank-milestone h3,.rank-milestone h4,.rank-milestone strong{font-size:13px}.rank-milestone p{font-size:10px}.series-chip{font-size:9px;padding:3px 6px}.series-chip .illustrated-icon{width:19px;height:19px}.gate{padding:23px 18px;justify-content:flex-start;max-width:510px}.gate-brand .brand{flex-direction:row;align-items:center;margin-bottom:22px;gap:12px}.gate-brand .brandmark{width:43px;height:43px}.gate-brand .brand-name{font-size:19px;letter-spacing:1px}.gate-brand .brand-sub{font-size:7px;letter-spacing:2.2px}.gate-layout{grid-template-columns:1fr;gap:24px;align-items:stretch}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:410px;padding:27px 25px;align-items:flex-start}.gate-art .hero-copy{max-width:100%}.gate-art .hero h1{font-size:32px;line-height:1.5;max-width:100%;margin:13px 0 10px}.gate-art .hero p{font-size:11px;max-width:90%;line-height:1.9}.gate-art .hero:before{background:linear-gradient(180deg,#1b2d47ee 0,#20354ce6 29%,#27425366 65%,#23405215)}.gate-art .hero-durin{height:66%;width:80%;right:-12%;bottom:-35px}.gate-art .hero-scenery{background-position:62% center}.gate-art .hero-chips{max-width:94%;margin-top:19px;gap:6px}.gate-art .hero-chip:last-child{display:flex}.gate-art .hero-corner{font-size:6px;left:22px;bottom:16px;max-width:42%}.gate-features{justify-content:space-between;flex-wrap:nowrap;gap:8px;margin-top:16px;padding:0 1px;font-size:9px;line-height:1.7}.gate-features div{gap:5px;align-items:center}.gate-features .illustrated-icon{width:22px;height:22px}.gate-card{padding:29px 25px;border-radius:10px;align-self:stretch}.gate-card h2{font-size:27px;letter-spacing:.7px;line-height:1.6;margin-top:10px}.gate-card>p{font-size:12px;line-height:2}.gate-icon{font-size:37px;margin-bottom:18px}.gate-icon .illustrated-icon{width:54px;height:54px}.gate-kicker{font-size:8px;letter-spacing:1.8px}.gate-card .field{margin-top:21px}.gate-card .field label{font-size:12px}.gate-card .auth-button{min-height:49px;font-size:12px;margin-top:15px}.gate-note{font-size:11px;padding:16px;margin-top:20px;line-height:1.9}.gate-card .notice{font-size:10px;line-height:1.9}.gate-card details{padding-top:18px}.gate-card summary{font-size:11px}.gate-card #restore-pass{font-size:16px}.gate-footer{font-size:9px;margin-top:25px;line-height:2}.levelup h2{font-size:28px}#toast{left:50%;bottom:89px;max-width:calc(100% - 30px);font-size:12px;min-width:200px;padding:13px 18px;text-align:center}
}
@media(max-width:380px){
  .main{padding-left:13px;padding-right:13px}.hero,.hero.hero-adventure{padding:24px 21px;min-height:420px}.hero h1{font-size:28px}.hero p{max-width:100%;font-size:10px}.hero-durin{height:61%;width:82%;right:-15%}.hero-chip{font-size:7px;padding:4px 5px}.hero-chip:nth-child(3){display:none}.stat{padding:13px 10px}.stat-label{font-size:8px}.stat-number{font-size:26px}.stat-number span{font-size:8px}.section-head h2{font-size:20px}.section-head .btn{font-size:10px;padding:8px 10px}.gate{padding:21px 14px}.gate-brand .brand-name{font-size:17px}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:412px;padding:25px 22px}.gate-art .hero h1{font-size:29px}.gate-art .hero p{max-width:100%;font-size:10px}.gate-art .hero-durin{height:62%;width:91%;right:-19%}.gate-card{padding:27px 22px}.gate-card h2{font-size:25px}.gate-features{font-size:8px;gap:5px}.gate-features .illustrated-icon{width:20px;height:20px}.gate-features div{gap:4px}.rank-row{padding-left:12px;padding-right:12px;gap:7px}.rank-person .name{font-size:11px}.durin-welcome,.welcome-durin{padding:18px 15px}.durin-welcome>img,.welcome-durin>img{width:53px}.title-option{gap:6px;padding:12px 8px;font-size:10px}.title-option .rank-art{width:30px;height:30px}
}
@media(prefers-reduced-motion:reduce){.hero-durin,.rank-milestone,.event-card,.btn{transition:none;animation:none}}

/* Character portraits sit beside the journal; the expedition painting remains unobstructed. */
.durin-welcome,.welcome-durin{min-height:176px;padding:23px 25px;align-items:center;gap:19px}
.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:160px;height:170px;object-fit:cover;object-position:center;margin:-13px 0 -23px;align-self:flex-end;filter:drop-shadow(0 4px 5px #26385214)}
.durin-welcome>div,.welcome-durin>div{min-width:0;position:relative;z-index:1}
.durin-welcome h3,.welcome-durin h3{line-height:1.8}
.durin-welcome .eyebrow,.welcome-durin .eyebrow{color:#b69c64;font-size:8px;letter-spacing:1.7px;margin-bottom:7px}
.durin-note img.durin-avatar{width:58px;height:68px;object-fit:cover;object-position:50% 10%;border-radius:29px 29px 6px 6px;border:1px solid #d9c18a58;background:linear-gradient(145deg,#64738b,#34415a);filter:drop-shadow(0 3px 4px #09172d24)}
.durin-note-copy{min-width:0;position:relative;z-index:1}
.durin-note-copy p{font-size:10px;line-height:1.95}
.durin-note-copy b,.durin-note-copy strong{color:#ead9b0;font-weight:500}
.passport-top{isolation:isolate;overflow:hidden}
.passport-durin{position:absolute;z-index:-1;right:-35px;bottom:-30px;width:205px;height:250px;object-fit:cover;object-position:center;opacity:.16;pointer-events:none;filter:saturate(.5)}
.passport-top>.tiny,.passport-top>.avatar,.passport-top>h2,.passport-top>.rank-label{position:relative;z-index:1}
#title-library{scroll-margin-top:28px}
.title-library{position:relative;min-width:0;max-width:100%}
.series-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #e0d3b6}
.series-filters button.series-chip{font-size:10px;min-height:35px;padding:7px 10px;gap:6px;letter-spacing:.3px;border-radius:4px;border:1px solid #d8c8a7;background:#f5f0e2;color:#99886a;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.series-filters button.series-chip:hover{background:#ece4cf;border-color:#bca46f;color:#7f6f4c}
.series-filters button.series-chip.active,.series-filters button.series-chip[aria-pressed="true"]{background:#304665;border-color:#bca772;color:#edddba;box-shadow:inset 0 0 0 2px #e7d4a712}
.series-filters button.series-chip .illustrated-icon{width:22px;height:22px}
.series-filters .series-count{font-size:8px;opacity:.7;margin-left:1px}
.title-library .title-grid{gap:12px}
.title-library .title-option{min-height:94px;padding:15px 13px;align-items:center;gap:12px}
.title-library .title-option .rank-art{width:51px;height:51px}
.title-library .title-option>span{min-width:0;flex:1;line-height:1.8}
.title-library .title-option .series-chip{margin-top:7px;font-size:8px;padding:2px 5px}
.title-library .title-option small{font-size:9px;line-height:1.8}
.title-library .title-option.locked .rank-art{filter:grayscale(.7) opacity(.65)}
.rank-journey{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.rank-milestone b{font-family:var(--title-font);font-size:13px;font-weight:700;line-height:1.7;letter-spacing:.3px;color:#6b735f}
.rank-milestone.current b,.rank-milestone.active b,.rank-milestone.is-current b{color:#8c7444}
.rank-milestone.locked b,.rank-milestone.is-locked b{color:#aaa18b}
.rank-milestone>.series-chip{margin-top:2px;font-size:8px}
@media(max-width:1200px){
  .durin-welcome,.welcome-durin{padding:20px;gap:14px;min-height:164px}.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:108px;height:154px;margin-bottom:-20px}.durin-welcome h3,.welcome-durin h3{font-size:17px}.durin-welcome p,.welcome-durin p{font-size:11px}.rank-journey{gap:10px}.title-library .title-option{padding:13px 11px;gap:9px}.title-library .title-option .rank-art{width:44px;height:44px}
}
@media(max-width:920px){
  .durin-welcome,.welcome-durin{padding:18px;gap:12px;min-height:158px}.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:90px;height:145px;margin-bottom:-18px}.durin-welcome h3,.welcome-durin h3{font-size:16px;line-height:1.8}.durin-welcome p,.welcome-durin p{font-size:10px;line-height:1.9}.durin-note img.durin-avatar{width:57px;height:68px}.rank-journey{grid-template-columns:repeat(4,minmax(0,1fr))}.rank-milestone{padding:17px 10px}.rank-milestone .rank-art{width:56px;height:56px}.rank-milestone b{font-size:12px}.rank-milestone small{font-size:8px}.passport-durin{width:180px;height:220px;right:-25px;bottom:-30px}
}
@media(max-width:650px){
  img.hero-scenery{object-position:80% center}.gate-art img.hero-scenery{object-position:77% center}.durin-welcome,.welcome-durin{min-height:171px;padding:20px 18px;gap:14px;margin:18px 0 0}.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:112px;height:163px;margin:-12px 0 -20px}.durin-welcome h3,.welcome-durin h3{font-size:18px;line-height:1.7;margin-bottom:6px}.durin-welcome p,.welcome-durin p{font-size:11px;line-height:1.9}.durin-welcome .eyebrow,.welcome-durin .eyebrow{font-size:7px;letter-spacing:1.3px}.durin-note{grid-template-columns:64px minmax(0,1fr)}.durin-note img.durin-avatar{width:64px;height:75px;border-radius:32px 32px 7px 7px}.durin-note-copy p{font-size:11px;line-height:1.9}.passport-durin{width:225px;height:270px;right:-25px;bottom:-35px;opacity:.15}.series-filters{gap:7px;margin-bottom:18px;padding-bottom:16px}.series-filters button.series-chip{min-height:37px;font-size:10px;padding:7px 10px}.series-filters button.series-chip .illustrated-icon{width:21px;height:21px}.title-library .title-grid{gap:9px}.title-library .title-option{min-height:100px;flex-direction:column;align-items:flex-start;padding:14px 12px;gap:8px;text-align:left}.title-library .title-option .rank-art{width:43px;height:43px;align-self:flex-start}.title-library .title-option>span{width:100%;font-size:11px;line-height:1.8}.title-library .title-option .series-chip{font-size:8px;margin-top:6px}.title-library .title-option small{font-size:9px}.rank-journey{grid-template-columns:repeat(4,minmax(143px,1fr));gap:11px;overflow-x:auto;padding:4px 3px 13px;margin-left:-3px;margin-right:-3px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c9b887 #eae3d3}.rank-milestone{scroll-snap-align:start;padding:20px 13px;gap:8px}.rank-milestone .rank-art{width:65px;height:65px}.rank-milestone b{font-size:13px}.rank-milestone small{font-size:9px}.rank-milestone .series-chip{font-size:8px}
}
@media(max-width:380px){
  .durin-welcome,.welcome-durin{padding:18px 15px;gap:10px;min-height:165px}.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:96px;height:153px;margin-bottom:-18px}.durin-welcome h3,.welcome-durin h3{font-size:16px;line-height:1.8}.durin-welcome p,.welcome-durin p{font-size:10px;line-height:1.9}.series-filters button.series-chip{font-size:9px;padding:7px 9px}.title-library .title-option{padding:13px 10px}.title-library .title-option>span{font-size:10px}.rank-journey{grid-template-columns:repeat(4,minmax(134px,1fr))}
}
.durin-note:before{left:auto;width:auto;height:auto;background:none}
.durin-note .text-btn{font-size:10px;line-height:1.8;color:#cfbd93;margin-top:5px;padding:4px 0}
.durin-note .text-btn .illustrated-icon{width:18px;height:18px}
.rank-journey-label{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e2d6bd;padding-top:19px;margin-top:21px;color:#8b805f;font-size:11px;letter-spacing:.3px}
.rank-journey-label small{font-size:9px;letter-spacing:.2px;color:#aca185;text-align:right}
.rank-journey-label+.rank-journey{margin-top:15px}
.title-quote{color:#aaa38c;font-family:var(--title-font);font-style:italic;line-height:1.9}
.gate-art .hero,.gate-art .hero.hero-adventure{height:auto;flex:1;min-height:440px}
@media(max-width:920px){.gate-art .hero,.gate-art .hero.hero-adventure{min-height:470px}.rank-journey-label{font-size:10px;align-items:flex-start}.rank-journey-label small{font-size:8px;max-width:150px}}
@media(max-width:650px){.hero,.hero.hero-adventure{min-height:340px}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:318px;padding:25px 24px;flex:none}.gate-art .hero h1{font-size:29px;line-height:1.5}.gate-art .hero p{font-size:10px}.gate-art .hero-chips{margin-top:16px}.gate-art .durin-welcome{min-height:151px;margin-top:17px;padding:18px 17px;gap:13px}.gate-art .durin-welcome>img.durin-portrait{height:143px;width:96px;margin-bottom:-18px}.gate-art .durin-welcome h3{font-size:17px}.gate-art .durin-welcome p{font-size:10px}.gate-art .durin-welcome .series-chip{font-size:8px;margin-top:5px}.durin-note .text-btn{font-size:11px}.durin-note .text-btn .illustrated-icon{width:19px;height:19px}.rank-journey-label{font-size:11px;padding-top:19px;line-height:1.8}.rank-journey-label small{font-size:9px;max-width:145px}.title-library .title-option .title-quote{font-size:9px;line-height:1.9}}
@media(max-width:380px){.hero,.hero.hero-adventure{min-height:345px}.gate-art .hero,.gate-art .hero.hero-adventure{min-height:321px;padding:24px 21px}.gate-art .hero h1{font-size:27px}.gate-art .durin-welcome{padding:17px 14px;gap:10px}.gate-art .durin-welcome>img.durin-portrait{width:86px;height:137px;margin-bottom:-17px}.gate-art .durin-welcome h3{font-size:15px}}
@media(min-width:921px) and (max-width:1200px){.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:145px;height:164px}}
@media(min-width:651px) and (max-width:920px){.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait{width:125px;height:158px}}
@media(max-width:650px){.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait,.gate-art .durin-welcome>img.durin-portrait{width:112px;height:163px;object-fit:cover;object-position:center}}
@media(max-width:380px){.durin-welcome>img.durin-portrait,.welcome-durin>img.durin-portrait,.gate-art .durin-welcome>img.durin-portrait{width:100px;height:153px}}

/* Northern expedition: silver snow, ice-blue glass, and a midnight-blue journal. */
:root{
  --bg:#edf3f8;--paper:#fcfdff;--ink:#24394f;--muted:#70859a;
  --green:#244766;--dark:#142b44;--lime:#d6e8ef;--line:#cfdee9;
  --gold:#ae945f;--soft:#e6eff6;--shadow:0 7px 26px #254b6d08;
  --night:#18344f;--night-deep:#10253d;--champagne:#d9c793;
  --ice:#d7ebf5;--silver:#a7c4d6;--glacier:#6b98b5;--durin:#8d82aa;
  --jade:#598c88;--rose:#aa707f;font-size:13px;
}
body{
  background-color:var(--bg);
  background-image:radial-gradient(ellipse at 90% 0,#ffffff 0,transparent 48%),radial-gradient(ellipse at 0 55%,#dcecf580,transparent 60%),radial-gradient(#6e9eb516 .7px,transparent .7px);
  background-size:auto,auto,8px 8px;
}
::selection{background:#accfdf80;color:#153a58}
button:focus-visible,a:focus-visible{outline-color:#739eb8}
input:focus,select:focus,textarea:focus{outline-color:#79a6bd}
.sidebar{
  border-right-color:#8bafc576;color:#e6f0f6;
  background-image:radial-gradient(circle at 18% 16%,#d5edfa7a 0 1px,transparent 1.5px),radial-gradient(circle at 81% 26%,#e3d4ad66 0 1px,transparent 1.6px),radial-gradient(circle at 71% 62%,#c6e4f96b 0 1px,transparent 1.5px),radial-gradient(ellipse at 110% 0,#47718a70,transparent 60%),linear-gradient(160deg,#1c3b56,#10253d 76%);
}
.sidebar:after{background:linear-gradient(transparent,#a2c8dc44 15%,#a2c8dc44 85%,transparent)}
.brandmark{background:linear-gradient(145deg,#315772,#17374f);border-color:#bad0dc80;color:#e6d7ac}
.brand-sub{color:#9ab8cd}
.nav-label{color:#9fbccc;font-size:10px}
.nav button{color:#b5cbdc;font-size:13px}
.nav button:hover{background:#d8ecfa08;border-color:#aecfe22e;color:#f7fbff}
.nav button.active{background:linear-gradient(110deg,#b3d7ec24,#6289a515);border-color:#c3d7e270;color:#f6fcff;box-shadow:inset 3px 0 #c7dfe9}
.nav button.active:after{color:#ddc998}
.nav .count{background:#c4e0ef18;border-color:#bad6e130;color:#e1edf5;font-size:11px}
.sidebar-promo{background:linear-gradient(140deg,#b6dcf00b,#9b91bd10);border-color:#a8c3d43b}
.sidebar-promo h4{color:#dfedf5;font-size:13px}
.sidebar-promo p{color:#acc3d6;font-size:13px}
.sidebar-bottom p{color:#9cb7ca;font-size:11px}
.sidebar-bottom .text-btn,.sidebar-bottom .reset-btn{font-size:12px;color:#b1c8d8}
.sidebar-character{position:relative;overflow:hidden;min-width:0;margin:18px 0 4px;border:1px solid #a7c8dc35;border-radius:8px;background:radial-gradient(ellipse at 50% 20%,#5485a34d,transparent 70%),#ffffff03}
.sidebar-character img,.sidebar-portrait{display:block;width:100%;max-width:100%;height:155px;object-fit:cover;object-position:center 24%;filter:saturate(.86);border-radius:7px}
.sidebar-character figcaption,.sidebar-character small{display:block;position:relative;padding:8px 12px;color:#d1e1ed;font-size:11px;letter-spacing:1px;text-align:center;background:#112a43bb}
.topbar{background:#f6faffde;border-bottom-color:#ccdde8}
.crumb{color:#7e96aa;font-size:13px}
.crumb strong{color:#34546e}
.top-date{color:#7e95a8;font-size:12px}
.roundbtn{border-color:#cadce8;background:#fcfdff;color:#63809a}
.top-user{border-color:#cbdee9;color:#2d4d68;font-size:13px}
.top-user small{color:#708b9e;font-size:11px}
.main,.content-grid,.content-grid>div,.lobby-aside,.profile-layout,.profile-layout>div{min-width:0;max-width:100%}
.hero,.hero.hero-adventure{
  background:linear-gradient(110deg,#112b46,#335f7a 65%,#a4c4d6);border-color:#a4c4d6b3;
  box-shadow:0 12px 34px #224b6a14,inset 0 0 0 5px #c1dcea0d;color:#f4faff;
}
.hero:before,.hero.hero-adventure:before{background:linear-gradient(90deg,#102a43f7 0%,#173b56eb 32%,#2b5875a1 53%,#6b98b52b 76%,transparent)}
.hero:after{border-color:#e2eef84f}
.hero-scenery{background-image:url("./assets/winter-expedition.webp");filter:saturate(.83) brightness(.97)}
.eyebrow{color:#bfdce9;font-size:10px;letter-spacing:2.3px}
.eyebrow i{background:#c5b580}
.hero h1{color:#f5fbff;text-shadow:0 2px 18px #0b27464d}
.hero h1 em,.hero h1 span{color:#d2eafa}
.hero p,.gate-art .hero p{color:#d2e3ee;font-size:13px;line-height:1.95}
.hero-chip{background:#0e29446b;border-color:#a9c8d65e;color:#e1edf5;font-size:11px;letter-spacing:.2px}
.hero-corner{color:#dcecf5b5;font-size:9px}
.gate-art .hero:before{background:linear-gradient(180deg,#12334bef 0,#204761d9 31%,#38617c66 63%,#6a97b11a)}
.gate-art .hero-scenery{filter:saturate(.83) brightness(.96)}
.stat{border-color:#cbdde8;background:linear-gradient(135deg,#ffffff,#edf5fa);box-shadow:0 4px 15px #254b6d05}
.stat-icon{background:#e3eef7;border-color:#b9d3e452;color:#6489a4}
.stat:nth-child(2) .stat-icon{background:#f0eadb;color:#aa8c50}
.stat:nth-child(3) .stat-icon{background:#e5eef3;color:#6e91a5}
.stat-label{color:#6d879a;font-size:12px;letter-spacing:.5px}
.stat-number{color:#244760}.stat-number span,.stat-tag{color:#7d93a3;font-size:12px}
.section-head h2{color:#254761}.section-head p{color:#728b9e;font-size:13px}
.btn{font-size:13px}
.btn-primary{background:linear-gradient(135deg,#315975,#20425f);border-color:#5c839f;color:#f3f8fd;box-shadow:inset 0 0 0 2px #cfe9f210}
.btn-primary:hover{background:#345c78;border-color:#91b2c8}
.btn-light{background:#e8f1f7;border:1px solid #cbdde7;color:#51718b}.btn-light:hover{background:#dfeef6}
.btn-outline{background:#fbfdff;border-color:#bfd3e0;color:#5e7b92}.btn-outline:hover{background:#edf5fa;border-color:#8bafc6}
.btn-danger{background:#f8edf0;border-color:#e3cbd3;color:#9b6173}
.text-btn{color:#6689a2;font-size:13px}.text-btn:hover{color:#294e6a}
.segmented{background:#e2edf5;border-color:#c8dce8}
.segmented button{color:#6c8a9e;font-size:12px}.segmented button.active{color:#2d536e;background:#fcfeff}
.filter-count{color:#7b96a8;font-size:12px}
.event-card{border-color:#cbdce7;background:#fcfdff;box-shadow:0 3px 14px #254b6d04}
.event-card:hover{border-color:#9ebdce;box-shadow:0 8px 24px #2a557314}
.event-banner{background:linear-gradient(120deg,#dae9ee,#e9f3f6);border-bottom-color:#bed5df}
.event-banner.snezhnaya{background:linear-gradient(120deg,#d4e6f1,#edf6fc);border-bottom-color:#a9c8dc}
.event-card h3{color:#2b4c65}.region{font-size:12px}.status{font-size:11px;background:#fbfdffda}
.host{color:#7b94a5;font-size:13px}.host strong{color:#668198}
.info-line{color:#718b9e;font-size:13px}.info-line b{color:#3e617b}
.info-line .icon{color:#87a6b9}.event-footer{border-color:#dce8ef}
.participant-row{color:#7b94a5;font-size:12px}.event-action .btn{font-size:13px}
.detail-btn{border-color:#c5d8e4;color:#688ba3}.settle-link{color:#7a92a6;font-size:12px}
.avatar{background:linear-gradient(140deg,#dceaf3,#eaf2f8);border-color:#faffff;box-shadow:0 0 0 1px #a7c6d77d}
.avatar.empty{background:#eff5f9;border-color:#b8cfdd;color:#8eabba}
.side-panel,.member-card,.settings-card{background:#fcfdff;border-color:#cadce7;box-shadow:0 3px 16px #254b6d04}
.side-panel:before{background:#a9bdce}.panel-heading h3,.settings-card h3{color:#315570}
.panel-heading span{font-size:11px;color:#8ba1af}
.progress-user h4{color:#315570}.rank-label{background:#e8f0f6;border-color:#c8dbe7;color:#6c869a;font-size:11px}
.progress-label{color:#7a94a6;font-size:12px}.progress-label b{color:#7d9bae;font-size:13px}
.progress-track{background:#e2edf5}.progress-fill{background:linear-gradient(90deg,#709bb5,#aacddd)}
.progress-note,.callout{color:#718c9e;font-size:13px}.progress-note strong{color:#587c93}
.callout,.mini-bottom{border-color:#d4e3ed}.mini-rank .name{font-size:13px;color:#52738e}
.mini-rank .score small{font-size:11px;color:#8ba1b0}.mini-bottom{color:#6d8ca0;font-size:12px}
.rule-card{background:#e8f1f65e;border-color:#b9d0df;color:#718b9e;font-size:13px}.rule-card b{color:#57758c;font-size:13px}
.footer,.footer span,.gate-footer{color:#8c9eaa;font-size:11px}
.page-intro{background:linear-gradient(115deg,#e1eef7,#f7fbfe);border-color:#c0d7e6}
.page-intro h3{color:#2c5573}.page-intro p{color:#69869c;font-size:13px}
.search input{background:#fbfdff;border-color:#c1d6e4;color:#365d79;font-size:13px}.search .icon{color:#8faaba}
.switch-row{color:#69869b;font-size:13px}.switch{background:#d6e5ee;border-color:#bcd1df}.switch.on{background:#7195af;border-color:#6087a1}
.member-name{color:#2c4e68}.member-title{color:#7c8ca3;font-size:13px}.member-name small{color:#8ca3b2;font-size:11px}
.member-meta{border-color:#dbe7ef;color:#7e95a5;font-size:13px}.availability{color:#648d91}.availability.off{color:#9cabb7}
.empty-state{background:#f5faff;border-color:#bfd5e3;color:#7991a4}.empty-state h3{color:#4e738d}.empty-state p{font-size:13px}
.leaderboard{background:#fcfdff;border-color:#c1d5e3}.rank-row{border-color:#deebf2}
.rank-row.me{background:linear-gradient(90deg,#e0edf6,#f1f8fc);box-shadow:inset 3px 0 #8baec4}
.rank-row.table-head{background:#e8f1f7;color:#6d8a9f;font-size:12px}
.rank-person .name{color:#456985}.rank-person small{color:#849bae;font-size:12px}
.rank-row .position{color:#819bad}.rank-row .runs{color:#294e6c}.rank-row .runs small{color:#8fa2b0;font-size:11px}
.rank-row .title{color:#8191a7;font-size:13px}
.profile-layout .settings-card,.profile-layout .passport,.profile-layout .rule-card,.title-library{min-width:0;max-width:100%}
.passport{background:#fcfdff;border-color:#a9c7d9}.passport-top{color:#c3dfea;border-bottom-color:#95b8cc;background:radial-gradient(circle at 22% 28%,#d6f2ff70 0 1px,transparent 1.8px),radial-gradient(circle at 85% 63%,#cfbb8f7a 0 1px,transparent 1.6px),linear-gradient(135deg,#2a5573,#142d48)}
.passport-top:after{border-color:#aecbde47}.passport-top .tiny{font-size:10px;color:#b2ccde}.passport-top h2{color:#f4faff}
.passport-top .avatar{border-color:#bfd9e75e;background:#e4eff6}.passport-top .rank-label{background:#b9d7e512;border-color:#b6d3e544;color:#d9eaf5}
.passport-total{color:#2b526f}.passport-total small,.passport-caption{color:#829aab;font-size:12px}
.passport-quote{border-color:#c8dce9;color:#7892a6;font-size:13px}
.field label,.field-label{color:#648298;font-size:13px}
.field input,.field select,.field textarea,.gate-card .field input,.gate-card .field select{background:#eff6fa;border-color:#c4d9e6;color:#365d78;font-size:13px}
.field input::placeholder,.field textarea::placeholder,.search input::placeholder{color:#94a9b8}
.field small{color:#7e97a8;font-size:12px}
.title-option{background:#f0f6fa;border-color:#d4e3ec;color:#637c90;font-size:12px}
.title-option.active{background:#e3eef7;border-color:#88adc6;color:#3e6380;box-shadow:inset 0 0 0 2px #c7dce966}
.title-option.locked{opacity:.72}.title-option small{color:#8ba0af;font-size:11px}
.title-library .title-option>span{font-size:12px}.title-library .title-option small,.title-library .title-option .title-quote{font-size:11px;line-height:1.8}
.title-quote{color:#8da0b2}.title-library .title-option .series-chip{font-size:10px}
.series-filters{border-color:#cddfea;gap:9px}
.series-chip{background:#e9f2f8;border-color:#c3d8e655;color:#688ca5;font-size:11px;letter-spacing:.1px}
.series-chip.ice,.series-chip.cryo{background:#e2f0f7;border-color:#b7d4e4;color:#658da7}
.series-chip.night,.series-chip.star,.series-chip.cosmic{background:#e4edf5;border-color:#bdcedf;color:#6983a1}
.series-filters button.series-chip{font-size:12px;background:#edf5fa;border-color:#c1d6e4;color:#6c8da3;min-height:38px}
.series-filters button.series-chip:hover{background:#dfedf6;border-color:#93b6cd;color:#466f8c}
.series-filters button.series-chip.active,.series-filters button.series-chip[aria-pressed="true"]{background:#2c536f;border-color:#94b6c9;color:#e8f4fc;box-shadow:inset 0 0 0 2px #d3e8f112}
.series-filters .series-count{font-size:10px}
.rank-journey{min-width:0;max-width:100%;scrollbar-color:#a7c7da #e3eef6}
.rank-milestone{background:linear-gradient(145deg,#ffffff,#eaf4fa);border-color:#bfd6e5}
.rank-milestone:before{color:#9dbbd0}.rank-milestone b,.rank-milestone h3,.rank-milestone h4,.rank-milestone strong{color:#577c96}
.rank-milestone p{color:#7c97ab;font-size:12px}.rank-milestone small{color:#88a0b1;font-size:11px}
.rank-milestone.current,.rank-milestone.active,.rank-milestone.is-current{border-color:#95b7cb;background:linear-gradient(145deg,#dcecf7,#f2f8fd);box-shadow:0 0 0 3px #afcada26}
.rank-milestone.current b,.rank-milestone.active b,.rank-milestone.is-current b,.rank-milestone.current strong,.rank-milestone.active strong{color:#496e88}
.rank-milestone.locked,.rank-milestone.is-locked{background:#e9f0f5;border-color:#d0dfe9}
.rank-milestone.locked b,.rank-milestone.is-locked b{color:#91a5b4}
.rank-milestone>.series-chip,.rank-milestone .series-chip{font-size:10px}
.rank-journey-label{border-color:#d2e2ed;color:#6d8ca1;font-size:13px}.rank-journey-label small{color:#8ba0b0;font-size:11px}
.history-row,.admin-member{border-color:#dce8f0}.history-row p{color:#6b879e;font-size:13px}.history-row small{color:#91a4b4;font-size:11px}.history-row strong{color:#678b98;font-size:13px}
.sync-status,.sync-status button{font-size:12px;color:#7c94a7}.admin-person strong{color:#426881}.admin-person small{color:#8a9faf;font-size:12px}
.admin-actions .btn{font-size:12px}.modal{background:#fbfdff;border-color:#a9c5d9;box-shadow:0 20px 100px #0c274b54,0 0 0 5px #c6deed14}
.modal-header{border-color:#cddfe9}.modal-header h2{color:#2c516e}.modal-header p{color:#7893a7;font-size:13px}
.close-modal{background:#e8f1f7;border-color:#c6dbe8;color:#6a8a9f}
.settle-rule{background:#e8f2f8;border-color:#c9dde9;color:#69889c;font-size:13px}.settle-rule b{color:#4f748c}
.settle-row{border-color:#d5e4ed}.settle-person{color:#547a96;font-size:13px}.settle-person small{color:#8ba1b3;font-size:12px}
.stepper button{background:#e3eef6;border-color:#bed5e4;color:#6589a4}.stepper input{background:#fcfdff;border-color:#bed5e4;color:#3e6684}
.detail-meta div{background:#eaf3f9;border-color:#d2e3ee;color:#527a97;font-size:13px}.detail-meta small{color:#849eaf;font-size:12px}
.list-heading,.detail-person{font-size:13px;color:#6b8ba3}.detail-person .right{color:#8499b0}
.copy-area,#copy-text{background:#eaf3f9;border-color:#c5dce9;color:#5c7e99;font-size:13px}
.notice,.main .notice,.gate-card .notice{color:#7b91a0;font-size:11px;line-height:1.9}
.levelup p{color:#748d9f;font-size:13px}.level-stats small{color:#8d9fb0;font-size:12px}
#toast{background:#183c59;color:#f1f8ff;border-color:#9abace80;font-size:13px}
.durin-welcome,.welcome-durin{border-color:#c9d9e7;background:linear-gradient(120deg,#f7fbff,#e8eff8);color:#6a859d}
.durin-welcome h3,.welcome-durin h3{color:#3b5a77}.durin-welcome p,.welcome-durin p{color:#7a8fa6;font-size:13px}
.durin-welcome:before,.welcome-durin:before{color:#a7a0bb}
.durin-welcome .eyebrow,.welcome-durin .eyebrow{color:#9383aa;font-size:10px}
.durin-note{background:linear-gradient(145deg,#284a68,#263650);border-color:#97afcc8c}
.durin-note h3,.durin-note h4{color:#e0eaf8}.durin-note p,.durin-note-copy p{color:#aec3d9;font-size:13px}
.durin-note-copy b,.durin-note-copy strong{color:#dfd7ec}.durin-note .text-btn{color:#bdcbe1;font-size:12px}
.durin-note small,.durin-note .note-kicker{color:#b7acca;font-size:10px}
.gate-brand .brand{color:#315471}.gate-brand .brandmark{background:linear-gradient(145deg,#315975,#20425f)}
.gate-brand .brand-sub{color:#8a9bad;font-size:10px}.gate-features{color:#7d95a7;font-size:12px}
.gate-card{background:linear-gradient(145deg,#ffffff,#f0f7fc);border-color:#bbd2e3;box-shadow:0 12px 35px #274e6e08}
.gate-card:before{border-color:#c7deed44}.gate-card h2{color:#2e5776}.gate-card>p{color:#6c8aa1;font-size:13px}
.gate-kicker{color:#9b8b65;font-size:10px;letter-spacing:1.7px}
.gate-card .field label{color:#6d8a9f;font-size:13px}.gate-card .auth-button{font-size:13px}
.gate-note{border-color:#c6dce9;background:#e7f1f8;color:#708da2;font-size:13px}.gate-note b{color:#52778e}
.gate-card details{border-color:#c9deeb;color:#7a90a3;font-size:13px}.gate-card summary{color:#67859d;font-size:13px}
.gate-footer a{color:#758ea1;text-decoration-color:#a8c0d1}

/* A shared travel album gives every companion a place in the expedition. */
.character-ribbon{display:flex;align-items:stretch;gap:10px;min-width:0;max-width:100%;overflow-x:auto;padding:6px 3px 11px;margin:18px -3px 25px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b9cfde transparent}
.character-ribbon>img,.character-ribbon>figure,.character-ribbon>button,.character-ribbon>.character-card{position:relative;flex:1 0 82px;min-width:0;max-width:120px;margin:0;scroll-snap-align:start;border:1px solid #b8d0e2;border-radius:8px;background:linear-gradient(145deg,#e4f2fa,#f7fbff);overflow:hidden;box-shadow:0 3px 10px #31597408}
.character-ribbon img{display:block;width:100%;height:92px;object-fit:cover;object-position:center 24%;transition:transform .2s,filter .2s;filter:saturate(.86)}
.character-ribbon>img{height:111px;object-fit:cover;object-position:center 24%}
.character-ribbon figure:hover img,.character-ribbon button:hover img,.character-ribbon .character-card:hover img{transform:scale(1.04);filter:saturate(1)}
.character-ribbon figcaption,.character-ribbon .character-name,.character-ribbon button>span{display:block;position:relative;padding:5px 4px;color:#5e7f99;text-align:center;font-size:11px;line-height:1.7;background:#f8fcffed;overflow-wrap:anywhere}
.character-ribbon button{padding:0}

/* Character selection stays legible and keyboard-friendly inside the modal. */
.avatar-picker-trigger{display:flex;align-items:center;gap:13px;width:100%;min-width:0;min-height:76px;padding:11px 15px;text-align:left;border:1px solid #bcd3e3;border-radius:6px;background:linear-gradient(120deg,#e8f3fb,#f7fbff);color:#436d8b;font-size:13px;line-height:1.7;transition:border-color .18s,background .18s}
.avatar-picker-trigger:hover{border-color:#8bafca;background:#e4f1fa}.avatar-picker-trigger:after{content:"✧";margin-left:auto;color:#b19b6e;font-size:23px}
.avatar-picker-trigger>img,.avatar-picker-trigger .avatar,.selected-avatar-preview img{width:52px;height:52px;flex:0 0 52px;object-fit:cover;object-position:center;border:2px solid #fcfeff;box-shadow:0 0 0 1px #b8cfdf;border-radius:50%}
.avatar-picker-trigger>span,.avatar-picker-trigger>div{min-width:0}.avatar-picker-trigger small{display:block;font-size:12px;color:#819aae;line-height:1.8}
.avatar-picker-trigger input[hidden],.avatar-picker-trigger [type="hidden"]{display:none}
.selected-avatar-preview{display:flex;align-items:center;gap:12px;min-width:0;color:#5a7c97;font-size:13px}
.avatar-search{margin:0 0 17px;position:relative;min-width:0}
.avatar-search input{width:100%;max-width:100%;min-height:44px;border:1px solid #bfd5e4;border-radius:5px;background:#eef6fb;color:#365d78;padding:11px 13px;font-size:13px}
.avatar-search input::placeholder{color:#91a6b7}
.avatar-search:has(.illustrated-icon) input,.avatar-search:has(.icon) input{padding-left:40px}
.avatar-search>.illustrated-icon,.avatar-search>.icon{position:absolute;width:23px;height:23px;left:11px;top:11px;color:#829eb2}
.avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;min-width:0;max-width:100%;max-height:390px;overflow-y:auto;padding:3px 3px 9px;margin:0 -3px;align-content:start;scrollbar-width:thin;scrollbar-color:#aecbdc #eaf3f8}
.avatar-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-width:0;min-height:100px;padding:10px 4px 8px;border:1px solid #d0e0eb;border-radius:6px;background:linear-gradient(145deg,#fafdff,#edf5fa);font-size:12px;color:#69869c;line-height:1.6;transition:background .18s,border-color .18s,box-shadow .18s}
.avatar-choice img{display:block;width:52px;height:52px;max-width:100%;object-fit:cover;object-position:center;border-radius:50%;border:2px solid #faffff;box-shadow:0 0 0 1px #c3d8e5}
.avatar-choice span{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere;font-size:12px;text-align:center}
.avatar-choice:hover{background:#e5f0f8;border-color:#95b8cf;color:#365f7e}
.avatar-choice.selected,.avatar-choice[aria-pressed="true"]{background:linear-gradient(145deg,#dcebf7,#f2f8fc);border-color:#ad9868;box-shadow:inset 0 0 0 1px #d6c797,0 0 0 2px #bad3e22b;color:#365e7e}
.avatar-choice.selected:after,.avatar-choice[aria-pressed="true"]:after{content:"✓";position:absolute;top:5px;right:5px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#587e9b;color:#fff;font-size:10px;border:1px solid #edf8ff}
.avatar-picker-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 0;padding-top:12px;border-top:1px solid #d3e3ee;color:#839cae;font-size:12px;line-height:1.8}

/* The expedition message board is a stack of letters on silver-blue stationery. */
.board-intro{position:relative;display:flex;align-items:center;gap:19px;min-width:0;overflow:hidden;padding:27px 29px;margin-bottom:23px;border:1px solid #aecbdd;border-radius:10px;color:#c8deed;background:radial-gradient(ellipse at 95% 0,#679bb844,transparent 60%),linear-gradient(125deg,#193c59,#2a5571)}
.board-intro:after{content:"✧";position:absolute;right:24px;top:8px;color:#d5c39299;font-size:62px;line-height:1;pointer-events:none}
.board-intro>div{position:relative;z-index:1;min-width:0}.board-intro .illustrated-icon{width:54px;height:54px;flex-shrink:0}
.board-intro h2,.board-intro h3{font-family:var(--title-font);font-size:24px;letter-spacing:1px;color:#f2f9fe;margin:0 0 8px;line-height:1.6}
.board-intro p{font-size:13px;line-height:1.95;color:#bdd6e7;margin:0;max-width:660px}
.board-compose{min-width:0;max-width:100%;padding:24px;border:1px solid #bdd4e4;border-radius:9px;background:#fcfdff;box-shadow:0 3px 18px #31597405;margin-bottom:25px}
.board-compose h3,.board-compose label{display:block;font-size:14px;line-height:1.8;font-weight:600;color:#466b87;margin:0 0 12px}
.board-compose textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:138px;max-height:420px;resize:vertical;border:1px solid #c6dce9;border-radius:5px;padding:14px 15px;background:#f0f7fb;color:#365b77;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.board-compose textarea::placeholder{color:#95aaba}
.board-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-top:14px;color:#89a0b1;font-size:12px;line-height:1.8}
.board-compose-footer small{font-size:12px}.board-compose-footer .btn{min-height:43px;flex-shrink:0}
.board-list{display:flex;flex-direction:column;gap:15px;min-width:0;max-width:100%}
.message-card{display:flex;align-items:flex-start;gap:15px;min-width:0;max-width:100%;padding:23px 24px;background:#fcfdff;border:1px solid #ccdfe9;border-radius:8px;box-shadow:0 3px 14px #31597404}
.message-card>.avatar{width:42px;height:42px;flex:0 0 42px}.message-card>img.avatar{object-fit:cover}
.message-content{flex:1;min-width:0;max-width:100%}
.message-head{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:4px;min-width:0;line-height:1.8;color:#365e7d;font-size:13px}
.message-head strong,.message-head .name,.message-head .message-author{font-weight:600;color:#3c6381;max-width:100%;overflow-wrap:anywhere}
.message-head time,.message-head .message-time{color:#8ba3b5;font-size:12px;font-weight:400}
.message-head>button,.message-head .delete-message{margin-left:auto;padding:3px 8px;border:1px solid transparent;border-radius:4px;color:#9b7f89;font-size:12px;font-weight:400;line-height:1.7;white-space:nowrap}
.message-head>button:hover,.message-head .delete-message:hover{background:#f6edf1;border-color:#e5cfd9;color:#9b6478}
.message-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;color:#5c7b94;font-size:13px;line-height:1.95;margin:9px 0 0}
.message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#8da4b4;font-size:12px;line-height:1.8;margin-top:11px}
.message-empty{padding:43px 24px;border:1px dashed #bdd4e4;border-radius:8px;background:#f4faff;color:#839dae;font-size:13px;line-height:1.9;text-align:center}
.message-empty .illustrated-icon{width:51px;height:51px;margin-bottom:9px}.message-empty h3{font-family:var(--title-font);font-size:18px;line-height:1.8;color:#547b97;margin:0 0 7px}.message-empty p{margin:0;font-size:13px}
@media(max-width:920px){
  .character-ribbon{gap:9px}.character-ribbon>img,.character-ribbon>figure,.character-ribbon>button,.character-ribbon>.character-card{flex-basis:74px;max-width:105px}.character-ribbon img{height:82px}.character-ribbon>img{height:102px}
  .durin-welcome p,.welcome-durin p,.durin-note-copy p{font-size:13px}
}
@media(max-width:650px){
  .topbar{background:#f9fcffed}.main{padding-bottom:104px}.crumb{font-size:13px}.top-user small{font-size:11px}
  .hero p,.gate-art .hero p{font-size:12px;line-height:1.9}.hero h1{max-width:100%}.eyebrow{font-size:10px;letter-spacing:1.6px}
  .hero-chip,.gate-art .hero-chip{font-size:10px;padding:5px 7px;gap:4px}.hero-chips{gap:6px}.hero-corner{font-size:8px}
  .gate-art .hero:before{background:linear-gradient(180deg,#11324af2 0,#204963df 37%,#38617c6b 68%,#6a97b125)}
  .stat-label{font-size:11px;letter-spacing:0}.stat-number span,.stat-tag{font-size:11px}.stat-number{font-size:28px}
  .section-head p,.page-intro p,.empty-state p{font-size:12px}.btn,.section-head .btn{font-size:12px}
  .host,.info-line,.participant-row,.event-action .btn,.settle-link{font-size:12px}.filter-count,.segmented button,.filters .segmented button{font-size:12px}
  .side-panel p,.progress-note,.callout,.rule-card,.rule-card b,.mini-bottom{font-size:12px}.panel-heading span,.rank-label{font-size:11px}
  .progress-label,.progress-label b,.mini-rank .name,.mini-rank .score small{font-size:12px}
  .mobile-nav{background:#f5fafff5;border-top-color:#bdd4e3;box-shadow:0 -5px 23px #244a6b08;gap:0;padding-left:4px;padding-right:4px}
  .mobile-nav button{flex:1 1 0;min-width:0;width:auto;font-size:11px;color:#8aa4b8;gap:4px;padding:1px 2px;letter-spacing:0;white-space:nowrap}.mobile-nav button.active{color:#355c78}.mobile-nav button.active:before{background:#8aacbf}
  .mobile-nav .illustrated-icon{width:27px;height:27px}.mobile-nav .icon{width:24px;height:24px}
  .member-title,.member-meta,.switch-row{font-size:12px}.member-name small{font-size:11px}
  .rank-row.table-head{font-size:11px}.rank-person .name{font-size:13px}.rank-person small,.rank-row .runs small{font-size:11px}
  .passport-top .tiny{font-size:10px;letter-spacing:2px}.passport-caption,.passport-total small,.passport-quote{font-size:12px}
  .field label,.field-label,.gate-card .field label{font-size:12px}.field small{font-size:12px}
  .field input,.field select,.field textarea,.gate-card .field input,.gate-card .field select,.search input{font-size:16px}
  .title-library .title-option>span{font-size:12px}.title-library .title-option small,.title-library .title-option .title-quote{font-size:11px}.title-library .title-option .series-chip{font-size:10px}
  .title-library .title-option{padding:14px 12px;min-height:110px;gap:9px}.title-library .title-option .rank-art{width:45px;height:45px}
  .series-filters button.series-chip{font-size:12px;min-height:39px;padding:7px 10px}.series-filters .series-count{font-size:11px}.series-chip{font-size:11px}
  .rank-milestone small{font-size:11px}.rank-milestone .series-chip{font-size:10px}.rank-journey-label{font-size:12px;gap:9px}.rank-journey-label small{font-size:11px}
  .history-row p,.history-row small,.history-row strong,.admin-person small,.admin-actions .btn{font-size:12px}
  .sync-status,.sync-status button{font-size:11px}.notice,.main .notice,.gate-card .notice{font-size:11px}
  .modal-header p,.settle-rule,.settle-person,.settle-person small,.detail-meta div,.detail-meta small,.copy-area,#copy-text,.list-heading,.detail-person{font-size:12px}
  .durin-welcome p,.welcome-durin p,.gate-art .durin-welcome p,.durin-note p,.durin-note-copy p{font-size:12px}.durin-note .text-btn{font-size:12px}
  .durin-welcome .eyebrow,.welcome-durin .eyebrow{font-size:9px}.gate-art .durin-welcome .series-chip{font-size:10px}.durin-note small,.durin-note .note-kicker{font-size:10px}
  .gate-brand .brand-sub{font-size:9px;letter-spacing:1.8px}.gate-features{font-size:11px;flex-wrap:wrap;gap:9px 15px}.gate-features div{gap:6px}
  .gate-card>p,.gate-card .auth-button,.gate-note,.gate-card summary,.gate-card details{font-size:12px}.gate-kicker{font-size:10px;letter-spacing:1.5px}
  .gate-footer,.footer,.footer span{font-size:11px}.footer span{letter-spacing:.5px}
  .character-ribbon{gap:8px;margin-top:15px;margin-bottom:21px;padding-bottom:10px}.character-ribbon>img,.character-ribbon>figure,.character-ribbon>button,.character-ribbon>.character-card{flex:0 0 72px;border-radius:6px}.character-ribbon img{height:78px}.character-ribbon>img{height:101px}.character-ribbon figcaption,.character-ribbon .character-name,.character-ribbon button>span{font-size:11px;padding:5px 2px}
  .avatar-picker-trigger{min-height:79px;padding:12px;gap:12px;font-size:12px}.avatar-picker-trigger small,.selected-avatar-preview{font-size:12px}
  .avatar-search input{font-size:16px;padding:12px;min-height:46px}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:calc(100dvh - 265px)}
  .avatar-choice{padding:11px 4px 9px;min-height:102px;gap:8px}.avatar-choice img{width:52px;height:52px}.avatar-choice span{font-size:12px}.avatar-picker-count{font-size:12px;gap:8px;line-height:1.8}
  .board-intro{padding:23px 20px;gap:13px;margin-bottom:20px}.board-intro h2,.board-intro h3{font-size:22px}.board-intro p{font-size:12px;line-height:1.9}.board-intro .illustrated-icon{width:42px;height:42px}.board-intro:after{font-size:50px;right:13px;top:8px}
  .board-compose{padding:21px 18px;margin-bottom:22px}.board-compose h3,.board-compose label{font-size:13px}.board-compose textarea{font-size:16px;min-height:149px;line-height:1.8;padding:12px 13px}.board-compose-footer{gap:9px;align-items:center;font-size:12px}.board-compose-footer .btn{padding:10px 13px;font-size:12px}
  .board-list{gap:13px}.message-card{padding:20px 17px;gap:11px}.message-card>.avatar{width:35px;height:35px;flex-basis:35px}.message-head{gap:4px 8px;font-size:13px}.message-head time,.message-head .message-time{font-size:11px}.message-head>button,.message-head .delete-message{font-size:11px;padding:2px 5px}
  .message-body{font-size:13px;line-height:1.9;margin-top:9px}.message-meta{font-size:11px;line-height:1.8}.message-empty{padding:35px 21px;font-size:12px}.message-empty p{font-size:12px}
}
@media(max-width:380px){
  .hero p,.gate-art .hero p{font-size:12px}.hero-chip{font-size:10px}.stat-label,.stat-number span{font-size:11px}
  .title-library .title-option>span{font-size:12px}.title-library .title-option{padding:13px 11px}.rank-person .name{font-size:12px}
  .durin-welcome p,.welcome-durin p,.gate-art .durin-welcome p{font-size:12px}.gate-art .durin-welcome{gap:10px}.gate-art .durin-welcome h3{font-size:16px}
  .series-filters button.series-chip{font-size:11px;padding:7px 9px}.gate-features{font-size:11px}
  .avatar-grid{gap:7px}.avatar-choice img{width:48px;height:48px}.avatar-choice span{font-size:11px}.avatar-choice{min-height:96px}
  .board-intro{padding:21px 17px}.board-intro .illustrated-icon{width:36px;height:36px}.board-compose{padding:19px 16px}.message-card{padding:18px 14px;gap:9px}.message-card>.avatar{width:32px;height:32px;flex-basis:32px}
}
@media(prefers-reduced-motion:reduce){.character-ribbon img,.avatar-choice,.avatar-picker-trigger{transition:none}}

/* A chosen title is the next destination on the member's expedition. */
#profile-target{min-width:0;max-width:100%;width:100%;text-overflow:ellipsis}
.target-progress{position:relative;min-width:0;max-width:100%;margin-top:19px;padding:23px;background:linear-gradient(145deg,#fbfdff,#eaf4fb);border-color:#b8d2e4;overflow:hidden}
.target-progress:before{content:"✧";position:absolute;right:17px;top:10px;font-size:28px;line-height:1;color:#a9c4d5;opacity:.65;pointer-events:none}
.target-progress h3{position:relative;display:flex;align-items:center;gap:9px;font-size:17px;line-height:1.7;color:#3c6480;letter-spacing:.4px;margin-bottom:17px;padding-right:22px}
.target-progress h3 .illustrated-icon,.target-progress h3 .rank-art{width:29px;height:29px;object-fit:contain;flex-shrink:0}
.target-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;margin:0 0 17px;color:#3c6482;font-family:var(--title-font);font-size:18px;font-weight:700;line-height:1.75;overflow-wrap:anywhere}
.target-title .rank-art{width:49px;height:49px;object-fit:contain;flex:0 0 49px}
.target-title>span,.target-title>div{min-width:0;flex:1;overflow-wrap:anywhere}
.target-title small{display:block;font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;font-size:12px;font-weight:400;line-height:1.8;color:#839dad;margin-top:3px}
.target-progress .progress-track{height:6px;background:#dceaf4;border-radius:3px}
.target-progress .progress-fill{background:linear-gradient(90deg,#6e9cba,#b8d6e5);border-radius:3px;min-width:0;max-width:100%}
.target-progress .progress-label{margin-bottom:9px;line-height:1.8;gap:9px}
.target-progress .progress-note{margin:13px 0 7px;color:#6c8ba2;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.target-progress .progress-note strong{color:#4c7794;font-weight:600}
.target-progress>small{display:block;font-size:12px;color:#8ba0ae;line-height:1.9;overflow-wrap:anywhere}
.gate-art .character-ribbon{margin-bottom:0}
@media(max-width:650px){
  .target-progress{padding:23px 21px;margin-top:20px}.target-progress h3{font-size:18px;gap:10px;margin-bottom:17px}.target-title{font-size:19px;gap:11px;margin-bottom:18px}.target-title .rank-art{width:52px;height:52px;flex-basis:52px}.target-progress .progress-note,.target-progress>small,.target-title small{font-size:12px}
  img.hero-scenery,.gate-art img.hero-scenery{object-position:right center}.gate-art .hero p{max-width:100%}.gate-art .durin-welcome>img.durin-portrait{align-self:center;margin-top:-6px;margin-bottom:-6px}
}
