:root{--ink:#191512;--paper:#f7f1e7;--white:#fffdf8;--clay:#c1663a;--clay-dark:#7a3d1f;--gold:#d5a64a;--sage:#6f8061;--green:#315c48;--plum:#65445e;--line:rgba(25,21,18,.13);--muted:#776f66;--shadow:0 18px 45px rgba(59,40,23,.10);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{min-height:80px;padding:14px clamp(18px,4vw,58px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:rgba(247,241,231,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--white);font-weight:900;letter-spacing:-.05em}.brand-mark svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:var(--muted);letter-spacing:.03em}.top-nav{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:700}.top-nav a:hover{color:var(--clay-dark)}.profile-link{padding-left:18px;border-left:1px solid var(--line)}.page-shell{width:min(1260px,calc(100% - 36px));margin:0 auto;padding:46px 0 80px}.site-footer{display:flex;justify-content:space-between;padding:28px clamp(18px,4vw,58px);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:.96;letter-spacing:-.045em;margin-bottom:20px}h2{font-family:Georgia,serif;font-size:30px;line-height:1.05;letter-spacing:-.025em}h3{font-size:19px;line-height:1.2}.eyebrow,section small,.section-title small{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--clay-dark)}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:999px;padding:12px 20px;font-weight:900;cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(25,21,18,.15)}.button.ghost{background:transparent;color:var(--ink)}.button.small{padding:8px 14px;font-size:13px}.button.large{padding:15px 24px}.button-row,.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.flash{padding:14px 18px;border-radius:16px;margin-bottom:22px;font-weight:800}.flash.success{background:#dfeadd;color:#23452e}.flash.error{background:#f4d8d1;color:#722c20}.flash.warning{background:#f4e8c8;color:#69511c}.hero{min-height:620px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px}.hero p{font-size:20px;max-width:690px;color:#4f4942}.hero-orbit{position:relative;width:min(440px,90vw);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;margin:auto}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;inset:12%}.hero-orbit:after{inset:28%}.orbit{position:absolute;inset:34%;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--ink);color:white;font-weight:900;letter-spacing:.08em}.orbit-node{position:absolute;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);font-weight:900}.orbit-node.one{top:-10px;left:42%}.orbit-node.two{right:-12px;top:40%}.orbit-node.three{bottom:-10px;left:42%}.orbit-node.four{left:-12px;top:40%}.split-feature{padding:70px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:44px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.route-grid article{padding:32px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.route-grid article span{font-family:Georgia,serif;font-size:54px;color:var(--clay)}.community-band,.community-wall{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:white;border-radius:var(--radius);overflow:hidden}.community-band>div,.community-wall>div{padding:28px;border-right:1px solid rgba(255,255,255,.15)}.community-band strong,.community-wall strong{display:block;font-family:Georgia,serif;font-size:34px}.community-band span,.community-wall span{color:#d8d0c7;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.auth-shell{min-height:65vh;display:grid;place-items:center}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.panel.narrow{width:min(520px,100%)}label{display:block;font-size:13px;font-weight:800;margin-bottom:16px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:white;color:var(--ink)}textarea{resize:vertical}.page-head,.dashboard-head,.detail-hero,.book-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.page-head>div:first-child,.dashboard-head>div:first-child{max-width:800px}.page-head p,.dashboard-head p,.detail-hero p,.book-hero p{font-size:18px;color:#585149}.page-head.compact{margin-bottom:26px}.dashboard-head h1{margin-bottom:8px}.rank-strip{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:var(--clay-dark);color:white;padding:26px 30px;border-radius:var(--radius);margin-bottom:30px}.rank-strip p{margin-bottom:4px;color:#f0ddd2}.rank-seal{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;font-family:Georgia,serif;font-size:34px;font-weight:900}.rank-strip .button{border-color:white;color:white}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:42px}.metric-circle{aspect-ratio:1;border-radius:50%;padding:10px;background:conic-gradient(var(--clay) calc(var(--p)*1%),rgba(25,21,18,.09) 0);display:grid;place-items:center}.metric-inner{width:100%;height:100%;border-radius:50%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.metric-inner strong{font-family:Georgia,serif;font-size:clamp(22px,3vw,40px)}.metric-inner span{font-weight:900}.metric-inner small{margin-top:4px;color:var(--muted);text-transform:none;letter-spacing:0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:44px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:36px 0 18px}.section-title h1,.section-title h2{margin-bottom:0}.section-title>a{font-weight:900;font-size:13px}.move-list,.guide-list{display:grid;gap:10px}.move-list a,.guide-list a{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:17px}.move-list strong,.move-list small,.guide-list span,.guide-list strong{display:block}.move-list small,.guide-list span{font-size:11px;color:var(--muted)}.move-dot{width:18px;height:18px;border-radius:50%;border:4px solid var(--gold)}.quest-row{display:block;background:var(--white);border:1px solid var(--line);padding:16px;border-radius:17px;margin-bottom:10px}.quest-row>div{display:flex;justify-content:space-between}.quest-row small{color:var(--muted);text-transform:none;letter-spacing:0}.progress{height:8px;border-radius:999px;background:rgba(25,21,18,.1);overflow:hidden;margin-top:12px}.progress span{display:block;height:100%;border-radius:inherit;background:var(--clay)}.empty{background:rgba(255,255,255,.45);border:1px dashed var(--line);border-radius:18px;padding:25px;color:var(--muted)}.empty.wide{grid-column:1/-1;text-align:center;padding:55px}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.record-card{background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;height:100%}.record-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.record-body{padding:20px}.record-top,.record-values{display:flex;justify-content:space-between;gap:12px;align-items:center}.record-top time{font-size:12px;color:var(--muted)}.pill{background:#eee1d5;color:var(--clay-dark);border-radius:999px;padding:5px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.tag-row span,.tag-row a{font-size:11px;padding:6px 9px;background:rgba(25,21,18,.06);border-radius:999px}.record-values{font-size:11px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.record-wrap{position:relative}.delete-form{position:absolute;top:12px;right:12px}.delete-form button{border:0;background:rgba(255,255,255,.85);border-radius:999px;padding:6px 9px;font-size:11px;cursor:pointer}.branch-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.branch-filter button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:8px 13px;font-weight:800;cursor:pointer}.branch-filter button.active{background:var(--ink);color:white}.skill-map{display:grid;gap:26px;min-width:0}.skill-branch{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0;overflow:hidden}.branch-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.branch-heading>span{width:52px;height:52px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px}.branch-heading h2{margin:0}.node-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:14px;width:100%;min-width:0;padding:8px 4px 18px}.skill-node{min-width:0;max-width:none;position:relative;text-align:center;padding:12px;overflow-wrap:anywhere}.skill-node:not(:last-child):after{display:none}.node-circle{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;border:2px solid var(--line);font-weight:900;font-size:19px;background:var(--paper)}.skill-node.done .node-circle{background:var(--green);border-color:var(--green);color:white}.skill-node.available .node-circle{border-color:var(--clay);box-shadow:0 0 0 6px rgba(193,102,58,.12)}.skill-node.future{opacity:.48}.skill-node strong,.skill-node small{display:block}.skill-node small{color:var(--muted);text-transform:none;letter-spacing:0}.detail-hero{align-items:center;background:var(--white);border:1px solid var(--line);padding:34px;border-radius:var(--radius)}.detail-mark{width:110px;height:110px;flex:0 0 110px;border-radius:50%;display:grid;place-items:center;background:var(--clay);color:white;font-family:Georgia,serif;font-size:36px;font-weight:900}.detail-mark.done{background:var(--green)}.detail-hero>div:nth-child(2){flex:1}.detail-hero h1{font-size:clamp(38px,5vw,64px)}.quest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quest-card{min-height:270px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column}.quest-card.featured{background:var(--ink);color:white}.quest-card.featured p,.quest-card.featured small{color:#d8d0c7}.quest-card .progress{margin-top:auto}.quest-meta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--clay)}.quest-steps{display:grid;gap:14px}.quest-step{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px}.quest-step.done{background:#e5ecdf}.step-number{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--clay);font-weight:900}.quest-step.done .step-number{background:var(--green);border-color:var(--green);color:white}.complete-word{color:var(--green)}.record-form{display:grid;gap:22px}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.check-card{display:flex;align-items:flex-start;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px;margin:0}.check-card input{width:auto;margin:4px 0 0}.check-card strong,.check-card small{display:block}.check-card small{color:var(--muted);text-transform:none;letter-spacing:0}.inline-check{display:flex;align-items:center;gap:9px}.inline-check input{width:auto;margin:0}.value-preview{padding:14px 18px;border-radius:15px;background:var(--ink);color:white;margin:2px 0 18px}.ledger-totals{display:grid;grid-template-columns:repeat(5,1fr);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:28px;overflow:hidden}.ledger-totals>div{padding:22px;border-right:1px solid var(--line)}.ledger-totals strong,.ledger-totals small{display:block}.ledger-totals strong{font-family:Georgia,serif;font-size:25px}.library-set{margin-bottom:44px}.book-grid,.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.book-card,.video-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px;min-height:220px}.book-card>span,.video-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--clay)}.video-placeholder{height:110px;border-radius:15px;background:var(--ink);color:white;display:grid;place-items:center;font-size:28px;margin-bottom:18px}.book-hero{align-items:center}.book-cover{width:240px;aspect-ratio:11/17;background:var(--clay);color:white;padding:22px;display:flex;flex-direction:column;border-radius:8px;box-shadow:var(--shadow)}.book-cover strong{font-family:Georgia,serif;font-size:34px;line-height:1;margin:auto 0}.book-cover span{font-size:11px;letter-spacing:.14em}.book-hero>div:last-child{flex:1}.rank-path{display:grid;gap:15px}.rank-card{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(255,255,255,.45);opacity:.65}.rank-card.earned{background:var(--white);opacity:1}.requirement-row{display:flex;gap:8px;flex-wrap:wrap}.requirement-row span{font-size:11px;background:var(--paper);padding:6px 9px;border-radius:999px}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.achievement{padding:20px;border:1px solid var(--line);border-radius:18px;opacity:.45}.achievement.earned{opacity:1;background:var(--white)}.achievement>span{font-size:26px;color:var(--gold)}.community-wall{grid-template-columns:repeat(4,1fr)}.community-wall>div{min-height:155px}.community-wall strong{font-size:42px}.profile-form{max-width:780px}.share-box{display:flex;align-items:center;gap:14px;background:var(--ink);color:white;padding:18px;border-radius:18px;margin-top:20px;overflow:auto}.share-box code{flex:1}.public-profile{text-align:center;max-width:900px;margin:20px auto}.rank-seal.large{width:120px;height:120px;margin:0 auto 24px}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:28px}.admin-nav{display:flex;flex-direction:column;gap:7px;position:sticky;top:105px;align-self:start}.admin-nav strong{margin-bottom:14px}.admin-nav a{padding:10px 12px;border-radius:12px;font-weight:800}.admin-nav a.active{background:var(--ink);color:white}.admin-main{min-width:0}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.admin-stat-grid>div{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px}.admin-stat-grid small,.admin-stat-grid strong{display:block}.admin-stat-grid strong{font-family:Georgia,serif;font-size:30px}.admin-stat-grid .small-value{font-size:14px;font-family:inherit}.admin-table{display:grid;gap:8px}.admin-table.boxed{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:8px}.admin-row,.admin-table>div{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:16px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.admin-row:last-child,.admin-table>div:last-child{border-bottom:0}.admin-row small,.admin-table small{display:block;color:var(--muted);text-transform:none;letter-spacing:0}.admin-form{margin-bottom:26px}.code-area,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}code{display:block;background:rgba(25,21,18,.06);padding:10px;border-radius:10px;overflow:auto}@media(max-width:1000px){.top-nav a:not(.button):not(.profile-link){display:none}.hero{grid-template-columns:1fr}.hero-orbit{width:360px}.metric-grid,.quest-grid,.record-grid,.book-grid,.video-grid{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}.community-band,.community-wall{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;overflow:auto}.admin-nav strong{display:none}}@media(max-width:700px){.skill-branch{padding:18px}.node-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skill-node{padding:10px 6px}.node-circle{width:52px;height:52px}.page-shell{width:min(100% - 24px,1260px);padding-top:28px}.site-header{min-height:68px}.brand small{display:none}.top-nav{gap:8px}.profile-link{display:none}.hero{min-height:auto;padding:45px 0}.hero-orbit{width:290px}.orbit-node{width:72px;height:72px;font-size:12px}.split-feature,.content-grid{grid-template-columns:1fr}.route-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.record-grid,.quest-grid,.book-grid,.video-grid,.achievement-grid{grid-template-columns:1fr}.page-head,.dashboard-head,.detail-hero,.book-hero{align-items:flex-start;flex-direction:column}.rank-strip{grid-template-columns:auto 1fr}.rank-strip>.button{grid-column:1/-1}.detail-mark{width:80px;height:80px;flex-basis:80px}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.quest-step{grid-template-columns:auto 1fr}.quest-step>.button,.complete-word{grid-column:2}.ledger-totals{grid-template-columns:repeat(2,1fr)}.book-cover{width:190px}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-row,.admin-table>div{grid-template-columns:1fr auto}.admin-row>*:nth-child(3){display:none}}
@media(max-width:420px){.node-line{grid-template-columns:1fr}}.edit-record{position:absolute;top:12px;right:76px;background:rgba(255,255,255,.9);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;z-index:2}.edit-record:hover{background:var(--ink);color:#fff}
