@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@600;700&display=swap');
:root{--bg:#0f161a;--panel:#1b252b;--panel2:#202d34;--line:#3f4c53;--text:#eff3f1;--muted:#aebcc0;--gold:#d0b182;--gold2:#e1cda8;--accent:#b67062;--green:#7da38f;--board-amber:#a88753;--board-blue:#6087a3;--board-red:#b06c65;--board-green:#758e68;--board-violet:#8473ab}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(circle at top,#28343a,#0f161a 55%);color:var(--text);font-family:Manrope,system-ui,sans-serif}h1,h2,h3{margin:0 0 12px;font-weight:800;line-height:1.05}h1{font-size:clamp(32px,4vw,52px);font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.01em}h2{font-size:24px}h3{font-size:18px}p{line-height:1.58;color:#d9e0de}a{color:#f1d3a5;text-decoration:none}a:hover{text-decoration:underline}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold2);font-weight:800}.muted{color:var(--muted)}
.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{padding:28px 22px;border-right:1px solid #344048;background:linear-gradient(180deg,#172027,#10171c)}.brand{font-size:34px;line-height:.92;font-weight:800;letter-spacing:.02em;font-family:'Cormorant Garamond',serif}.brand small{display:block;font:700 10px Manrope,sans-serif;letter-spacing:.18em;color:var(--gold2);margin-bottom:16px}.nav{display:grid;gap:10px;margin:28px 0}.nav button{display:flex;align-items:center;gap:12px;width:100%;background:#131d22;border:1px solid #29353c;border-radius:12px;color:#dce5e3;padding:13px 14px;font:700 14px Manrope,sans-serif;cursor:pointer;text-align:left}.nav button:hover,.nav button.active{background:#24313a;border-color:#4c5d66}.nav button span:first-child{width:24px;text-align:center;color:#e5c48f}.count{margin-left:auto;background:#314049;border-radius:999px;padding:2px 8px;font-size:12px;color:#fff}.sidebottom{position:sticky;top:calc(100vh - 110px);padding-top:15px;color:#92a5a6;font-size:13px}
.page{padding:28px clamp(18px,4vw,42px) 60px}.top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:18px;color:#9db0b2;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.pill{border:1px solid #45545c;background:#182126;padding:8px 12px;border-radius:999px;color:#e5d5ba}
.hero,.panel,.stat,.tool-group{background:linear-gradient(180deg,#1e2a31,#172026);border:1px solid #3b484f;border-radius:18px;box-shadow:0 16px 40px #00000035}.hero{padding:30px}.hero p{max-width:800px}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}.stat{padding:20px}.stat strong{display:block;font-size:32px;font-family:'Cormorant Garamond',serif}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{border:1px solid transparent;background:linear-gradient(180deg,#4f6873,#36515c);color:#fff;border-radius:11px;padding:12px 18px;font:700 14px Manrope,sans-serif;cursor:pointer;box-shadow:0 8px 18px #00000025}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:#121c21;border-color:#4b5c63;color:#dfe8e7}.btn.ghost{background:#10171b;border-color:#33434a;color:#cfd7d6}.btn.small{padding:9px 13px;font-size:12px}.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.suspect-panel{padding-top:18px}.portrait{height:150px;border-radius:14px;background:linear-gradient(145deg,#59666b,#2b363b);filter:grayscale(.6)}
.file{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}.paper{background:#eee3cb;color:#312a23;max-width:850px;padding:34px;border-radius:4px;box-shadow:0 10px 30px #0005}.paper p{color:#302b26}.paper .muted{color:#766c60}.paper-rule{border-top:2px solid #9f907b;margin:22px 0}
textarea,input,select{padding:12px;background:#142027;border:1px solid #52626a;border-radius:9px;color:var(--text);width:100%}textarea{resize:vertical}.note-area{min-height:280px}.toast{position:fixed;bottom:25px;right:25px;background:#364c42;border:1px solid #66937d;border-radius:9px;padding:13px 20px;color:#ebfff2;z-index:999;box-shadow:0 6px 20px #0009}

/* Faux portraits */
.sus-photo{position:relative;overflow:hidden;border-radius:12px;border:1px solid #5f676c;background:#1a2328;box-shadow:0 12px 24px #0000003a}.sus-photo.large{height:250px}.sus-photo.medium{height:180px}.sus-photo.small{height:92px;width:84px;min-width:84px;border-radius:8px}.sus-photo-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,#5f676f,#263139 70%)}.sus-silhouette{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:54%;height:78%;background:linear-gradient(180deg,#f3f0ea 0%,#d8d4cb 28%,#86817c 100%);opacity:.95;border-radius:48% 48% 20% 20%/36% 36% 12% 12%;filter:grayscale(1) contrast(1.1)}.sus-silhouette:before{content:'';position:absolute;left:50%;top:7%;transform:translateX(-50%);width:62%;height:34%;background:linear-gradient(180deg,#e7e4dd,#bfb9b0);border-radius:50% 50% 46% 46%/58% 58% 40% 40%}.sus-silhouette:after{content:'';position:absolute;left:50%;bottom:-2%;transform:translateX(-50%);width:110%;height:40%;background:linear-gradient(180deg,#494c4f,#2c3338);border-radius:46% 46% 12% 12%/60% 60% 12% 12%}.sus-nameplate{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 9px;background:#f0e4cbdb;color:#2e2924;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.03em;text-align:center;box-shadow:0 2px 8px #00000022}
.sus-maxim .sus-photo-bg{background:radial-gradient(circle at 50% 18%,#7d7972,#313740 70%)}.sus-maxim .sus-silhouette:after{background:linear-gradient(180deg,#3b434d,#1f2429)}
.sus-nina .sus-photo-bg{background:radial-gradient(circle at 50% 18%,#7f8a92,#29333a 70%)}.sus-nina .sus-silhouette:before{width:58%;height:31%}
.sus-pavel .sus-photo-bg{background:radial-gradient(circle at 50% 18%,#7a7b7f,#2b3138 70%)}.sus-pavel .sus-silhouette:after{background:linear-gradient(180deg,#495660,#2b3237)}
.sus-asya .sus-photo-bg{background:radial-gradient(circle at 50% 18%,#8c8480,#31363d 70%)}
.sus-ilya .sus-photo-bg{background:radial-gradient(circle at 50% 18%,#707a7c,#2b3438 70%)}

/* Board */
.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.board-wrap{min-width:0;border:1px solid #465057;border-radius:18px;overflow:auto;background:#151d21;max-height:calc(100vh - 170px);position:relative;box-shadow:inset 0 0 0 1px #ffffff0a,0 14px 36px #00000038}.board-space{position:relative}.board-stage{position:relative;transform-origin:0 0;background:#3f352b;border-radius:10px;overflow:hidden;background-image:radial-gradient(circle at 25% 30%,#705840 1px,transparent 2px),radial-gradient(circle at 70% 65%,#6a5543 1px,transparent 2px),radial-gradient(circle at 40% 85%,#5e4a38 1px,transparent 2px),linear-gradient(180deg,#70563f,#5c4735 25%,#5a4635 60%,#513f31 100%);background-size:120px 120px,140px 140px,160px 160px,100% 100%;box-shadow:inset 0 0 140px #00000022}.board-cork-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,#ffffff10,transparent 30%),radial-gradient(circle at 80% 20%,#00000012,transparent 26%),radial-gradient(circle at 50% 80%,#ffffff08,transparent 28%)}.board-stage:before{content:'ДЕЛО № 07 · ДОСКА СЛЕДСТВИЯ';position:absolute;top:22px;left:28px;padding:6px 10px;background:#f0e4cb;color:#392f28;font:800 12px Manrope,sans-serif;letter-spacing:.18em;border-radius:6px;box-shadow:0 2px 10px #00000024}.board-stage:after{content:'';position:absolute;inset:0;border:10px solid #241d18;pointer-events:none;box-shadow:inset 0 0 0 1px #4f4034}.board-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0}.zoom-pill{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:9px 12px;border-radius:999px;background:#10171b;border:1px solid #324149;color:#dfc9a5;font-weight:800;font-size:12px}.board-help{color:#c4d0cd;font-size:13px;margin-bottom:13px}
.board-group{position:absolute;border:2px dashed rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(180deg,rgba(20,21,23,.08),rgba(255,255,255,.03));backdrop-filter:blur(1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.board-group.amber{background:linear-gradient(180deg,rgba(181,136,70,.12),rgba(255,255,255,.03));border-color:rgba(226,191,126,.42)}.board-group.blue{background:linear-gradient(180deg,rgba(95,132,160,.16),rgba(255,255,255,.03));border-color:rgba(148,188,220,.35)}.board-group.red{background:linear-gradient(180deg,rgba(176,108,101,.16),rgba(255,255,255,.03));border-color:rgba(221,153,144,.34)}.board-group.green{background:linear-gradient(180deg,rgba(116,141,104,.16),rgba(255,255,255,.03));border-color:rgba(177,204,162,.34)}.board-group.violet{background:linear-gradient(180deg,rgba(132,115,171,.16),rgba(255,255,255,.03));border-color:rgba(194,176,232,.34)}.group-ribbon{position:absolute;left:18px;top:-13px;padding:10px 16px;background:#f0e4cb;color:#302721;font-size:13px;font-weight:800;border-radius:10px;box-shadow:0 6px 12px #00000020}.group-sub{position:absolute;right:20px;top:12px;color:#f3eadf;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.group-actions{position:absolute;right:14px;bottom:12px;display:flex;gap:7px}.group-actions button{border:0;background:#0f161aac;color:#ead6b0;border-radius:999px;width:30px;height:30px;cursor:pointer}
.edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.board-edge-label{font:700 11px Manrope,sans-serif;fill:#45362c}
.board-card{position:absolute;width:240px;min-height:158px;color:#332c26;border-radius:8px;padding:16px 16px 12px;box-shadow:0 18px 22px #00000047,0 2px 0 #00000018;touch-action:none;cursor:grab;user-select:none;z-index:2;transition:box-shadow .18s ease,transform .18s ease}.board-card:hover{box-shadow:0 22px 32px #00000055,0 2px 0 #00000018}.board-card.selected{outline:4px solid #f0d28b}.board-card:active{cursor:grabbing}.board-card.suspect-card,.board-card.fact-card,.board-card.evidence-card{background:#ede1c8}.board-card.note-card{background:#f0df8f}.board-card:before{content:'';position:absolute;inset:8px;border-radius:6px;border:1px solid rgba(65,50,36,.08);pointer-events:none}.board-pin{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:16px;height:16px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff4,transparent 35%),linear-gradient(180deg,#be4d43,#8f322d);box-shadow:0 1px 0 #fff2 inset,0 1px 5px #0005;pointer-events:none}.board-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.board-kind{font-size:9px;font-weight:800;letter-spacing:.18em;color:#7b6b5a;text-transform:uppercase}.clipmark{font-size:10px;color:#8d7d6b;background:#fff8ef;padding:5px 8px;border-radius:999px;border:1px solid #d5c6ae}.board-title{font-weight:800;font-size:16px;margin:8px 0 6px;line-height:1.2}.board-desc{font-size:12px;color:#5f5349;line-height:1.45;overflow-wrap:anywhere}.paper-lines{display:grid;gap:7px;margin-top:10px}.paper-lines span{display:block;height:2px;background:linear-gradient(90deg,#cbbca4 0 78%,transparent 78% 100%);opacity:.8}.suspect-mini{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start}.suspect-mini .board-title{margin-top:2px}.note-card textarea{color:#3c3223;background:#ffef9c;border:1px solid #d5c274;font-size:12px;min-height:96px;padding:8px;resize:none;user-select:text;touch-action:auto;border-radius:6px}.card-actions{display:flex;gap:9px;margin-top:10px}.card-actions button{border:none;background:#00000012;border-radius:5px;padding:4px 7px;font-size:10px;color:#4b4036;cursor:pointer}
.board-tools{display:grid;gap:13px}.tool-group{padding:15px;border-radius:15px}.tool-group h3{margin:0 0 10px;font-size:14px}.tool-group label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.tool-group select,.tool-group input{font-size:12px;margin-bottom:9px;padding:9px}.tool-group button{margin:3px 0}.connection-item{display:flex;gap:8px;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding:9px 0;font-size:11px}.connection-item button{border:0;color:#e3c9a4;background:none;cursor:pointer}.notice{padding:12px 15px;background:#27352e;border:1px solid #466151;border-radius:8px;color:#d1e0d2;font-size:12px}.warning{padding:12px 15px;background:#3b3029;border:1px solid #756148;border-radius:8px;color:#eed7b2;font-size:12px}

.intro{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle at 50% 25%,#3e4b4b,#11171c 65%)}.intro h1{font-size:clamp(55px,10vw,100px);margin:15px 0}
.mail-body{background:#edf1ef;color:#253238;min-height:100vh}.mail-top{background:#203640;color:white;padding:18px clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between;gap:20px}.mail-top a{color:#f3d8a5}.mail-main{max-width:1150px;margin:34px auto;padding:0 20px}.mail-card{background:white;border-radius:14px;box-shadow:0 9px 35px #17313b20;padding:25px}.mail-body h1,.mail-body h2{font-family:Manrope,sans-serif}.mail-body p{color:#546169}.mail-body input{background:white;color:#202b30;border-color:#b8c9ce}.mail-body .btn{background:#386e80;color:white;border-color:#386e80}.mail-body .btn.secondary{background:white;border-color:#a3b6c0;color:#365d70}.mail-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px}.mail-menu{display:grid;align-content:start;gap:5px}.mail-menu button{text-align:left;border:0;background:transparent;color:#405863;padding:13px;border-radius:8px}.mail-menu button.active,.mail-menu button:hover{background:#dce9ed}.message-list button{display:grid;grid-template-columns:160px 1fr 85px;text-align:left;gap:14px;padding:16px 8px;width:100%;border:0;border-bottom:1px solid #dbe3e5;background:none;color:#22343b}.message-list button:hover{background:#edf3f2}.mail-body textarea{background:white;color:#253238}.mail-body .line{border-color:#e2e8e7}.feedback{padding:13px;border-radius:8px;background:#e0efe9;color:#20583e;margin:10px 0}.feedback.error{background:#f8e9e7;color:#8c3f39}.choice{display:block;text-align:left;width:100%;padding:13px;margin:8px 0;background:#f4f5f4;border:1px solid #d6dedc;border-radius:8px;color:#31434a}.choice:hover{background:#e5edef}.mail-body .muted{color:#697a81}.mono{font:12px/1.6 ui-monospace,monospace}.import-area{width:100%;height:88px;font-family:monospace;font-size:11px}

@media(max-width:1180px){.board-layout{grid-template-columns:1fr}.board-wrap{max-height:620px}.board-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.three,.mail-layout{grid-template-columns:1fr}}
@media(max-width:750px){.shell{display:block}.sidebar{position:relative;height:auto;padding:18px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebottom{display:none}.page{padding:20px 15px 50px}.board-tools{grid-template-columns:1fr}.board-wrap{max-height:520px}.top{flex-wrap:wrap}.mail-top{padding:13px}.message-list button{grid-template-columns:1fr 55px}.message-list button span:nth-child(2){grid-column:1/-1}.mail-main{margin:15px auto}}

/* v3.1.1 — high-contrast text on dark interfaces only. */
body:not(.mail-body) { --text:#fff; --muted:#e4e9ec; color:#fff; }
body:not(.mail-body) :is(.page,.intro,.sidebar,.admin-main,.admin-login) { color:#fff; }
body:not(.mail-body) :is(h1,h2,h3,.brand,.kicker,.top,.pill,.sidebottom,.board-help,.zoom-pill,.nav button,.nav button span:first-child,.btn,.btn.secondary,.btn.ghost,.tool-group label,.connection-item button) { color:#fff; }
body:not(.mail-body) p { color:#fff; }
body:not(.mail-body) .muted { color:#e4e9ec; }
body:not(.mail-body) :is(input,select,textarea) { color:#fff; }
body:not(.mail-body) :is(input,textarea)::placeholder { color:#c3ccd2; opacity:1; }
body:not(.mail-body) :is(.page,.intro,.sidebar,.admin-main,.admin-login) a:not(.btn) { color:#fff; }
body:not(.mail-body) :is(.paper,.board-card) { color:#332c26; }
body:not(.mail-body) .paper :is(h1,h2,h3,p) { color:#312a23; }
body:not(.mail-body) .paper .muted { color:#766c60; }
body:not(.mail-body) .paper a:not(.btn) { color:#215b65; text-decoration:underline; }
body:not(.mail-body) .board-card textarea { color:#3c3223; }
body:not(.mail-body) .board-card textarea::placeholder { color:#76613a; }
body:not(.mail-body) .board-card .board-kind { color:#7b6b5a; }
body:not(.mail-body) .board-card .board-desc { color:#5f5349; }
body:not(.mail-body) .board-card .card-actions button { color:#4b4036; }
body:not(.mail-body) .notice { color:#fff; }
body:not(.mail-body) .warning { color:#fff; }
