/* Cassell visual polish v3. Additive, reversible and deliberately restrained. */
:root{
 --polish-bg:#080a0e;
 --polish-panel:#11161d;
 --polish-panel-2:#151b23;
 --polish-line:#303743;
 --polish-line-soft:#242b34;
 --polish-gold:#c5a660;
 --polish-gold-soft:#e0cf9a;
 --polish-red:#934148;
 --polish-blue:#6b9ab0;
 --polish-text:#ebe6db;
 --polish-muted:#969da6;
 --polish-shadow:0 22px 70px rgba(0,0,0,.38);
 --polish-radius:2px;
}
html{background:var(--polish-bg)}
body{background:
 radial-gradient(circle at 18% -12%,rgba(88,112,135,.16),transparent 32rem),
 radial-gradient(circle at 90% 18%,rgba(117,88,49,.08),transparent 28rem),
 linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),
 var(--polish-bg);background-size:auto,auto,52px 52px,52px 52px,auto;color:var(--polish-text)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}
::selection{background:rgba(197,166,96,.28);color:#fff}
.site-head{position:sticky;top:0;z-index:80;background:rgba(10,13,18,.94);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(0,0,0,.22)}
.utility{background:#07090c;border-color:#272d35}
.utility-inner{letter-spacing:.055em}
.head-main{min-height:84px}
.brand-lockup{position:relative}
.brand-lockup:after{content:"INTERNAL USE";position:absolute;left:72px;bottom:-13px;color:#6f7780;font:8px var(--mono);letter-spacing:.22em}
.brand-copy strong{font-size:21px;letter-spacing:.1em}
.seal{box-shadow:inset 0 0 0 4px #0c1015,inset 0 0 0 5px #7f6c40,0 9px 24px rgba(0,0,0,.3)}
.access-chip{position:relative;border-color:#585040;background:#17150f;color:var(--polish-gold-soft);letter-spacing:.08em}
.access-chip:before{content:"CLEARANCE ";color:#777;font-size:9px}
.primary-nav{background:#10151c;border-color:#303640}
.nav-link{font-size:13px;letter-spacing:.02em}
.nav-link.active{background:linear-gradient(180deg,rgba(197,166,96,.07),transparent)}
.context-bar{border-bottom:1px solid var(--polish-line-soft);background:#0b0f14}
.context-inner{display:flex;align-items:center;gap:18px;min-height:34px;color:#858d96;font:10px var(--mono);letter-spacing:.035em;overflow:auto;white-space:nowrap}
.context-inner b{color:#c4c9ce;font-weight:500}.context-inner span+span:before{content:"/";margin-right:18px;color:#404852}
.main{padding-top:28px}
.panel{position:relative;border-color:var(--polish-line);border-radius:var(--polish-radius);background:linear-gradient(145deg,rgba(20,26,34,.98),rgba(13,17,23,.98));box-shadow:0 14px 38px rgba(0,0,0,.2)}
.panel:before{content:"";position:absolute;inset:0;pointer-events:none;border-top:1px solid rgba(255,255,255,.028)}
.panel-head{background:linear-gradient(180deg,#171d25,#141920);border-color:var(--polish-line)}
.panel-head h1,.panel-head h2,.panel-head h3{letter-spacing:.055em}
.page-title{letter-spacing:.045em;text-wrap:balance}
.page-intro{line-height:1.8}
.breadcrumb{font-family:var(--mono);letter-spacing:.03em}.breadcrumb span{color:#555e68}
.btn,.quick-action,.drawer-link{border-color:#3e4651;background:linear-gradient(180deg,#1a2029,#131820);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.btn:hover,.quick-action:hover,.drawer-link:hover{background:#1c222b;transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,#d0b36c,#ad8f49);border-color:#d0b36c;color:#17130c;box-shadow:0 7px 20px rgba(183,151,78,.12)}
.field,.search-form input{border-color:#3a424d;background:#0b0f14}.field:hover,.search-form input:hover{border-color:#4c5662}
.notice-strip{position:relative;overflow:hidden;padding:12px 16px;background:linear-gradient(90deg,#26181b,#181419);border-color:#58343a}
.notice-strip:after{content:"NOTICE";position:absolute;right:14px;color:rgba(255,255,255,.045);font:700 28px var(--mono);letter-spacing:.18em}
.status-online{filter:drop-shadow(0 0 5px rgba(113,154,123,.35))}

/* Login terminal */
.login{background:
 linear-gradient(90deg,rgba(5,7,10,.18),rgba(5,7,10,.82)),
 radial-gradient(circle at 22% 32%,rgba(62,83,101,.34),transparent 34rem),#080b0f}
.login-scene{position:relative;overflow:hidden;padding:clamp(34px,6vw,82px)}
.login-scene:before{content:"CASSELL COLLEGE / CHICAGO NODE";position:absolute;top:34px;left:clamp(34px,6vw,82px);color:#737b84;font:10px var(--mono);letter-spacing:.19em}
.login-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 62%,rgba(197,166,96,.035) 62% 62.2%,transparent 62.2%)}
.login-scene h1{max-width:720px;font-size:clamp(42px,7vw,86px);line-height:1.03;letter-spacing:.08em;text-shadow:0 20px 45px rgba(0,0,0,.38)}
.login-scene>p{max-width:620px}
.login-panel{position:relative;border-left:1px solid #303741;background:rgba(12,16,22,.96);box-shadow:-24px 0 70px rgba(0,0,0,.24)}
.login-panel:before{content:"NORMA AUTHENTICATION GATEWAY";display:block;margin-bottom:26px;color:#79818a;font:9px var(--mono);letter-spacing:.17em}
.login-panel h2{letter-spacing:.08em}
.preset{position:relative;text-align:left;overflow:hidden;background:linear-gradient(145deg,#171d25,#11161d)}
.preset:after{content:"→";position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#606975}
.preset:hover{border-color:var(--polish-gold)}
.terminal-status{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 4px}
.terminal-status div{padding:10px;border:1px solid #303844;background:#0d1218}.terminal-status b{display:block;color:#cbd0d4;font:10px var(--mono)}.terminal-status span{color:#78818a;font-size:10px}

/* Context-rich dashboard */
.workbench-hero{overflow:hidden}
.workbench-hero .panel-body{padding:22px}
.workbench-kicker{margin-bottom:7px;color:var(--polish-gold);font:10px var(--mono);letter-spacing:.17em}
.workbench-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.workbench-title-row h1{margin:0;font:600 clamp(25px,3vw,38px) var(--serif);letter-spacing:.045em}
.workbench-copy{max-width:680px;color:#b2b8be;font-size:13px}
.identity-card{margin-top:18px;padding-top:18px;border-top:1px solid #2b323b}
.identity-card .avatar{border-color:#746641;background:#1d1c18;box-shadow:0 10px 26px rgba(0,0,0,.23)}
.session-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid #303741;background:#303741}
.session-ledger div{padding:11px 12px;background:#0e1319}.session-ledger span{display:block;color:#757e87;font:9px var(--mono);letter-spacing:.09em}.session-ledger strong{display:block;margin-top:4px;color:#cbd0d2;font:11px var(--mono);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.home-actions{margin-top:16px}.quick-action{position:relative;justify-content:flex-start;padding-right:34px}.quick-action:after{content:"↗";position:absolute;right:11px;color:#68717a}
.activity-mini{display:grid}.activity-mini a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px solid #262d35;color:inherit;text-decoration:none}.activity-mini a:last-child{border:0}.activity-mini i{display:grid;place-items:center;width:26px;height:26px;border:1px solid #3e4853;color:#bba466;font:10px var(--mono);font-style:normal}.activity-mini small{display:block;color:var(--polish-muted);font-size:10px}.activity-mini time{color:#707984;font:9px var(--mono)}

/* Forum directory */
.forum-overview{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(110px,.5fr));gap:1px;margin-bottom:20px;border:1px solid var(--polish-line);background:var(--polish-line)}
.forum-overview>div{min-height:92px;padding:15px;background:#10151c}.forum-overview .forum-intro{background:linear-gradient(125deg,#181f28,#10151c)}.forum-overview span{display:block;color:#747d86;font:9px var(--mono);letter-spacing:.12em}.forum-overview strong{display:block;margin-top:7px;color:var(--polish-gold-soft);font:600 22px var(--serif)}.forum-overview p{margin:7px 0 0;color:#a1a8af;font-size:12px}
.forum-group{overflow:hidden}.group-title{min-height:54px;background:linear-gradient(90deg,#181e26,#141920)}.group-title strong:before{content:"◈";margin-right:10px;color:#8e7946;font-size:11px}
.board-row{position:relative;transition:background .16s ease}.board-row:hover{background:#151b23}.board-row.unread-board{background:linear-gradient(90deg,rgba(197,166,96,.055),transparent 36%)}.board-row.unread-board:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--polish-gold)}
.board-icon{border-color:#4b5661;background:#11171e}.board-row.unread-board .board-icon{border-color:#7e6d42;color:#e0ca8e}
.unread-count{display:inline-flex;margin-left:7px;padding:1px 5px;border:1px solid #6d5d39;color:#d7bf7e;font:9px var(--mono)}
.thread-row{position:relative;transition:background .16s ease}.thread-row:hover{background:#151b22}.thread-row.unread-thread{background:linear-gradient(90deg,rgba(197,166,96,.045),transparent 32%)}.thread-row.unread-thread:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--polish-gold)}
.thread-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--polish-gold);box-shadow:0 0 0 3px rgba(197,166,96,.1)}
.thread-by,.thread-last,.thread-count{font-family:var(--mono)}

/* Thread document */
.thread-masthead{position:relative;overflow:hidden;padding:25px 26px 21px;border-bottom:1px solid var(--polish-line);background:linear-gradient(125deg,#19212a,#12171e 72%)}
.thread-masthead:after{content:attr(data-document);position:absolute;right:20px;bottom:-7px;color:rgba(255,255,255,.035);font:700 clamp(27px,5vw,58px) var(--mono);letter-spacing:.04em;pointer-events:none}
.thread-kicker{display:flex;align-items:center;gap:10px;margin-bottom:11px;color:#87909a;font:10px var(--mono);letter-spacing:.11em}.thread-kicker b{color:var(--polish-gold);font-weight:500}
.thread-masthead h1{position:relative;z-index:1;max-width:900px;margin:0;font:600 clamp(24px,3.2vw,38px)/1.35 var(--serif);letter-spacing:.035em}
.thread-meta-grid{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:15px;color:#8f979f;font:10px var(--mono)}.thread-meta-grid span:before{content:"·";margin-right:8px;color:#59616a}.thread-meta-grid span:first-child:before{display:none}
.thread-actionbar{position:sticky;top:164px;z-index:30;margin:0!important;padding:10px 14px!important;border-bottom:1px solid var(--polish-line);background:rgba(15,20,27,.96);backdrop-filter:blur(10px)}
.post-floor{position:relative;background:rgba(14,18,24,.72)}.post-floor:nth-of-type(even){background:rgba(17,22,29,.8)}.post-floor:hover{background:#151b22}
.post-floor:before{content:attr(data-floor);position:absolute;right:15px;top:12px;color:rgba(255,255,255,.035);font:700 42px var(--mono);pointer-events:none}
.post-user{background:linear-gradient(180deg,#11171e,#0f141a)}.post-user .avatar{border-color:#55616d}.post-user strong a{color:var(--polish-text);text-decoration:none}.post-user dl{padding-top:10px;border-top:1px solid #29313a}
.post-content{position:relative}.post-top{letter-spacing:.035em}.post-body{font-size:15px;line-height:2}.post-body p{max-width:780px}.quote{border-color:#756744;background:#181914}.reference-backlinks{padding-top:8px;border-top:1px dashed #303741}
.floor-role{display:inline-flex;margin-left:8px;padding:1px 5px;border:1px solid #4a535e;color:#89939d;font:9px var(--mono)}.floor-role.op{border-color:#77663d;color:#d9bf7b}
.post-actions .btn{opacity:.82}.post-floor:hover .post-actions .btn{opacity:1}
.reply-launch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px 16px;border:1px solid #3b444f;background:#10151c}.reply-launch span{color:#8f979f;font-size:12px}

/* Dossier profile */
.dossier-shell{overflow:hidden}.profile-hero{position:relative;padding:28px;background:linear-gradient(120deg,#182029,#11161d)}.profile-hero:after{content:attr(data-account);position:absolute;right:22px;bottom:8px;color:rgba(255,255,255,.035);font:700 38px var(--mono);letter-spacing:.06em}.profile-hero .avatar{box-shadow:0 16px 40px rgba(0,0,0,.3)}
.profile-access{position:relative;z-index:1;padding:12px;border:1px solid #39434d;background:#0e1319}.profile-access>div{margin:5px 0;color:#b2bac1;font:11px var(--mono)}
.profile-record-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid #303741;border-bottom:1px solid #303741;background:#303741}.profile-record-strip div{padding:10px 14px;background:#0e1319}.profile-record-strip span{display:block;color:#727b84;font:9px var(--mono)}.profile-record-strip strong{display:block;margin-top:4px;color:#c4c9cd;font:11px var(--mono);font-weight:500}
.tabs{background:#10151b}.tabs .tab{position:relative}.tabs .tab.active{background:#171d24}.tabs .tab.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:var(--polish-gold)}
.profile-tab-body{margin-top:0}.profile-tab-body .panel-head{border-top:1px solid #2c333c}
.profile-visibility{border-style:solid;background:#0c1116}

/* Notifications and activity */
.notification-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 16px;border:1px solid #303741;background:#303741}.notification-summary div{padding:13px 15px;background:#10151c}.notification-summary span{display:block;color:#737c85;font:9px var(--mono);letter-spacing:.09em}.notification-summary strong{display:block;margin-top:4px;color:#d3bd81;font:600 19px var(--serif)}
.notification-row{transition:background .16s ease}.notification-row:hover{background:#171e26}.notification-row.unread{background:linear-gradient(90deg,rgba(197,166,96,.06),#151c24 28%)}
.activity-row:hover{background:#151b22}.activity-icon{border-color:#4a5560;background:#0e141a}

/* Archive */
.archive-row{position:relative;transition:background .16s ease}.archive-row:hover{background:#151b22}.archive-row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:#4b5560}.archive-row:has(.archive-level){min-height:86px}.archive-level{letter-spacing:.08em}.restricted-panel{box-shadow:var(--polish-shadow)}
.redaction-lines i{background:linear-gradient(90deg,#030405,#0a0c0f,#030405)}

/* Modals and drawer */
.modal{backdrop-filter:blur(7px)}.modal-card,.drawer-panel,.guide-card{border-color:#4a535e;background:linear-gradient(145deg,#151b23,#0f141a);box-shadow:var(--polish-shadow)}
.composer textarea{min-height:180px;line-height:1.8}
.toast{border:1px solid #665b3f;background:#18150f;color:#e4d3a1;box-shadow:0 18px 48px rgba(0,0,0,.35)}
.site-footer{border-top:1px solid #2c333c;background:#090c10}.footer-inner{font-family:var(--mono);font-size:10px;letter-spacing:.035em}

@media(max-width:980px){
 .site-head{position:relative}.thread-actionbar{position:static}.context-inner{width:calc(100% - 28px)}
 .forum-overview{grid-template-columns:1fr 1fr}.forum-overview .forum-intro{grid-column:1/-1}
 .session-ledger,.profile-record-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 body{background-size:auto,auto,38px 38px,38px 38px,auto}
 .head-main{min-height:70px}.brand-lockup:after{display:none}.brand-copy strong{font-size:18px}
 .context-bar{display:none}.login-scene:before{top:22px;left:22px}.login-scene h1{font-size:42px}.terminal-status{grid-template-columns:1fr}
 .workbench-title-row{display:block}.workbench-title-row .classification{display:inline-block;margin-top:12px}
 .session-ledger,.profile-record-strip,.notification-summary{grid-template-columns:1fr 1fr}
 .forum-overview{grid-template-columns:1fr 1fr}.forum-overview>div{min-height:76px}.forum-overview .forum-intro{grid-column:1/-1}
 .thread-masthead{padding:20px 17px}.thread-masthead:after{font-size:28px}.thread-meta-grid{display:grid;gap:5px}.thread-meta-grid span:before{display:none}
 .post-floor:before{font-size:28px}.post-body{font-size:14px}.reply-launch{align-items:stretch;flex-direction:column}.reply-launch .btn{width:100%}
 .profile-hero{padding:20px}.profile-hero:after{font-size:25px}.profile-record-strip div{padding:9px 10px}
 .home-actions{grid-template-columns:1fr}.quick-action{min-height:44px}
 .activity-mini a{grid-template-columns:26px minmax(0,1fr)}.activity-mini time{grid-column:2}
}
@media(max-width:430px){
 .session-ledger,.profile-record-strip,.notification-summary,.forum-overview{grid-template-columns:1fr}
 .forum-overview .forum-intro{grid-column:auto}.profile-hero:after{display:none}
}
@media(prefers-reduced-motion:reduce){.btn,.quick-action,.drawer-link,.board-row,.thread-row,.notification-row,.archive-row{transition:none}.btn:hover,.quick-action:hover,.drawer-link:hover{transform:none}}
