/* NES.css-inspired pixel details, composed for a quieter purple workspace. */
:root{color-scheme:dark;--blue:#c4a3ff;--line:#47365f;--muted:#b9aaca;color:#f0e9fa;background:#171022;font-family:"Segoe UI","Microsoft YaHei",sans-serif}
body{background:radial-gradient(ellipse at 90% 0,#58347738,transparent 48%),radial-gradient(ellipse at 15% 90%,#5831a025,transparent 50%),#171022;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#d9baff18 .7px,transparent .7px);background-size:22px 22px;z-index:-1}
.sidebar{background:#1d142a;border-right:1px solid #443056;padding:32px 20px;z-index:11}.brand{color:#f6edff;font-family:monospace;font-size:28px;letter-spacing:1px}.brand small{color:#a48bbd;font-family:inherit;letter-spacing:2px;font-size:10px}.logo{border-radius:2px;background:#b78af6;color:#20122f;box-shadow:3px 3px 0 #644181;font-family:monospace;font-weight:900}.nav-label{color:#8f77a9;font-size:10px;letter-spacing:3px}nav{gap:9px}nav a{color:#b5a3c8;border:1px solid transparent;border-radius:5px;padding:12px 14px;transition:background .18s,color .18s}nav a:hover{background:#30213f;color:#f2e8ff}nav a.active{color:#eddfff;background:#39264f;border-color:#6e4d91;box-shadow:inset 3px 0 #c19af7}nav a.active:after{content:"▪";margin-left:auto;color:#bdf3d5}.sidebar-foot{border-color:#473255;color:#e0d0f1}.avatar{border-radius:3px;background:#3d2a53;color:#dec5ff;border:1px solid #71548f}
main{padding:38px 44px;max-width:1700px}header{padding-bottom:25px;border-bottom:1px solid #463157;margin-bottom:28px}.eyebrow{font-family:monospace;font-size:11px;letter-spacing:4px;color:#bc99e5}.eyebrow:before{content:"▪ ";color:#c1f0d8}h1{font-size:29px;font-weight:650;letter-spacing:1px;color:#f4ebff}.header-right{color:#b9a5cd}.intro{padding:6px 0 8px}.intro h2{font-size:23px;letter-spacing:.5px}.intro .muted{margin-top:8px}
button{background:#b995ee;color:#231331;border:1px solid #d3b5ff;border-radius:3px;box-shadow:0 3px 0 #68468d;padding:9px 16px;font-weight:650;transition:transform .12s,background .12s}button:hover{filter:none;background:#d0adff;transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:none}button:disabled{transform:none}.secondary{background:#342342;color:#e5d3f7;border-color:#64477e;box-shadow:0 3px 0 #160e21}.secondary:hover{background:#49305d}.icon-button,.text-button{background:transparent;border:0;box-shadow:none;color:#c7a6ef}.icon-button:hover,.text-button:hover{background:#402b55}.danger{background:#4c233d;color:#ffbad4;border-color:#85516e}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #bff3db;outline-offset:4px}
.stat,.card,.book-card{background:linear-gradient(130deg,#2a1d39,#251a33);border:1px solid #4c365f;border-radius:7px;box-shadow:0 6px 18px #09051024}.stats{gap:18px}.stat{padding:22px 24px;position:relative;overflow:hidden;min-width:0}.stat:after{content:"";position:absolute;right:18px;top:19px;width:6px;height:6px;background:#aa81da;box-shadow:9px 0 #aa81da44,0 9px #aa81da44}.stat strong{font-family:monospace,"Microsoft YaHei";font-size:34px;letter-spacing:-1px;color:#e5cbff;margin:8px 0}.stat small{color:#b9a5cd}.stat .muted{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-weight:400;letter-spacing:0}.card-head{background:#2f203e88;border-color:#49335c;padding:18px 23px}.card-head h2:before{content:"";display:inline-block;width:6px;height:6px;background:#c19af7;margin:0 11px 3px 0;box-shadow:2px 2px #6a428e}.card-head a{font-size:13px}.card-body{padding:22px 23px}h2{font-weight:600}a{color:#d4afff}a:hover{color:#ebd9ff}.muted,.inline-note,.section-intro,.record p,.plan-item p,.schedule p{color:#b9aaca}.inline-note{line-height:1.8}.empty{color:#aa96bf}.empty strong{color:#d8c4eb}.task,.word-row,.word-list{border-color:#49355b}.task.done .task-title{color:#9b87af}.task input,.word-row input{accent-color:#bf99ef}.badge{background:#48315c;color:#ddc5f5;border:1px solid #65457e;border-radius:3px;font-size:11px}.badge.high{background:#543343;color:#f5c49c;border-color:#795245}.badge.blue{background:#3c315c;color:#d4c2ff}.study-icon,.study-icon.purple{background:#47305f;color:#ddbdff;border-radius:3px;border:1px solid #71518c;box-shadow:3px 3px 0 #170e24}.study-icon.purple{background:#2e4645;color:#bff1d6;border-color:#53776b}.step{border-radius:2px;background:#493060;color:#e2c6ff;font-family:monospace;border:1px solid #72508f}.banner,.banner.warning{background:#35243e;border-color:#6d4e75;border-left:3px solid #cfa9ee;border-radius:4px}.banner p{color:#c0abc9}.banner strong{color:#efd9f3}.choices button{background:#342440;color:#c6b0d8;border-color:#5b406f;box-shadow:none}.choices button.selected{background:#b998e4;color:#241330;border-color:#dbc0ff;box-shadow:2px 2px 0 #62457d}.roadmap div{background:#2b1d38;border-color:#503769;border-radius:4px}.roadmap span{color:#c5a0f2;font-family:monospace;font-size:11px}.time{color:#ddbeff;font-family:monospace}.form label{color:#d6c4e5}.form input,.form textarea,.form select,.filter-input,.page-label input,.color-label select,.note-editor textarea{background:#1c1229;color:#eee0fa;border:1px solid #604579;border-radius:3px}input::placeholder,textarea::placeholder{color:#9a85af}dialog{background:#291c38;color:#f0e4fa;border:1px solid #85629e;border-radius:6px;box-shadow:6px 6px 0 #130b20,0 30px 100px #0008}dialog::backdrop{background:#10091dba;backdrop-filter:blur(5px)}#toast{background:#d7b9fa;color:#281337;border:1px solid #eddcff;border-radius:3px;box-shadow:4px 4px 0 #352044;z-index:50}.error-box{background:#4e2541;color:#ffd3e3}.form-error{color:#ffbdd5}hr{border-color:#4c365f}.progress,progress.progress::-webkit-progress-bar{background:#160e23;border-radius:0}progress.progress::-webkit-progress-value{background:repeating-linear-gradient(90deg,#c39af5 0,#c39af5 9px,#8f65ba 9px,#8f65ba 11px);border-radius:0}progress.progress::-moz-progress-bar{background:#c39af5;border-radius:0}.material-tile{background:#261a34;border-color:#56396e;border-radius:4px}.word-row.learned{background:#30213e;color:#b5a0c6}.markdown code,.word-row code{background:#432d56;color:#e7cdff}.markdown blockquote{border-color:#9671b7;color:#c0abc9}.resource-address{color:#ae93c4}.book-cover,.format-pdf{background:linear-gradient(140deg,#6a458d,#3e285c);color:#f2e2ff;border-color:#a67acc}.format-epub{background:linear-gradient(140deg,#42645f,#243f42);color:#d5f4e8;border-color:#78a89a}.format-txt,.format-md{background:linear-gradient(140deg,#755376,#47334f);color:#f6e2f6;border-color:#b88db5}.reader-toolbar,.book-notes{background:#2b1e38;border-color:#5b3e72;border-radius:5px}.reader-stage{background:#130e1c;border-color:#48315b;border-radius:4px}.annotation-card,.bookmark-card{background:#30203e;border-color:#604475;border-radius:3px}.annotation-card blockquote,.note-editor blockquote{color:#c2afd1}.book-text{color:#272132;background:#f5f0fa}.pdf-sheet{color-scheme:light}.book-immersive{background:#171022!important}.reader-message{color:#bba5cd}#book-upload-status,#export-status{color:#c7a3f2}.book-empty{color:#b9aaca}footer{color:#987fac;border-top:1px solid #3f2c50;padding-top:22px}footer:before{content:"✦";color:#c4a1e9;margin-right:8px}footer span{margin-left:auto}.backup-status{border-color:#4b345e}
@media(min-width:1500px){main{padding:44px 60px}}@media(max-width:1050px){main{padding:28px 24px}}@media(max-width:700px){.sidebar{padding:18px 16px;border-bottom:1px solid #49335c}.brand{font-size:24px}.brand small{font-size:10px}.logo{width:31px;height:31px}nav{gap:7px;margin-top:20px;padding-bottom:6px}nav a{font-size:13px;padding:9px 10px}nav a.active:after{display:none}main{padding:24px 16px}.stats{gap:8px}.stat{padding:16px 10px}.stat strong{font-size:25px}.stat:after{display:none}.stat small{font-size:11px}h1{font-size:25px}.intro{flex-wrap:wrap}.intro h2{font-size:20px}.card-head,.card-body{padding:17px}.header-right{font-size:11px}footer span{margin-left:0}.book-immersive main{padding:10px}.book-immersive #content{height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
