:root{--paper:#f7f5ee;--ink:#263d35;--muted:#68716a;--line:#d9dfd3;--accent:#dca170}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer;border:1px solid var(--line);background:transparent;color:inherit;padding:10px 18px;border-radius:7px}button:hover,.pill.active{background:#e2e8db}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{letter-spacing:2px;font-size:12px;display:flex;gap:8px;align-items:center}.mark{font-size:37px;line-height:1;color:#56745c}nav{display:flex;gap:32px}nav a.active{border-bottom:2px solid var(--ink)}.notice{padding:9px 5%;background:#e9eddf;font-size:10px;letter-spacing:1.3px;display:flex;gap:20px;align-items:center}.notice span{font-size:12px;letter-spacing:0}.notice a{margin-left:auto}main{max-width:1300px;margin:auto;padding:48px 5% 70px;min-height:75vh}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#687e68}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:66px;margin:20px 0}h2{font-size:34px;margin:14px 0}h3{font-size:25px;margin:13px 0}p{color:var(--muted)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding:10px 0 42px}.hero p{font-size:17px;max-width:540px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#41604e}.hero-art{height:320px;position:relative;overflow:hidden;border-radius:180px 180px 12px 12px;background:#e8eadd;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #9aaa91;border-radius:50%;width:250px;height:250px;transform:rotate(-25deg) scaleX(.7)}.orbit:nth-child(2){transform:rotate(40deg) scaleX(.6);width:320px;height:320px}.orbit:nth-child(3){transform:rotate(100deg) scaleX(.6);width:330px;height:330px}.orb{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e0bd8b,#b77c4e);box-shadow:20px 20px 50px #87957955}.art-label{position:absolute;bottom:18px;letter-spacing:3px;font-size:10px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-top:25px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.pill{border-radius:30px;padding:7px 16px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:10px;padding:25px;background:#fcfbf6;text-align:left;display:flex;flex-direction:column;min-height:240px;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card .symbol{font-size:29px;color:#839774;margin-bottom:15px}.card p{font-size:14px;flex:1}.card .meta{font-size:11px;letter-spacing:1px;color:#788272}.search{width:100%;max-width:330px;background:transparent;border:0;border-bottom:1px solid #a9b8a5;padding:12px 2px}.band{margin-top:35px;padding:28px;background:#e8eddf;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px}.band h3{margin:0}.subtitle{max-width:730px}.back{font-size:13px}.reading{max-width:900px;margin:auto}.reading h1{font-size:48px}.perspectives{display:grid;grid-template-columns:1fr 1fr;gap:18px}.perspective{padding:24px;border:1px solid var(--line);border-radius:8px}.source{font-size:12px;text-decoration:underline}.prompt{padding:25px;background:#e8eddf;margin:25px 0;border-radius:8px}textarea,input[type=text],input[type=password]{display:block;width:100%;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fffdf7;color:var(--ink)}textarea{min-height:160px;resize:vertical}label{display:block;margin:16px 0 6px;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.atlas{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.map{background:#e9eddf;border-radius:10px;padding:10px;overflow:auto}.map svg{width:100%;min-width:520px;height:490px}.map text{font:12px system-ui;fill:var(--ink)}.map .node{cursor:pointer}.map .node:hover circle,.map .node:focus circle{stroke:#b87843;stroke-width:4}.detail{padding:25px;border:1px solid var(--line);border-radius:10px}.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:12px}.edge-row{padding:12px 0;border-top:1px solid var(--line);font-size:14px}.empty{padding:60px 25px;text-align:center;border:1px dashed #a2b299;border-radius:10px}.small{font-size:12px;color:var(--muted)}footer{padding:25px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);max-width:510px;width:90%;padding:35px}dialog::backdrop{background:#132c2466;backdrop-filter:blur(4px)}.close{float:right;border:0;font-size:22px;padding:0 6px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:12px 22px;display:none;z-index:5}.entry{padding:20px;border:1px solid var(--line);border-radius:8px;margin:15px 0}.entry p{white-space:pre-wrap}.danger{color:#953f2d}.error{color:#953f2d;font-size:13px}.timeline{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.timeline button{flex:1;font-size:12px}.reading li{margin:12px 0}@media(max-width:800px){header{flex-wrap:wrap;padding:18px 5%}nav{order:3;width:100%;gap:25px}.notice{flex-wrap:wrap;gap:5px}.notice a{display:none}h1{font-size:44px}.hero{grid-template-columns:1fr;gap:20px}.hero-art{height:210px}.grid{grid-template-columns:1fr 1fr}.atlas,.perspectives{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:12px}.band,footer{align-items:start;flex-direction:column}.reading h1{font-size:38px}}@media(max-width:500px){.grid{grid-template-columns:1fr}.brand{font-size:10px}header button{font-size:12px}.hero-art{height:170px}}
.context-picker{background:#eeeee3;border:1px solid var(--line);border-radius:12px;padding:28px;margin:0 0 35px}.context-picker .section-head{margin:0;align-items:center;gap:20px}.context-picker h2{font-size:30px}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.chapter{background:#fbfaf3;text-align:left;padding:15px}.chapter.active{background:var(--ink);color:white;border-color:var(--ink)}.chapter-note{min-height:48px}.context-picker select{width:100%;max-width:380px;padding:12px;border:1px solid #a5b59e;border-radius:6px;color:var(--ink);background:var(--paper)}.framework-nav{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.framework-nav a{border:1px solid var(--line)}.framework-panel{padding:30px;border:1px solid var(--line);border-radius:12px;background:#fcfbf6}.framework-panel>p{max-width:850px}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.concept{padding:18px;border-radius:8px;background:#edf0e4}.concept h3{font-size:21px}.concept p{font-size:13px;margin-bottom:0}.concept-number{color:#607859;font-size:11px;letter-spacing:2px}.framework-limit{border-left:3px solid #bf946a;padding:4px 20px;margin:28px 0}.framework-limit h3{font-size:24px}.framework-limit p{max-width:850px}header nav{gap:22px;font-size:14px}@media(max-width:800px){header nav{flex-wrap:wrap;gap:15px}.chapter-grid,.concept-grid{grid-template-columns:1fr 1fr}.context-picker{padding:22px}.context-picker .section-head{align-items:start}.framework-panel{padding:22px}}@media(max-width:500px){.chapter-grid,.concept-grid{grid-template-columns:1fr}.chapter-note{min-height:0}}
.welcome{max-width:1000px;margin:10px auto}.welcome h1{font-size:58px}.welcome>p{max-width:770px}.welcome .welcome-intro{font:28px Georgia,serif;color:var(--ink);margin-bottom:8px}.age-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.age-card{text-align:left;background:#fdfcf7;padding:24px;position:relative;min-height:175px;transition:transform .2s}.age-card:hover{transform:translateY(-3px);background:#e7eddf}.age-card>span:first-child{font:32px Georgia,serif}.age-card p{font-size:14px;margin:12px 22px 0 0}.age-arrow{position:absolute;right:18px;bottom:16px;color:#738669}@media(max-width:800px){.age-grid{grid-template-columns:repeat(2,1fr)}.welcome h1{font-size:44px}}@media(max-width:450px){.age-card{padding:18px;min-height:165px}.welcome h1{font-size:38px}.age-card p{font-size:12px;margin-right:5px}}
