:root{--bg:#0B0B0E;--panel:#141419;--panel2:#1b1c23;--text:#F8F8FA;--muted:#aaaab9;--line:#303038;--accent:#C91E34;--accent-soft:rgba(201,30,52,.13);--ok:#54d3a1;--warn:#efc779;--shadow:0 18px 65px rgba(0,0,0,.28);--sidebar:58px;--radius:18px;color-scheme:dark}
:root[data-theme=light]{--bg:#F8F8FA;--panel:#FFFFFF;--panel2:#f0f0f4;--text:#16151d;--muted:#606070;--line:#dedee5;--accent:#C91E34;--accent-soft:rgba(201,30,52,.08);--ok:#127451;--warn:#97710e;--shadow:0 12px 40px rgba(35,25,32,.09);color-scheme:light}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:105px} body{background:var(--bg);color:var(--text);margin:0;font:16px/1.66 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,textarea,select{font:inherit} button{cursor:pointer}a{color:inherit}a:hover{color:var(--accent)}:focus-visible{outline:3px solid #ef5668;outline-offset:3px}::selection{background:#a63247aa;color:#fff}
#app{min-height:100vh}.layout{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.layout.pinned{--sidebar:268px}.sidebar{z-index:40;position:sticky;top:0;height:100vh;width:var(--sidebar);overflow:hidden;background:var(--panel);border-right:1px solid var(--line);transition:width .2s, box-shadow .2s;display:flex;flex-direction:column}.sidebar:hover,.sidebar:focus-within{width:268px;box-shadow:var(--shadow)}.layout.pinned .sidebar{width:268px}.nav-brand{display:flex;gap:13px;align-items:center;height:76px;padding:0 13px;white-space:nowrap}.logo{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:var(--accent);border-radius:11px;color:#fff;font-size:21px;font-weight:900}.brand-name{font-weight:800;letter-spacing:.02em;line-height:1.1}.brand-sub{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:4px}.nav-items{padding:12px 7px;display:grid;gap:5px;overflow:auto}.navbtn{display:flex;align-items:center;gap:17px;width:100%;border:0;color:var(--muted);background:transparent;border-radius:11px;padding:10px 12px;text-align:left;white-space:nowrap;font-size:14px}.navbtn .sym{width:18px;text-align:center;flex:0 0 18px;font-size:18px}.navbtn .label{font-weight:620}.navbtn:hover,.navbtn.active{background:var(--accent-soft);color:var(--text)}.navbtn.active .sym{color:#ee4d60}.nav-separator{border-top:1px solid var(--line);margin:12px 6px}.side-foot{margin-top:auto;padding:9px 7px 15px}.side-note{display:flex;gap:14px;color:var(--muted);white-space:nowrap;padding:10px 14px;font-size:11px}.side-note>span:first-child{font-weight:800;color:var(--accent)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 clamp(18px,3vw,42px);background:color-mix(in srgb,var(--bg) 90%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.crumb{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:13px}.crumb strong{color:var(--text)}.topbtn{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:8px 12px;border-radius:10px;white-space:nowrap;font-size:13px;font-weight:650}.topbtn:hover{border-color:var(--accent)}.topbtn.red{background:var(--accent);border-color:var(--accent);color:#fff}.main{min-width:0}.surface{max-width:1280px;margin:0 auto;padding:clamp(20px,3vw,45px)}.section-kicker{color:#ea6172;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:750}.hero{padding:35px 0 20px}.hero h1{font:700 clamp(40px,6.2vw,78px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.04em;max-width:930px;margin:12px 0 15px}.hero h1 em{font-style:italic;color:#e44054}.subtitle{color:var(--muted);max-width:730px;font-size:17px;line-height:1.7}.hero-dots{position:relative;overflow:hidden}.hero-dots:after{content:'❤';position:absolute;right:2%;top:-35px;color:rgba(201,30,52,.09);font-size:260px;z-index:-1;transform:rotate(-12deg)}.stats{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-num{font-size:24px;font-weight:800}.stat-label{display:block;color:var(--muted);font-size:12px}.eyebrowrow{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:28px 0 15px}.eyebrowrow h2{font:650 24px Georgia,serif;margin:0}.case-card{border:1px solid var(--line);background:var(--panel);border-radius:22px;padding:29px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;box-shadow:var(--shadow);max-width:980px}.case-card h3{font:700 clamp(24px,3vw,36px) Georgia,serif;margin:8px 0 12px}.case-card p{color:var(--muted);max-width:690px}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid var(--line);font-size:11px;color:var(--muted);padding:3px 9px;border-radius:999px}.action{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:12px;padding:11px 17px;font-size:14px;font-weight:700;text-decoration:none}.action:hover{filter:brightness(1.12);color:#fff}.action.secondary{background:var(--panel2);border-color:var(--line);color:var(--text)}.action.small{padding:8px 12px;font-size:12px}.action:disabled,button:disabled{opacity:.5;cursor:not-allowed}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}.mini-card{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:16px;text-align:left;display:grid;gap:7px}.mini-card:hover{border-color:var(--accent)}.mini-card strong{font-size:16px}.mini-card small{color:var(--muted)}.muted{color:var(--muted)}.warnline{border-left:3px solid var(--warn);padding:11px 14px;background:color-mix(in srgb,var(--warn) 8%,transparent);border-radius:0 12px 12px 0;color:var(--text);font-size:14px;margin:15px 0}.infobox{padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);margin:15px 0}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.space{justify-content:space-between}.divider{height:1px;background:var(--line);margin:22px 0}.book-page{max-width:1000px;margin:auto}.book-layout{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:38px}.reading{max-width:820px;min-width:0}.book-title{font:700 clamp(31px,4.5vw,48px)/1.16 Georgia,serif;letter-spacing:-.025em;margin:10px 0}.lead{font-size:17px;color:var(--muted);line-height:1.75}.toc{position:sticky;top:105px;align-self:start;max-height:calc(100vh - 130px);overflow:auto;padding-left:15px;border-left:1px solid var(--line);font-size:13px}.toc button{width:100%;display:block;text-align:left;border:0;background:none;color:var(--muted);padding:7px 4px}.toc button:hover{color:var(--accent)}.chapter-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.bodytext{font-size:16px;line-height:1.86;color:var(--text)}.bodytext p{margin:15px 0 22px}.bodytext strong{font-weight:730;color:color-mix(in srgb,var(--text) 92%,var(--accent))}.book-section{padding-top:10px;margin:25px 0 36px;scroll-margin-top:105px}.book-section h2{font:650 clamp(23px,2.8vw,30px)/1.24 Georgia,serif;letter-spacing:-.015em;margin:0 0 16px}.book-section:target h2,.book-section.targetflash h2{color:#e55466}.study-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.chapter-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:25px 0}.chapter-tile{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:15px;text-align:left;color:var(--text)}.chapter-tile.active,.chapter-tile:hover{border-color:var(--accent)}.chapter-tile small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.section-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}.minimal{background:none;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:5px 10px;font-size:11px}.minimal:hover{color:var(--text);border-color:var(--accent)}.original-paper{background:var(--panel);border:1px solid var(--line);padding:clamp(20px,5vw,53px);border-radius:17px;max-width:910px;box-shadow:var(--shadow)}.original-paper h1{font:700 clamp(27px,4.4vw,45px) Georgia,serif;line-height:1.2;margin:7px 0 29px}.original-paper p{font-size:16px;line-height:1.85;margin:0 0 19px}.orig-objectives{counter-reset:item;list-style:none;padding:0}.orig-objectives li{display:grid;grid-template-columns:28px 1fr;gap:7px;margin-bottom:11px;line-height:1.6}.orig-objectives li:before{counter-increment:item;content:counter(item) '.';color:var(--accent);font-weight:800}.orig-exam{padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.section-header{font:650 23px Georgia,serif;margin:27px 0 15px}.search-box{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:var(--panel);padding:10px 14px;border-radius:12px}.search-box input{background:transparent;outline:0;border:0;color:var(--text);width:100%}.search-result{padding:14px 17px;background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;display:block;width:100%;margin:8px 0}.search-result:hover{border-color:var(--accent)}.search-result b{display:block}.search-result small{color:var(--muted)}.search-result p{color:var(--muted);font-size:13px;line-height:1.4;margin:5px 0}.lab-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.lab-tab{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:9px 13px;border-radius:10px}.lab-tab.selected{background:var(--accent-soft);border-color:var(--accent)}.lab-canvas{max-width:900px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;margin:15px 0}.lab-canvas svg{width:100%;height:auto;max-height:340px;display:block}.measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0}.measure{border:1px solid var(--line);background:var(--panel2);padding:15px;border-radius:11px}.measure b{font-size:23px;display:block;white-space:nowrap}.measure small{color:var(--muted);font-size:11px}.control{margin:14px 0;display:grid;grid-template-columns:175px 1fr 78px;gap:14px;align-items:center;font-size:13px}.control input[type=range]{width:100%;accent-color:var(--accent)}.control output{text-align:right;font-weight:800}.caption{color:var(--muted);font-size:13px}.iframe-wrap{position:relative;padding-top:80%;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel)}.iframe-wrap iframe{border:0;position:absolute;inset:0;width:100%;height:100%;}.causalsteps{display:grid;gap:9px}.causalstep{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:17px}.causalstep.hidden-step{color:var(--muted);border-style:dashed}.micro-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:25px}.micro-list{display:grid;gap:8px;align-self:start}.micro-list button{text-align:left;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.micro-list button.selected{border-color:var(--accent);background:var(--accent-soft)}.story-screen{background:linear-gradient(140deg,#201017,#111117);border:1px solid #4a3039;border-radius:20px;min-height:350px;display:grid;align-content:space-between;padding:27px;overflow:hidden;position:relative}.story-art{text-align:center;font-size:80px;line-height:1.1;transition:transform .35s}.story-screen[data-phase="2"] .story-art{transform:scale(.88)}.story-screen[data-phase="3"] .story-art{transform:scale(1.14)}.story-stage{color:#ed8390;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800}.story-text{font-size:18px;line-height:1.6;color:#fff;max-width:650px;margin:10px 0}.progress-track{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin:13px 0}.progress-track>i{display:block;background:var(--accent);height:100%;transition:width .2s}.quiz-shell{max-width:970px}.question-no{font-size:12px;color:#e66b7a;text-transform:uppercase;letter-spacing:.1em}.question-stem{font:650 clamp(25px,3vw,33px) Georgia,serif;margin:13px 0 25px}.option{display:flex;gap:15px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:17px;margin:10px 0;line-height:1.5}.option b{border:1px solid var(--line);min-width:31px;height:31px;display:grid;place-items:center;border-radius:8px}.option:hover{border-color:var(--accent)}.option.correct{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--panel))}.option.wrong{border-color:var(--accent);background:var(--accent-soft)}.reviewitem{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px;margin:12px 0}.reviewitem h3{font-size:17px;margin:0 0 8px}.reviewitem p{margin:5px 0;font-size:14px;color:var(--muted)}.explanation{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.explanation details{padding:10px 0;border-bottom:1px solid var(--line)}.explanation summary{cursor:pointer;font-weight:700}.explanation p{color:var(--muted);font-size:14px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.note-form label,.auth-form label{display:grid;gap:5px;font-size:13px;color:var(--muted);margin:10px 0}.note-form textarea,.auth-form input,.note-form input,.note-form select{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:10px;outline:0}.notelist{display:grid;gap:10px}.note-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px}.note-card .quote{border-left:4px solid var(--accent);padding-left:11px;font-style:italic}.colorpick{display:flex;gap:8px}.colorpick button{width:29px;height:29px;border-radius:50%;border:2px solid transparent}.colorpick button.active{border-color:var(--text)}mark.annotation{padding:1px 2px;color:#15151b;border-radius:2px;cursor:pointer}mark.yellow{background:#f7da66}mark.green{background:#92edb2}mark.blue{background:#9ac9ff}mark.pink{background:#f7a0bb}.selection-bar{position:fixed;z-index:90;top:87px;right:22px;display:flex;align-items:center;gap:6px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);max-width:calc(100vw - 35px)}.selection-bar button{border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);padding:7px 10px;font-size:12px}.selection-bar button:hover{border-color:var(--accent)}.mascot{position:fixed;right:23px;bottom:21px;z-index:65}.heartbtn{height:53px;width:53px;border-radius:50%;border:1px solid #f27785;background:#3a1520;box-shadow:0 8px 25px #0005;display:grid;place-items:center;animation:beat 3.2s ease-in-out infinite}.heartbtn svg{width:39px;height:39px}.mascot-actions{position:absolute;right:0;bottom:68px;width:min(340px,calc(100vw - 46px));padding:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}.mascot-actions p{font-size:14px;margin:8px 0 12px}.mascot-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mascot-grid button{font-size:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:8px}.auth-backdrop{position:fixed;inset:0;background:#000a;z-index:100;display:grid;place-items:center;padding:18px}.auth-modal{background:var(--panel);border:1px solid var(--line);max-width:455px;width:100%;border-radius:20px;padding:26px;box-shadow:var(--shadow)}.auth-modal h2{font:650 27px Georgia,serif;margin:4px 0 8px}.auth-form input:focus{border-color:var(--accent)}.toast{position:fixed;z-index:115;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;background:#313038;border:1px solid #6d6267;color:#fff;padding:11px 18px;border-radius:12px;font-size:13px;box-shadow:var(--shadow)}.mobile-nav{display:none}.small{font-size:12px}.upper{text-transform:uppercase;letter-spacing:.1em;font-size:11px}.filebutton{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.filebutton input{display:none} .reference-item{padding:14px;border-left:2px solid var(--accent);margin:10px 0;background:var(--panel)} .reference-item small{display:block;color:var(--muted)}
@keyframes beat{0%,92%,100%{transform:scale(1)}95%{transform:scale(1.09)}98%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1000px){.book-layout{grid-template-columns:1fr}.toc{position:static;display:flex;flex-wrap:wrap;gap:4px;border-left:0;border-top:1px solid var(--line);padding:14px 0;max-height:none}.toc button{width:auto;border:1px solid var(--line);border-radius:9px;padding:5px 8px}.micro-layout{grid-template-columns:1fr}.micro-list{display:flex;overflow:auto}.micro-list button{min-width:210px}.iframe-wrap{padding-top:95%}}
@media(max-width:750px){.layout{display:block}.sidebar{position:fixed;left:-285px;top:0;width:268px;height:100dvh;transition:left .25s}.sidebar:hover,.sidebar:focus-within{width:268px}.layout.mobile-open .sidebar{left:0;box-shadow:0 0 0 100vmax #0008}.topbar{height:64px;padding:0 12px}.topbtn{padding:7px 9px;font-size:12px}.hide-mobile{display:none!important}.mobile-nav{display:inline-flex}.surface{padding:22px 16px}.hero{padding-top:21px}.hero h1{font-size:42px}.subtitle{font-size:15px}.case-card{grid-template-columns:1fr;padding:22px}.stats{gap:20px}.book-title{font-size:34px}.original-paper{padding:22px 18px}.measure-grid{grid-template-columns:1fr 1fr}.control{grid-template-columns:1fr 1fr}.control input[type=range]{grid-column:1/-1;grid-row:2}.iframe-wrap{padding-top:135%}.selection-bar{top:auto;bottom:89px;left:12px;right:12px;flex-wrap:wrap}.mascot{bottom:12px;right:13px}.story-screen{min-height:310px}.auth-modal{padding:19px}}
