:root{--cream:#fff8ec;--paper:#fff;--sun:#ffc23c;--sky:#3fa9e8;--leaf:#5cb86b;--coral:#ff6f5e;--soil:#9c6a3f;--plum:#8e6bc7;--ink:#3a2f2a;--ink-soft:#6e5f58;--ring:#3a2f2a24;--display:"Segoe UI", system-ui, sans-serif;--body:"Segoe UI", system-ui, sans-serif;color:var(--ink);background:linear-gradient(120deg, #ffc23c2e, transparent 32%), linear-gradient(240deg, #3fa9e829, transparent 28%), var(--cream);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{transition:transform .14s,border-color .14s,background .14s}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #3fa9e880}.app-shell{min-height:100vh;padding:24px}.topbar{grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:24px;width:min(1520px,100%);margin:0 auto 22px;display:grid}.eyebrow,.graph-kicker{color:var(--soil);text-transform:uppercase;align-items:center;gap:8px;margin:0 0 10px;font-size:.82rem;font-weight:800;display:inline-flex}h1,h2,h3,p{margin-top:0}h1{max-width:900px;color:var(--ink);font-family:var(--display);margin-bottom:10px;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.02}.intro{max-width:810px;color:var(--ink-soft);font-weight:650}.status-card{border:1px solid var(--ring);background:var(--paper);color:var(--ink);border-radius:8px;align-items:center;gap:12px;padding:16px;font-weight:750;display:flex;box-shadow:0 10px 30px #3a2f2a14}.status-card svg{color:var(--leaf);flex:none}.workspace{grid-template-columns:270px minmax(560px,1fr) 310px;align-items:stretch;gap:18px;width:min(1520px,100%);margin:0 auto;display:grid}.sidebar,.detail-panel,.content-panel{border:1px solid var(--ring);background:#fffffff0;border-radius:8px;box-shadow:0 16px 36px #3a2f2a14}.sidebar,.detail-panel{padding:16px}.content-panel{overflow:hidden}.panel-title{color:var(--ink);align-items:center;gap:10px;margin-bottom:12px;display:flex}.panel-title h2{margin:0;font-size:1.15rem}.chapter-title{margin-top:22px}.page-nav{gap:8px;display:grid}.page-nav button,.graph-tools button,.chapter-button,.primary-action,.mark-button{border:1px solid var(--ring);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px}.page-nav button{text-align:left;align-items:center;gap:9px;width:100%;padding:10px 12px;font-weight:800;display:flex}.page-nav button.active,.chapter-button.active,.graph-tools button.active{border-color:var(--sky);background:#eaf7ff}.chapter-button{text-align:left;gap:4px;width:100%;margin-bottom:10px;padding:12px;display:grid}.chapter-button span{font-weight:800}.chapter-button small{color:var(--ink-soft);font-weight:700}.search-box{border:1px solid var(--ring);background:var(--paper);border-radius:8px;align-items:center;gap:8px;margin:18px 0 0;padding:10px 12px;display:flex}.search-box input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.graph-header{border-bottom:1px solid var(--ring);justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.graph-header h2{color:var(--ink);margin:0;font-size:1.6rem}.graph-kicker{text-transform:none;margin-bottom:5px}.metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.metrics span{background:var(--cream);min-width:82px;color:var(--ink-soft);text-align:center;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:800;display:grid}.metrics strong{color:var(--ink);font-size:1.2rem}.graph-tools{border-bottom:1px solid var(--ring);background:#fffdf8;flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.graph-tools button{align-items:center;gap:7px;padding:8px 10px;font-size:.86rem;font-weight:850;display:inline-flex}.graph-stage{height:min(68vh,720px);min-height:560px}.knowledge-graph{cursor:grab;background-color:#fffdf8;background-image:linear-gradient(90deg,#3a2f2a0a 1px,#0000 1px),linear-gradient(#3a2f2a0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:100%;min-height:560px;display:block}.graph-link{stroke:#b9b0aa;stroke-opacity:.72}.edge-label{pointer-events:none;paint-order:stroke;stroke:#fffdf8;stroke-width:5px;fill:var(--ink-soft);text-anchor:middle;font-size:10px;font-weight:800}.graph-node{cursor:pointer;outline:none}.graph-node circle{stroke:#fff;stroke-width:4px;filter:drop-shadow(0 6px 8px #3a2f2a2e)}.graph-node.is-selected circle,.graph-node:focus-visible circle{stroke:var(--ink);stroke-width:5px}.node-emoji{pointer-events:none;text-anchor:middle;font-size:22px}.node-label{pointer-events:none;fill:var(--ink);text-anchor:middle;font-size:11px;font-weight:900}.detail-panel{color:var(--ink)}.node-kind{color:#fff;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.node-kind.subject{background:var(--sun)}.node-kind.chapter{background:var(--sky)}.node-kind.concept{background:var(--leaf)}.node-kind.keyword{background:var(--coral)}.node-kind.example{background:var(--plum)}.detail-panel h2{align-items:center;gap:10px;margin:16px 0 10px;font-size:1.55rem;line-height:1.1;display:flex}.detail-panel p{color:var(--ink-soft);font-weight:650}.detail-chip{background:var(--cream);color:var(--ink-soft);border-radius:8px;gap:3px;margin:18px 0;padding:12px;font-size:.8rem;font-weight:800;display:grid}.detail-chip strong{color:var(--ink);font-size:1rem}.mark-button,.primary-action{justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:900;display:inline-flex}.mark-button{width:100%;margin:4px 0 16px}.mark-button.done,.keyword-list button.done{border-color:var(--leaf);background:#eaf8ed}.relations,.path-box{margin-top:18px}.relations h3,.path-box h3{margin-bottom:10px;font-size:1rem}.relations button,.path-box button{border:1px solid var(--ring);background:var(--paper);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;gap:3px;margin-bottom:8px;padding:10px;display:grid}.relations button span{color:var(--coral);text-transform:uppercase;font-size:.76rem;font-weight:900}.relations button strong,.path-box button strong{font-size:.95rem}.path-box button span{color:var(--soil);font-size:.82rem;font-weight:900}.page-view{gap:18px;padding:18px;display:grid}.page-intro{border-bottom:1px solid var(--ring);padding-bottom:14px}.page-intro h2{color:var(--ink);margin-bottom:8px;font-size:clamp(1.7rem,3vw,2.6rem)}.page-intro p:last-child{max-width:780px;color:var(--ink-soft);font-weight:700}.section-band{border:1px solid var(--ring);background:#fffdf8;border-radius:8px;padding:16px}.section-band h3{margin-bottom:8px}.section-band p{color:var(--ink-soft);font-weight:650}.simple-map-section{grid-template-columns:minmax(360px,1fr) minmax(260px,.75fr);align-items:stretch;gap:16px;display:grid}.simple-map,.simple-explain,.story-chain-section{border:1px solid var(--ring);background:#fffdf8;border-radius:8px}.simple-map{min-height:460px;position:relative;overflow:hidden}.chapter-hub{background:var(--sun);width:176px;height:176px;color:var(--ink);text-align:center;border:5px solid #fff;border-radius:50%;place-items:center;padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 28px #3a2f2a24}.chapter-hub span{font-size:2.4rem}.chapter-hub strong{max-width:130px;font-size:1rem;line-height:1.15}.concept-ring button{background:var(--paper);width:136px;min-height:104px;color:var(--ink);text-align:center;cursor:pointer;transform:translate(-50%, -50%) rotate(var(--angle)) translate(0, -172px) rotate(var(--counter-angle));border:2px solid #3a2f2a1f;border-radius:8px;place-items:center;padding:12px;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 8px 18px #3a2f2a1a}.concept-ring button.active{border-color:var(--sky);background:#eaf7ff}.concept-ring button span{font-size:2rem;line-height:1}.concept-ring button strong{font-size:.9rem;line-height:1.15}.simple-explain{padding:18px}.map-step{background:var(--cream);color:var(--soil);border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.simple-explain h3{align-items:center;gap:10px;margin-bottom:8px;font-size:1.6rem;display:flex}.simple-explain p{color:var(--ink-soft);font-weight:700}.mini-keywords{gap:8px;margin-top:18px;display:grid}.mini-keywords button{border:1px solid var(--ring);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px;font-weight:850;display:flex}.mini-keywords button.done{border-color:var(--leaf);background:#eaf8ed}.story-chain-section{padding:16px}.story-chain-section h3{margin-bottom:12px}.story-chain-list{gap:10px;display:grid}.story-chain-list button{border:1px solid var(--ring);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;gap:10px;padding:14px;display:grid}.story-chain-list button>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.story-chain-list i{background:var(--cream);min-height:38px;color:var(--ink);border-radius:999px;align-items:center;padding:8px 10px;font-style:normal;font-weight:850;display:inline-flex}.story-chain-list i:not(:last-child):after{content:">";color:var(--coral);margin-left:8px;font-weight:950}.card-grid{gap:12px;display:grid}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-card{border:1px solid var(--ring);background:var(--paper);border-radius:8px;min-height:160px;padding:16px}.learning-card.compact{min-height:124px}.learning-card>span{margin-bottom:8px;font-size:1.8rem;display:inline-flex}.learning-card h3{margin-bottom:8px}.learning-card p{color:var(--ink-soft);font-weight:650}.flashcard{align-content:start;display:grid}.flashcard button{border:1px solid var(--ring);background:var(--cream);width:max-content;color:var(--ink);cursor:pointer;border-radius:8px;align-self:end;margin-top:10px;padding:8px 10px;font-weight:850}.keyword-list{flex-wrap:wrap;gap:8px;display:flex}.keyword-list button{border:1px solid var(--ring);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-weight:850;display:inline-flex}.path-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.path-row button,.chain-card{border:1px solid var(--ring);background:var(--paper);color:var(--ink);text-align:left;border-radius:8px;gap:6px;padding:12px;display:grid}.path-row button{cursor:pointer}.path-row span,.chain-card span{color:var(--ink-soft);font-size:.9rem;font-weight:750}.parent-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.parent-summary div{background:var(--cream);color:var(--ink-soft);text-align:center;border-radius:8px;gap:4px;padding:16px;font-weight:850;display:grid}.parent-summary strong{color:var(--ink);font-size:2rem}.primary-action{background:var(--ink);color:#fff;margin-top:14px}.quiz-list{gap:12px;display:grid}.quiz-list article{background:var(--paper);border-radius:8px;gap:10px;padding:12px;display:grid}.quiz-list article div{flex-wrap:wrap;gap:8px;display:flex}.quiz-list button{border:1px solid var(--ring);background:var(--cream);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 10px;font-weight:850}.quiz-list button.correct{border-color:var(--leaf);background:#eaf8ed}.quiz-list button.wrong{border-color:var(--coral);background:#fff0ef}.prompt-list{color:var(--ink-soft);gap:8px;margin:0;padding-left:20px;font-weight:750;display:grid}.review-lane{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.review-step{border:1px solid var(--ring);background:var(--paper);border-radius:8px;min-height:170px;padding:14px}.review-step span{background:var(--cream);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:12px;font-weight:950;display:inline-grid}.review-step.done{border-color:#5cb86b80}.review-step.done span{background:var(--leaf);color:#fff}.review-step.active{border-color:#ffc23ccc}.review-step.active span{background:var(--sun)}.review-step.pending{opacity:.76}.review-step h3{margin-bottom:8px}.review-step p{color:var(--ink-soft);font-weight:650}@media (width<=1240px){.topbar{grid-template-columns:1fr}.workspace{grid-template-columns:260px minmax(0,1fr)}.detail-panel{grid-column:1/-1}.review-lane,.card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.app-shell{padding:14px}.workspace,.simple-map-section,.card-grid.two,.card-grid.three,.path-row,.parent-summary,.review-lane{grid-template-columns:1fr}.simple-map{min-height:600px}.concept-ring button{width:120px;transform:translate(-50%, -50%) rotate(var(--angle)) translate(0, -218px) rotate(var(--counter-angle))}.graph-header{flex-direction:column;align-items:flex-start}.metrics{justify-content:flex-start}}
