@font-face{font-family:"Bricolage Grotesque";src:url("/cached-assets/BricolageGrotesque-Variable-a97804dc9fbe5fc9.woff2") format("woff2");font-weight:100 900;font-display:swap}
 .preview-shell{--ink:#171312;--warm:#fcfbf3;--surface:#fffdf8;--coral:#f76e74;--pink:#fcd1ce;--mint:#6cd6ca;--green:#dcf4ec;--yellow:#fabb52;--blue:#5ca1fa;--muted:#57595d}
.preview-shell{color:var(--ink);font-family:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif}:where(.preview-shell) button,:where(.preview-shell) a{font:inherit}.preview-shell button{cursor:pointer}.preview-switch{position:fixed;z-index:20;top:16px;right:16px;display:flex;gap:4px;padding:5px;background:white;border-radius:999px;box-shadow:0 7px 25px #17131223}.preview-switch a{padding:8px 13px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:800;color:var(--ink)}.preview-switch a.active{background:var(--ink);color:white}.preview-shell{width:min(100%,480px);min-height:100vh;margin:auto;background:var(--warm);box-shadow:0 15px 55px #17131212}.reference-page{min-height:100vh;padding:0 24px 30px}.reference-page[hidden],.ledger-overlay[hidden]{display:none!important}.reference-header{height:68px;display:flex;align-items:center;gap:11px}.header-icon,.header-switch{height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;text-decoration:none;color:var(--ink)}.header-icon i{font-size:25px}.header-title{flex:1;font-size:17px;font-weight:850}.header-switch{gap:5px;padding:0 4px;font-size:13px;font-weight:750}.header-switch i{font-size:22px}.header-spacer{width:44px}
.growth-page{display:flex;flex-direction:column;align-items:center}.growth-page>.reference-header{align-self:stretch}.growth-hero{width:100%;display:flex;justify-content:center;padding:13px 0 5px}.growth-medal{position:relative;width:268px;height:268px;overflow:hidden;border:5px solid #5d463b;border-radius:44% 47% 40% 43%;background:var(--pink);box-shadow:inset 0 0 0 5px #fffbf1,0 14px 25px #5d463b22;isolation:isolate}.growth-medal img{display:block;width:100%;height:100%;object-fit:cover;object-position:69% center;filter:saturate(.9)}.growth-medal:after{content:"";position:absolute;inset:49% 0 0;background:linear-gradient(0deg,#fcd1ce 0%,#fcd1cebd 52%,transparent 100%);z-index:1}.growth-medal-kicker,.growth-medal-number,.growth-medal-caption{position:absolute;z-index:2;text-align:center;color:var(--ink)}.growth-medal-kicker{left:50%;top:17px;transform:translateX(-50%);padding:6px 12px;background:#fcfbf3e9;border:1px solid #5d463b;border-radius:99px;white-space:nowrap;font:850 11px/1.2 "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.08em}.growth-medal-number{left:0;right:0;bottom:19px;font:900 70px/.95 "Bricolage Grotesque",Arial,sans-serif;letter-spacing:-.08em}.growth-medal-caption{left:0;right:0;bottom:8px;font:800 8px/1 "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.25em}.growth-page[data-track="community"] .growth-medal{background:var(--green);border-color:#277768}.growth-page[data-track="community"] .growth-medal:after{background:linear-gradient(0deg,#dcf4ec 0%,#dcf4ecbd 52%,transparent 100%)}.growth-page[data-track="community"] .growth-medal-kicker{border-color:#277768}
.growth-summary{width:100%;text-align:center;padding-top:20px}.growth-overline{margin:0;color:#7d6c65;font:850 11px/1.3 "Bricolage Grotesque","Microsoft YaHei",sans-serif;letter-spacing:.14em}.growth-summary h1{font-size:29px;line-height:1.2;letter-spacing:-.03em;margin:10px 0}.growth-summary h1 span{font:900 30px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:-.04em}.growth-copy{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.growth-next{margin:25px 0 10px;font-size:15px;color:var(--muted)}.growth-next strong{font:900 21px "Bricolage Grotesque",Arial,sans-serif;color:var(--coral)}.growth-page[data-track="community"] .growth-next strong{color:#217a69}.growth-progress{width:min(100%,306px);height:10px;background:#ede9e2;margin:auto;border-radius:99px;overflow:hidden}.growth-progress span{display:block;height:100%;border-radius:99px;background:var(--coral);transition:width .25s}.growth-page[data-track="community"] .growth-progress span{background:var(--mint)}.growth-count{font:800 12px "Bricolage Grotesque","Microsoft YaHei",sans-serif;color:#6f6a65;margin:8px 0 0}.growth-milestones{width:100%;display:flex;align-items:center;justify-content:space-between;position:relative;margin:31px 0 27px;padding:0 8px}.growth-milestones:before{content:"";position:absolute;left:29px;right:29px;top:23px;height:2px;background:#d7d1c8}.milestone{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:50px;color:#8d8d8d}.milestone i{display:grid;place-items:center;width:46px;height:46px;border:2px solid #d9d4cb;background:#f5f2ed;border-radius:50%;font-size:25px;box-shadow:0 0 0 4px var(--warm)}.milestone small{font:800 11px "Bricolage Grotesque",Arial,sans-serif}.milestone.complete i{background:#ffda9e;border-color:#b57a34;color:#7f4d21}.milestone.current i{background:var(--pink);border-color:var(--coral);color:var(--ink);transform:scale(1.14)}.milestone.current:after{content:"";position:absolute;left:2px;right:2px;top:-5px;height:56px;border:1px dashed #9c6c62;border-radius:18px}.growth-page[data-track="community"] .milestone.current i{background:var(--green);border-color:#217a69}.milestone.future{opacity:.5}.growth-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.growth-actions>*{min-height:53px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;font-weight:800}.outline-action{border:1.5px solid #217a69;background:#fffdf8;color:#217a69}.filled-action{border:1.5px solid #217a69;background:#217a69;color:#fff}.preview-disclaimer{font-size:11px;line-height:1.5;text-align:center;color:#77736c;margin:16px 0 0}
.dialog-open{overflow:hidden}.ledger-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.ledger-backdrop{position:absolute;inset:0;width:100%;border:0;background:#17131285}.ledger-sheet{position:relative;width:min(100%,480px);max-height:82dvh;overflow:auto;background:var(--surface);border-radius:29px 29px 0 0;padding:24px 24px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #17131225}.ledger-sheet:before{content:"";display:block;width:45px;height:5px;border-radius:99px;background:#d7d1c8;margin:-9px auto 20px}.ledger-heading{display:flex;justify-content:space-between;align-items:start}.ledger-heading small{font-size:12px;font-weight:700;color:var(--muted)}.ledger-heading h2{font-size:25px;margin:4px 0 16px}.ledger-heading button{width:42px;height:42px;border:0;border-radius:50%;background:#f1ede6;font-size:20px}.ledger-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #e5dfd5}.ledger-dot{width:12px;height:12px;border-radius:50%;background:var(--coral);flex:none}.ledger-row div{display:grid;gap:4px;flex:1}.ledger-row strong{font-size:14px}.ledger-row small{color:var(--muted);font-size:12px}.ledger-row b{font:850 18px "Bricolage Grotesque",Arial,sans-serif}.ledger-sheet>p{font-size:12px;color:var(--muted);line-height:1.5}
.profile-page{background:var(--warm)}.profile-stage{display:grid;justify-items:center}.profile-stage-label{font:850 11px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.17em;color:#726b64;margin:14px 0 17px}.pn-preview-card{width:min(100%,350px);height:578px;perspective:1300px;cursor:pointer;outline:none}.pn-preview-card:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:22px}.pn-preview-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.pn-preview-card.flipped .pn-preview-card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;backface-visibility:hidden;border:2px solid #4c453d;border-radius:20px;overflow:hidden;background:#fffdf8;box-shadow:6px 8px 0 #17131213}.card-front{padding:12px 12px 0}.card-art{height:279px;border:1.5px solid #4c453d;border-radius:12px;overflow:hidden;position:relative;background:#b9d8ff}.card-art img{width:100%;height:100%;object-fit:cover;object-position:61% center;display:block}.art-corner{position:absolute;top:10px;left:10px;background:#fffdf8dd;border:1px solid #4c453d;border-radius:6px;padding:5px 7px;font:850 10px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.08em}.card-nameplate{margin:-21px auto 0;width:85%;min-height:66px;position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--pink);border:1.5px solid #4c453d;border-radius:14px}.card-nameplate img{width:45px;height:45px;border-radius:50%;object-fit:cover;border:1px solid #4c453d}.card-nameplate div{display:grid;gap:2px;flex:1}.card-nameplate strong{font-size:19px}.card-nameplate small{font-size:11px}.card-nameplate i{font-size:19px}.card-front-body{padding:10px 12px}.card-identity-line{margin:0 0 10px;display:flex;justify-content:space-between;font-size:11px;font-weight:850}.card-identity-line span{font:850 10px "Bricolage Grotesque",Arial,sans-serif;color:#736f69}.card-track-row{display:grid;grid-template-columns:70px 45px 1fr;align-items:center;gap:7px;margin:8px 0;font-size:11px;font-weight:800}.card-track-row strong{font:900 15px "Bricolage Grotesque",Arial,sans-serif}.card-track-bar{height:9px;border:1px solid #4c453d;border-radius:99px;overflow:hidden}.card-track-bar i{height:100%;display:block;background:var(--coral)}.card-track-row.community .card-track-bar i{background:var(--mint)}.card-tags{display:flex;gap:6px;margin-top:11px}.card-tags span{padding:5px 9px;border-radius:99px;background:#f6e8c7;border:1px solid #d8c5a2;font-size:11px;font-weight:800}.card-flip-hint{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;font-size:11px;color:#5d5952}.card-flip-hint i{font-size:16px}
.card-back{transform:rotateY(180deg);padding:19px 20px;background:#dcf4ec}.back-top{display:flex;justify-content:space-between;font:850 12px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.13em}.back-top i{font-size:20px}.back-intro{text-align:center;margin-top:17px}.back-avatar{width:82px;height:82px;display:block;margin:auto;border:2px solid #4c453d;border-radius:50%;overflow:hidden;background:#fff}.back-avatar img{width:100%;height:100%;object-fit:cover}.back-eyebrow{font:850 11px "Bricolage Grotesque",Arial,sans-serif;letter-spacing:.14em;margin:13px 0 3px}.back-intro h1{font-size:28px;margin:0}.back-intro>p:last-child{font-size:14px;line-height:1.45;margin:7px 0 0;font-weight:700}.back-divider{height:1px;background:#748579;margin:19px 0 15px}.back-section{margin:13px 0}.back-section strong{font-size:13px}.back-section p{font-size:12px;line-height:1.55;color:#3d4e45;margin:4px 0}.back-stats{display:flex;justify-content:space-between;background:#fffdf8a8;border:1px solid #b7cec3;border-radius:13px;padding:10px 14px;font-size:11px}.back-stats b{font:900 18px "Bricolage Grotesque",Arial,sans-serif}.back-actions{display:flex;gap:8px;margin:17px 0 11px}.back-actions button{min-height:43px;border-radius:99px;border:1px solid #217a69;background:#217a69;color:white;padding:0 12px;font-size:12px;font-weight:800;flex:1}.back-actions button:last-child{background:transparent;color:#217a69}.profile-help,.preview-status{max-width:350px;margin:18px 0 0;text-align:center;font-size:12px;line-height:1.5;color:var(--muted)}.preview-status{min-height:18px;color:#217a69;font-weight:700;margin:8px 0 0}
@media(max-width:760px){.preview-switch{position:sticky;top:0;right:auto;border-radius:0;justify-content:center;margin:0 auto;width:100%;box-shadow:0 1px 8px #17131212}.reference-page{min-height:calc(100dvh - 49px)}}@media(max-width:370px){.reference-page{padding-left:16px;padding-right:16px}.growth-medal{width:244px;height:244px}.growth-summary{padding-top:16px}.growth-milestones{margin:25px 0 23px}.pn-preview-card{height:572px}.card-art{height:273px}}@media(prefers-reduced-motion:reduce){.preview-shell *,.preview-shell *:before,.preview-shell *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.pn-preview-card-inner{transform:none!important}.card-back{display:none;transform:none}.pn-preview-card.flipped .card-front{display:none}.pn-preview-card.flipped .card-back{display:block}}

