.nb-hero{background-color:#0000;background-image:radial-gradient(circle at 15% 20%,#c17c4a29,#0000 45%),radial-gradient(circle at 85% 0,#8d9a552e,#0000 50%),radial-gradient(#ffffff09 1px,#0000 1px),linear-gradient(135deg,#1c1d12 0%,#2b2d1c 55%,#17180e 100%);background-position:0 0;background-repeat:repeat;background-size:auto,auto,4px 4px,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;position:relative;overflow:hidden}.nb-hero-cta{transition:transform .18s,box-shadow .18s;box-shadow:0 10px 30px #c17c4a66}.nb-hero-cta:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 36px #c17c4a8c}.nb-spiral{z-index:5;flex-direction:column;justify-content:space-between;width:22px;display:flex;position:absolute;top:24px;bottom:24px;left:-11px}.nb-ring{background:radial-gradient(circle at 35% 30%,#fbf8f3,#d9d2c4 70%);border:4px solid #00000047;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 3px #0000000f}.nb-page{background-image:repeating-linear-gradient(#0000 0 30px,#7a6a5a1f 30px 31px);position:relative}.nb-margin-line{pointer-events:none;background:#d94f4f38;width:1px;position:absolute;top:0;bottom:0;left:54px}.nb-tab{letter-spacing:.6px;text-transform:uppercase;color:#fff;border-radius:10px 10px 0 0;align-items:center;gap:6px;padding:6px 16px 9px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;display:inline-flex;transform:translateY(1px)}.nb-card{transition:transform .18s,box-shadow .18s;position:relative}.nb-shelf{scrollbar-width:none;gap:14px;padding:4px 2px 10px;display:flex;overflow-x:auto}.nb-shelf::-webkit-scrollbar{display:none}.nb-student-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:4px 2px 10px;display:grid}@media (width<=720px){.nb-student-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.nb-student-grid{grid-template-columns:1fr}}.nb-body{justify-content:center;align-items:flex-start;gap:24px;display:flex}.nb-sidebar{flex-shrink:0;width:220px;position:sticky;top:24px}@media (width<=900px){.nb-body{flex-direction:column;align-items:stretch}.nb-sidebar{order:-1;width:100%;position:static}}.nb-shelf-card{cursor:pointer;flex:0 0 220px;transition:transform .2s,box-shadow .2s;position:relative}.nb-shelf-card:hover{transform:translateY(-5px)scale(1.035);box-shadow:0 16px 28px #0000002e}.nb-stamp{color:#8d9a55;letter-spacing:.5px;background:#8d9a5514;border:2px solid #8d9a55;border-radius:6px;padding:2px 7px;font-family:Space Mono,monospace;font-size:10px;font-weight:700;position:absolute;top:10px;right:-6px;transform:rotate(11deg)}.nb-note{position:relative;transform:rotate(-1deg)}.nb-note:before{content:"";background:repeating-linear-gradient(45deg,#ffffffa6 0 4px,#fff6 4px 8px);border:1px solid #0000000a;width:64px;height:22px;position:absolute;top:-11px;left:28px;transform:rotate(-4deg);box-shadow:0 2px 4px #00000014}.nb-locked{filter:grayscale(.5);opacity:.72}.nb-chip{transition:transform .15s,box-shadow .15s}.nb-chip:hover{transform:translateY(-1px)}.nb-mono{letter-spacing:.2px;font-family:Space Mono,monospace}.nb-shelf-card.nb-static{cursor:default}.nb-unread-dot{background:#d94f4f;border-radius:50%;width:10px;height:10px;position:absolute;top:12px;right:12px;box-shadow:0 0 0 3px #d94f4f2e}.nb-back{cursor:pointer;transition:opacity .15s}.nb-back:hover{opacity:.65}.nb-dropzone{transition:border-color .15s,background .15s}.nb-dropzone:hover{background:#c17c4a0d;border-color:#c17c4a99}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#43492a;--bg-light:#4f5630;--card-green:#c2ca86;--card-cream:#eef0e0;--card-olive:#8d9a55;--text-dark:#43492a;--text-muted:#6b7340;--white:#fff;--danger:#d94f4f;--border:#43492a26;--shadow:0 4px 20px #00000026}body{background:var(--bg);color:var(--text-dark);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,textarea,select{color:var(--text-dark);background:#fff;border:1.5px solid #43492a33;border-radius:10px;outline:none;font-family:inherit;font-size:14px}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}a{color:inherit;text-decoration:none}
