@font-face{font-family:OfficeSerif;src:url('fonts/CormorantGaramond-Variable.ttf') format('truetype');font-display:swap}
@font-face{font-family:Hand;src:url('fonts/Caveat-Variable.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#eee5d2;--muted:#b9ae98;--paper:#e8d8b6;--paper-ink:#25251f;--wood:#35291e;--night:#171814;--panel:#23251f;--line:#75684f;--accent:#d6ad59;--good:#50b96b;--warn:#e39a42;--danger:#c95b52;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);color:var(--ink)}body{min-height:100dvh;background:radial-gradient(circle at 20% 0,#383729 0,transparent 36rem),linear-gradient(#20211c,#11120f);overscroll-behavior:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:999;background:#fff;color:#000;padding:.7rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #ffd77d;outline-offset:3px}.app{min-height:100dvh}.boot-screen,.auth-screen{min-height:100dvh;display:grid;place-content:center;justify-items:center;padding:2rem;text-align:center}.boot-screen img,.auth-logo{filter:drop-shadow(0 10px 18px #0008)}.auth-card{width:min(30rem,100%);padding:clamp(1.3rem,4vw,2.2rem);border:1px solid #8b7958;border-radius:8px;background:linear-gradient(145deg,#eee0bd,#cdb88e);color:var(--paper-ink);box-shadow:0 24px 70px #000b}.auth-card h1{font:700 clamp(2rem,7vw,3.2rem)/.9 OfficeSerif;margin:.8rem 0}.auth-card label{display:block;text-align:left;font-weight:700;margin:.9rem 0 .35rem}.field{width:100%;border:1px solid #706044;border-radius:4px;padding:.8rem;background:#fffdf5;color:#161711}.pin-field{font-size:2rem;letter-spacing:.55em;text-align:center;font-variant-numeric:tabular-nums}.primary,.secondary,.icon-button{border:1px solid #8e7442;border-radius:4px;cursor:pointer}.primary{width:100%;margin-top:1.2rem;padding:.85rem 1rem;background:#34352d;color:#fff7df;font-weight:800}.secondary{padding:.65rem .85rem;background:#e5d2a8;color:#24251f}.primary:disabled,.secondary:disabled{opacity:.55;cursor:wait}.error{color:#8c201b;font-weight:700}.muted{color:var(--muted)}.auth-card .muted{color:#5f5747}.shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.8rem;min-height:64px;padding:calc(.55rem + var(--safe-top)) clamp(.75rem,3vw,2rem) .55rem;background:#171814ed;border-bottom:1px solid #6c624c;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font:700 1.25rem OfficeSerif}.brand img{width:38px;height:38px}.topbar-title{flex:1;min-width:0;font:700 1.45rem OfficeSerif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:.4rem}.icon-button{display:grid;place-content:center;min-width:42px;min-height:42px;background:#2d2e27;color:var(--ink)}.content{width:min(1200px,100%);margin:auto;padding:clamp(1rem,3vw,2rem);padding-bottom:calc(6rem + var(--safe-bottom))}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,32rem);gap:clamp(1.2rem,5vw,4rem);align-items:center;min-height:55vh}.hero h1,.section-title{font:700 clamp(2.2rem,6vw,4.6rem)/.9 OfficeSerif;margin:.2em 0}.hero-art{width:100%;max-height:60vh;object-fit:cover;border:10px solid #ddd0ad;transform:rotate(1.5deg);box-shadow:0 20px 50px #000b}.case-grid,.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem}.case-card,.panel,.evidence-card,.suspect-card{background:linear-gradient(150deg,#2b2d26,#1d1f1a);border:1px solid #675e49;border-radius:8px;overflow:hidden;box-shadow:0 10px 26px #0005}.case-card{cursor:pointer;text-align:left;color:inherit;padding:0}.case-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.case-card-body,.panel{padding:1rem}.case-card h2,.panel h2{font:700 1.7rem OfficeSerif;margin:.1rem 0}.badge{display:inline-block;padding:.2rem .45rem;border:1px solid currentColor;border-radius:99px;font-size:.75rem;color:#d8c28f}.download-progress{width:100%}.game-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.3rem;align-items:start}.side-nav{position:sticky;top:82px;display:grid;gap:.4rem}.nav-button,.bottom-nav a{color:var(--muted);text-decoration:none;border:0;background:transparent;cursor:pointer}.nav-button{padding:.72rem .8rem;text-align:left;border-left:3px solid transparent}.nav-button.active{color:#fff1c9;border-color:var(--accent);background:#ffffff0b}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;display:none;grid-auto-flow:column;grid-auto-columns:1fr;padding:.3rem .35rem calc(.3rem + var(--safe-bottom));background:#171814f5;border-top:1px solid #6c624c;backdrop-filter:blur(12px)}.bottom-nav a{display:grid;place-items:center;gap:.15rem;min-height:54px;font-size:.7rem}.bottom-nav a span{font-size:1.25rem}.bottom-nav a.active{color:#ffe5a4}.paper{background:linear-gradient(#eadcbb,#d7c49d);color:var(--paper-ink);border:1px solid #8a7754;box-shadow:0 16px 35px #0007;padding:clamp(1.1rem,4vw,2.5rem);font-family:OfficeSerif;font-size:1.2rem}.media-asset{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}.media-player{width:100%}.evidence-card,.suspect-card{display:grid;grid-template-columns:5.5rem 1fr;gap:.8rem;padding:.65rem;text-decoration:none;color:inherit}.evidence-card img,.suspect-card img{width:5.5rem;height:5.5rem;object-fit:cover;background:#0c0d0b}.unread{border-color:var(--accent)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(15rem,.6fr);gap:1.2rem}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.notebook{width:100%;min-height:55vh;padding:1.5rem;background:#f1e5c5;color:#29251d;font:1.35rem/1.45 Hand;border:0;box-shadow:0 12px 30px #0008}.map{position:relative;max-width:900px;margin:auto}.map>img{display:block;width:100%}.map-marker{position:absolute;transform:translate(-50%,-50%);min-width:2.2rem;min-height:2.2rem;border-radius:50%;border:2px solid #f3d17f;background:#272820;color:#fff;cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#000b}.modal{width:min(42rem,100%);max-height:90dvh;overflow:auto;background:#25261f;border:1px solid #9b8354;border-radius:8px;padding:1.2rem}.fingerprint-module{display:grid;grid-template-rows:auto minmax(18rem,1fr) auto;gap:.7rem;height:min(72vh,48rem)}.finger-strip{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem}.finger-card{flex:0 0 7rem;background:#111;border:2px solid #ffffff24;color:#eee;padding:.25rem;cursor:pointer}.finger-card img{width:100%;height:4.5rem;object-fit:contain}.finger-card.linked{border-color:var(--warn)}.finger-card.active{border-color:var(--good)}.light-table{position:relative;overflow:hidden;touch-action:none;border:2px solid #b8a474;border-radius:12px;background:radial-gradient(circle,#f7faef,#d9e4d6 65%,#7b8a84)}.finger-layer{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;user-select:none;-webkit-user-drag:none}.finger-found{opacity:.48;cursor:grab}.finger-found:active{cursor:grabbing}.rotate-handle{display:none;position:absolute;right:1rem;top:1rem;width:2.8rem;height:2.8rem;border-radius:50%;border:2px solid #263;color:#263;background:#fff9;cursor:grab}.light-table:hover .rotate-handle,.finger-found:focus-visible~.rotate-handle{display:block}.match-flash{animation:match-flash .9s ease-out}.qr-preview{width:min(100%,38rem);background:#000;aspect-ratio:4/3}.status-dot{width:.65rem;height:.65rem;border-radius:50%;display:inline-block;background:var(--warn)}.status-dot.online{background:var(--good)}.toast-region{position:fixed;z-index:120;top:calc(1rem + var(--safe-top));right:1rem;display:grid;gap:.5rem}.toast{max-width:24rem;padding:.8rem 1rem;border:1px solid #9b8354;background:#25261f;color:#fff;border-radius:5px;box-shadow:0 8px 24px #0008}.update-banner{position:fixed;z-index:60;left:1rem;right:1rem;bottom:calc(5rem + var(--safe-bottom));margin:auto;width:min(38rem,calc(100% - 2rem));padding:1rem;background:#302d23;border:1px solid var(--accent);border-radius:6px}.hidden{display:none!important}@keyframes match-flash{0%{box-shadow:inset 0 0 0 100vmax #42c96b66}100%{box-shadow:inset 0 0 0 100vmax transparent}}
@media(max-width:760px){.topbar{min-height:58px}.brand strong{display:none}.content{padding:.85rem .8rem 6rem}.game-layout{display:block}.side-nav{display:none}.bottom-nav{display:grid}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{order:-1;max-height:34vh}.detail-grid{grid-template-columns:1fr}.section-title{font-size:2.5rem}.top-actions .desktop-only{display:none}}
@media(orientation:landscape) and (max-height:500px){.topbar{position:relative;padding-top:.4rem}.content{padding-bottom:4.5rem}.bottom-nav{grid-auto-flow:row;grid-template-columns:repeat(6,1fr)}.bottom-nav a{min-height:42px}.fingerprint-module{height:calc(100dvh - 7.5rem);grid-template-columns:9rem 1fr 9rem;grid-template-rows:1fr}.finger-strip{flex-direction:column}.finger-card{flex:0 0 5.5rem}}
@media(min-width:1400px){.content{width:min(1500px,100%)}.case-grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(hover:none){.rotate-handle{display:none!important}}
.finger-card.selected{border-color:var(--accent)}

/* Fallcover wie im öffentlichen Katalog vollständig und horizontal zeigen. */
.case-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,32rem),1fr))}
.case-card{display:grid;grid-template-columns:minmax(9rem,12.5rem) minmax(0,1fr);min-height:15rem}
.case-card>img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;padding:.8rem;background:#130e09b8}
.case-card-body{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
@media(max-width:560px){.case-card{grid-template-columns:7.5rem minmax(0,1fr);min-height:11rem}.case-card>img{padding:.45rem}}

/* Browser-Layout auf Basis der gelieferten App-Grafiken. */
body{background:#100e0b url('images/asset_bg_texture.png') center top/cover fixed}
.auth-screen{overflow:auto;background:#090806 url('images/login_bg.jpg') center/cover fixed}
.auth-card{width:min(47rem,calc(100vw - 2rem));min-height:40.7rem;padding:10.7rem clamp(4rem,8vw,6rem) 3.2rem;border:0;border-radius:0;background:url('images/modal_bg.png') center/100% 100% no-repeat;color:var(--paper-ink);box-shadow:0 24px 70px #000c;filter:none}
.auth-form{width:100%;max-width:36rem;margin:auto}
.auth-card h1{font-size:clamp(2.15rem,5vw,3.5rem);margin:.2rem 0 .35rem}
.auth-card label{margin:.7rem 0 .3rem}
.auth-kicker{margin:0;color:#74501e;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.auth-lead{margin:.15rem 0 .7rem;color:#4b4438}
.auth-card .field{border-color:#806b48;border-radius:7px;padding:.72rem .85rem;background:#fffaf0e8;box-shadow:inset 0 2px 7px #6b512629}
.auth-card .field:focus{border-color:#d2a84e;box-shadow:0 0 0 3px #e9bc5266,inset 0 2px 7px #6b512629}
.field-help{margin:.2rem 0 0;text-align:left;color:#685d4c;font-size:.78rem}
.pin-fieldset{border:0;margin:.65rem 0 0;padding:0}
.pin-fieldset legend{width:100%;margin-bottom:.4rem;text-align:left;font-weight:800}
.pin-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.35rem,1.8vw,.7rem)}
.pin-cell{width:100%;aspect-ratio:1;border:1px solid #806b48;border-radius:8px;background:#fffaf0e8;color:#241d13;text-align:center;font:800 clamp(1.4rem,5vw,2rem) OfficeSerif;font-variant-numeric:tabular-nums;box-shadow:inset 0 2px 7px #6b512629}
.pin-cell:focus{border-color:#bd8320;box-shadow:0 0 0 3px #e9bc5266;outline:0}
.auth-card .primary{min-height:3.6rem;margin-top:1rem;padding:.85rem 1.2rem;border:0;background:url('images/login_button.png') center/100% 100% no-repeat;color:#e8c77f;font-family:OfficeSerif;font-size:1.12rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px #000}
.auth-switch{margin:.7rem auto 0;border:0;background:transparent;color:#5e451e;font-size:.88rem;font-weight:800;text-decoration:underline;cursor:pointer}
.auth-hint{margin:.7rem 0 0;color:#655c4d;font-size:.84rem}
.auth-card .error{min-height:1.15em;margin:.5rem 0 0}
.topbar{background:#17120ded url('images/asset_bg_texture.png') center/cover;border-bottom-color:#8d6a2c;box-shadow:0 8px 24px #0008}
.office-home{min-height:calc(100dvh - 9rem);margin:calc(clamp(1rem,3vw,2rem)*-1);padding:clamp(1.3rem,4vw,3.5rem);display:grid;align-content:space-between;background:linear-gradient(90deg,#07060526,#070605b8),url('images/hub_office_room_extended.jpg') center/cover;border:1px solid #765522;box-shadow:inset 0 0 5rem #000b}
.office-heading{max-width:42rem;text-shadow:0 2px 8px #000}
.office-heading h1{font:700 clamp(2.8rem,6vw,5.4rem)/.85 OfficeSerif;margin:.15em 0}
.office-heading p:not(.badge){font-size:1.08rem;color:#d7c6a5}
.office-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,2vw,1.2rem);width:min(70rem,100%);margin:clamp(2rem,12vh,8rem) auto 0}
.office-links a{min-height:9rem;display:grid;grid-template-columns:5.5rem 1fr;grid-template-rows:1fr 1fr;align-items:end;column-gap:1rem;padding:1rem;color:#f2dfb7;text-decoration:none;background:linear-gradient(145deg,#2a1c12e8,#0e0b09f2);border:1px solid #a57a32;border-radius:10px;box-shadow:0 12px 28px #000a,inset 0 0 20px #9c6e2318}
.office-links img{grid-row:1/3;width:5.5rem;height:5.5rem;object-fit:contain;align-self:center}
.office-links strong{font:700 1.65rem OfficeSerif}.office-links span{align-self:start;color:#aa9675;font-size:.86rem}
.hero{min-height:27rem;padding:clamp(1.4rem,4vw,3rem);background:linear-gradient(90deg,#0c0906f0,#0c090676),url('images/faelle_bg.jpg') center/cover;border:1px solid #755526;border-radius:12px;box-shadow:0 16px 40px #0008}
.hero-art{display:none}.case-card{background:#21160f url('images/neue_faelle_item_bg.png') center/100% 100%}
.panel,.evidence-card,.suspect-card{background:#201712 url('images/fall_item_bg.png') center/100% 100%}
.paper{background:#ead39d url('images/briefing_backgound.png') center/100% 100% no-repeat;padding:clamp(2rem,6vw,5rem);border:0;filter:drop-shadow(0 12px 22px #0009)}
.bottom-nav{background:#17100d url('images/asset_bottom_bar.png') center/100% 100% no-repeat;border-top:0;padding:.45rem .5rem calc(.5rem + var(--safe-bottom))}
.bottom-nav a img{width:2.1rem;height:2.1rem;object-fit:contain}.bottom-nav a.active{border:1px solid #d0a64c;border-radius:10px;background:#50311b99}

@media(max-width:760px){
  .auth-screen{padding:.5rem;align-content:start}.auth-card{width:100%;min-height:calc(100dvh - 1rem);padding:13.2rem clamp(2rem,10vw,4rem) 3.2rem;background-size:100% 100%}
  .auth-card h1{font-size:clamp(2rem,10vw,3rem)}.auth-lead{font-size:.9rem}.auth-card label{font-size:.9rem}.auth-card .field{padding:.65rem .75rem}.auth-card .primary{font-size:.94rem;letter-spacing:.025em}
  .office-home{min-height:calc(100dvh - 7rem)}.office-links{grid-template-columns:1fr;margin-top:3rem}.office-links a{min-height:6.5rem}
}
@media(orientation:landscape) and (max-height:600px){
  .auth-screen{display:block;padding:.4rem}.auth-card{width:min(40rem,calc(100vw - .8rem));min-height:37rem;margin:auto;padding:10rem 4.8rem 2.7rem}.auth-card h1{font-size:2.2rem}.auth-lead{margin-bottom:.35rem}.auth-card label{margin:.4rem 0 .2rem}.auth-card .field{padding:.55rem .7rem}.auth-card .primary{min-height:3rem;margin-top:.65rem}.auth-switch{margin-top:.35rem}
  .office-home{min-height:calc(100dvh - 4rem);grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr);align-items:end;gap:1rem}.office-links{margin:0;grid-template-columns:repeat(3,1fr)}.office-links a{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;min-height:8rem;padding:.65rem}.office-links img{grid-row:auto;width:3.5rem;height:3.5rem;margin:auto}.office-links strong{font-size:1.15rem}.office-heading h1{font-size:3rem}
}

/* Gemeinsame Browser-App-Hülle – die Seiten werden zentral über PHP-Klassen definiert. */
:root{--portal-gold:#c89845;--portal-gold-light:#e5c77d;--portal-border:#6b4e25;--portal-panel:#17130fef;--portal-sidebar:18.25rem}
.portal-shell{min-height:100dvh;display:grid;grid-template-columns:var(--portal-sidebar) minmax(0,1fr);background:#0c0a08;color:#ded3bd;transition:grid-template-columns .22s ease}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:var(--portal-sidebar);z-index:35;display:flex;flex-direction:column;padding:1.65rem .95rem 1.35rem;border-right:1px solid #765527;background:linear-gradient(#0d0b09e8,#0b0a08f5),url('images/asset_bg_texture.png') center/cover;box-shadow:8px 0 30px #0008;transition:width .22s ease,transform .22s ease}
.portal-stage{grid-column:2}
.sidebar-controls{position:absolute;z-index:2;right:-1rem;top:.75rem}.sidebar-collapse,.sidebar-close,.sidebar-menu{display:grid;place-content:center;border:1px solid #8a632c;background:#17110c;color:#dfbd76;cursor:pointer}.sidebar-collapse{width:2rem;height:2rem;border-radius:50%;font-size:1.45rem}.sidebar-close,.sidebar-menu{display:none;width:2.6rem;height:2.6rem;border-radius:8px;font-size:1.2rem}.sidebar-scrim{display:none}
.sidebar-collapsed{grid-template-columns:5.25rem minmax(0,1fr)}.sidebar-collapsed .portal-sidebar{width:5.25rem;padding-inline:.45rem}.sidebar-collapsed .portal-logo strong,.sidebar-collapsed .portal-logo small,.sidebar-collapsed .portal-nav-link span,.sidebar-collapsed .portal-logout b{display:none}.sidebar-collapsed .portal-logo img{width:3.6rem;height:3.6rem}.sidebar-collapsed .portal-navigation{margin-top:2.2rem}.sidebar-collapsed .portal-nav-link{grid-template-columns:1fr;justify-items:center;padding:.45rem}.sidebar-collapsed .portal-logout{justify-content:center}.sidebar-collapsed .sidebar-collapse{transform:rotate(180deg)}
.portal-logo{display:grid;justify-items:center;color:#e5c885;text-align:center;text-decoration:none;text-transform:uppercase;font-family:OfficeSerif;letter-spacing:.045em}
.portal-logo img{width:4.9rem;height:4.9rem;object-fit:contain;filter:sepia(.2) drop-shadow(0 4px 10px #000)}
.portal-logo strong{font-size:1.7rem;line-height:.92}.portal-logo small{margin-top:.55rem;color:#a99b82;font:500 .78rem system-ui;text-transform:none;letter-spacing:.02em}
.portal-navigation{display:grid;gap:.35rem;margin-top:2.75rem}.portal-nav-link{display:grid;grid-template-columns:2.4rem 1fr;align-items:center;gap:.75rem;min-height:3.8rem;padding:.55rem 1rem;border:1px solid transparent;border-radius:13px;color:#d4c8b2;text-decoration:none}.portal-nav-link img{width:2.2rem;height:2.2rem;object-fit:contain;filter:drop-shadow(0 2px 3px #000)}.portal-nav-link:hover{color:#f0ddb4;background:#ffffff08}.portal-nav-link.active{border-color:#a77a34;background:linear-gradient(110deg,#6b4b20b8,#49331b7a);color:#f1ddb0;box-shadow:inset 0 0 25px #d59f3820}
.portal-logout{display:flex;align-items:center;gap:1rem;margin-top:auto;padding:1.2rem .8rem .25rem;border:0;border-top:1px solid #4f402b;background:transparent;color:#d4c8b2;cursor:pointer}.portal-logout span{font-size:1.7rem;color:var(--portal-gold-light)}
.portal-stage{min-width:0;display:grid;grid-template-rows:4.8rem minmax(0,1fr) auto;background:#0d0b09}
.portal-topbar{position:sticky;top:0;z-index:25;display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:.5rem 1.8rem;border-bottom:1px solid #2c241a;background:#090806e8;backdrop-filter:blur(12px)}
.topbar-spacer{flex:1}.notification-button{border:0;background:transparent;color:#e6bc65;font-size:1.25rem;cursor:pointer}.profile-chip{display:flex;align-items:center;gap:.8rem;border:0;background:transparent;color:#eee4d3;text-align:right;cursor:pointer}.profile-chip span{display:grid}.profile-chip small{color:#bba983}.profile-chip img{width:3rem;height:3rem;border:2px solid #c69a4a;border-radius:50%;object-fit:cover;background:#272117}
.portal-content{position:relative;isolation:isolate;min-width:0;padding:clamp(1.5rem,3.1vw,3.5rem);background:linear-gradient(90deg,#0c0a09e8,#0c0a09a8),url('images/profil_bg.jpg') center top/cover fixed}.portal-content::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0005,transparent 60%,#0004)}
body[data-page="cases"] .portal-content{background-image:linear-gradient(90deg,#0c0a09e5,#0c0a09a0),url('images/faelle_bg.jpg')}body[data-page="trophies"] .portal-content,body[data-page="trophy-wall"] .portal-content{background-image:linear-gradient(90deg,#0c0a09dc,#0c0a09a0),url('images/trophae_bg.jpg')}
.portal-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 2.2rem;border-top:1px solid #5c4527;background:#090806;color:#968b78;font-size:.78rem}.portal-footer nav{display:flex;gap:2rem}.portal-footer a{color:inherit;text-decoration:none}.portal-footer a:hover{color:#e3c477}
.portal-mobile-nav{display:none}
.portal-page-heading{max-width:51rem;margin-bottom:2rem;text-shadow:0 2px 8px #000}.portal-page-heading h1,.office-profile h1{margin:0;color:#eadcbf;font:700 clamp(2.8rem,5vw,4.4rem)/.95 OfficeSerif}.portal-page-heading>p{margin:.4rem 0;color:#c8bda9;font-size:1.08rem}.portal-page-heading .portal-page-copy{max-width:37rem;margin-top:1.25rem;line-height:1.55}
.portal-card{border:1px solid var(--portal-border);border-radius:18px;background:linear-gradient(140deg,#211b15ed,#12100ded);box-shadow:0 14px 35px #0007,inset 0 0 22px #d6a54a0a}.portal-card h2,.shelf-frame h2{margin:.1rem 0 1rem;color:#dfbd76;font:700 1.65rem OfficeSerif}
.office-dashboard{display:grid;gap:1rem}.office-profile{display:flex;align-items:center;gap:1.8rem;min-height:12rem}.office-avatar{width:9rem;height:9rem;object-fit:cover;border:3px solid #c89b4b;border-radius:50%;background:#31291d;box-shadow:0 10px 35px #000a}.office-profile p{font-size:1.05rem}
.office-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--portal-border);border-radius:18px;background:#17130fef;overflow:hidden}.stat-tile{display:grid;grid-template-columns:4.3rem 1fr;grid-template-rows:1fr 1fr;align-items:end;gap:0 1rem;min-height:7.4rem;padding:1rem 1.35rem;border-right:1px solid #4c3b25}.stat-tile:last-child{border-right:0}.stat-tile img{grid-row:1/3;width:4.1rem;height:4.1rem;object-fit:contain;align-self:center}.stat-tile span{color:#bdaf97}.stat-tile strong{align-self:start;color:#dfbd76;font:700 2rem OfficeSerif}
.office-columns{display:grid;grid-template-columns:1.2fr 1fr 1.35fr;gap:.8rem}.office-columns>.portal-card{min-width:0;padding:1.2rem}.account-row{width:100%;display:grid;grid-template-columns:2.8rem 1fr auto;align-items:center;gap:.7rem;min-height:4.2rem;padding:.45rem 0;border:0;border-bottom:1px solid #4a3a27;background:transparent;color:#dcd1bd;text-align:left}.account-row:last-child{border-bottom:0}.account-row img{width:2.65rem;height:2.65rem;object-fit:contain}.account-row span{display:grid;min-width:0}.account-row small,.achievement-row small{color:#9f9179}.account-row button,.account-row{font:inherit}.account-row:is(button){cursor:pointer}.check{display:grid;place-content:center;width:1.65rem;height:1.65rem;border:2px solid #73a32d;border-radius:50%;color:#8fbd42}.pending{color:#d79742}
.achievements-card{display:flex;flex-direction:column}.achievement-row{display:grid;grid-template-columns:4.5rem 1fr;align-items:center;gap:.8rem;margin:.3rem 0}.achievement-row img{width:4.5rem;height:4.5rem;object-fit:contain}.achievement-row span{display:grid}.outline-action{display:flex;justify-content:space-between;margin-top:auto;padding:.7rem 1rem;border:1px solid #765526;border-radius:9px;background:#15110d;color:#dbc38f;cursor:pointer}.card-heading{display:flex;justify-content:space-between;gap:.7rem}.status-pill{height:max-content;padding:.35rem .8rem;border:1px solid #6a5230;border-radius:2rem;color:#d5bf91;font-size:.75rem}.active-case-card{display:flex;flex-direction:column}.active-case-summary{display:grid;grid-template-columns:4.2rem 1fr;gap:.7rem}.active-case-summary>img{width:4rem;height:4rem;object-fit:contain}.active-case-summary h3{margin:0;font-family:OfficeSerif;font-size:1.3rem}.active-case-summary small{color:#9d8e75}.active-case-summary p{line-height:1.45}.gold-action{min-height:2.9rem;padding:.6rem 1.2rem;border:1px solid #d5a34c;border-radius:8px;background:linear-gradient(#8a642e,#5d401f);color:#f2dfb6;cursor:pointer}.gold-action:disabled{opacity:.45;cursor:not-allowed}.active-case-card .gold-action{width:100%;margin-top:auto}.empty-copy,.empty-state{color:#aa9e89}.empty-state{padding:2rem}.wide-action{width:100%;margin-top:1rem}
.catalog-toolbar{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.filter-group{display:flex;flex-wrap:wrap;gap:.55rem}.filter-button,.sort-control{min-height:2.8rem;padding:.55rem 1rem;border:1px solid #5f492b;border-radius:1.5rem;background:#15120f;color:#cabda5}.filter-button{cursor:pointer}.filter-button.active{border-color:#ddae56;background:#795627;color:#fff0c9}.sort-control{display:flex;align-items:center;gap:.4rem;border-radius:10px}.sort-control select{border:0;background:transparent;color:#dec58f}.sort-control option{background:#17130f}
.case-list{display:grid;gap:.8rem}.catalog-case-card{position:relative;display:grid;grid-template-columns:11rem minmax(0,1fr) 13rem;align-items:center;gap:1rem;min-height:12.5rem;padding:1rem;border:1px solid var(--portal-border);border-radius:18px;background:linear-gradient(100deg,#1a1511f5,#16130ff2);box-shadow:0 12px 30px #0007}.case-cover{width:10.3rem;height:10.3rem;padding:.3rem;object-fit:contain;background:#25190f;border:1px solid #4f3a20;transform:rotate(-2deg);box-shadow:0 8px 18px #0008}.case-status{position:absolute;z-index:2;left:.8rem;top:.75rem;padding:.32rem .7rem;border:1px solid #bd8a34;border-radius:2rem;background:#654719;color:#f1d9a8;font-size:.76rem}.case-status.solved{border-color:#527b5f;background:#274d34;color:#cfe5d5}.catalog-case-copy h2{margin:.1rem 0;color:#e1c489;font:700 2rem OfficeSerif}.catalog-case-copy>p{max-width:49rem;margin:.35rem 0 1rem;color:#bdb19c;line-height:1.4}.case-facts{display:flex;flex-wrap:wrap;gap:.8rem}.case-facts>span{display:grid;grid-template-columns:2rem auto;grid-template-rows:auto auto;min-width:9rem;padding-right:1rem;border-right:1px solid #493821}.case-facts>span:last-child{border-right:0}.case-facts img{grid-row:1/3;width:1.7rem;height:1.7rem;object-fit:contain;align-self:center}.case-facts small{color:#8e826e}.case-facts strong{color:#d1b16e;font-size:.9rem}.case-open{justify-self:stretch}.case-open:only-child{align-self:center}
.trophy-page{max-width:95rem}.shelf-frame{margin:1rem 0;padding:1rem;border:1px solid var(--portal-border);border-radius:18px;background:#17130feb}.trophy-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;min-height:13rem;padding:1rem 1.2rem 1.6rem;background:linear-gradient(#0002,#0007),url('images/trophy_shelf_wood.jpg') center 58%/cover;border:8px solid #4d2c14;box-shadow:inset 0 8px 20px #000c,inset 0 -9px 12px #8d512777}.shelf-frame:first-of-type .trophy-shelf{grid-template-columns:repeat(3,minmax(0,1fr));min-height:19rem}.trophy{text-align:center;filter:drop-shadow(0 10px 8px #000b)}.trophy>img{width:min(100%,9.5rem);height:9rem;object-fit:contain}.shelf-frame:first-of-type .trophy>img{height:13rem}.trophy>div{display:grid;width:min(12rem,100%);margin:auto;padding:.45rem;background:#1b1712;border:1px solid #7e5b2c;border-radius:5px}.trophy small,.trophy time{font-size:.7rem;color:#b5a78e}.trophy-slot{width:75%;aspect-ratio:1;margin:auto;border:2px solid #80512a;border-radius:10px;box-shadow:inset 0 0 30px #0009}.trophy-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem}.trophy-summary{display:grid;grid-template-columns:7rem 1fr;align-items:center;padding:1rem}.trophy-summary>img{width:6.5rem;height:6.5rem;object-fit:contain}.trophy-summary h2{margin-bottom:.2rem}.rating-list{display:grid;gap:.8rem}.rating-row{display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1rem}.rating-row>img{width:4rem;height:4rem;object-fit:contain}.rating-row h2{margin:0}.profile-page-card{display:grid;grid-template-columns:15rem 1fr;gap:2rem;max-width:60rem;padding:2rem}.profile-large-avatar{width:14rem;height:14rem;border:3px solid #c69a4a;border-radius:50%;object-fit:cover;background:#2c241a}.profile-page-card h1{margin:.1rem 0;font:700 3rem OfficeSerif;color:#ebd8b2}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#c69a4a;font-size:.75rem}.profile-page-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.5rem}.profile-page-card dl div{padding:.8rem;border:1px solid #523f27;border-radius:8px}.profile-page-card dt{color:#9f927e;font-size:.8rem}.profile-page-card dd{margin:.15rem 0 0;color:#dec17f;font:700 1.4rem OfficeSerif}

@media(max-width:1180px){.office-columns{grid-template-columns:1fr 1fr}.active-case-card{grid-column:1/-1}.office-stats{grid-template-columns:repeat(2,1fr)}.stat-tile:nth-child(2){border-right:0}.stat-tile:nth-child(-n+2){border-bottom:1px solid #4c3b25}.catalog-case-card{grid-template-columns:9rem minmax(0,1fr)}.case-cover{width:8.5rem;height:9rem}.case-open{grid-column:2}.case-facts>span{min-width:8rem}}
@media(max-width:900px){.portal-shell,.portal-shell.sidebar-collapsed{display:block;padding-bottom:calc(4.7rem + var(--safe-bottom))}.portal-stage{grid-column:auto;min-height:calc(100dvh - 4.7rem);grid-template-rows:4rem minmax(0,1fr) auto}.portal-sidebar,.sidebar-collapsed .portal-sidebar{width:min(19rem,86vw);padding:1.65rem .95rem 1.35rem;transform:translateX(-110%)}.portal-shell.sidebar-open .portal-sidebar{transform:translateX(0)}.sidebar-collapsed .portal-logo strong,.sidebar-collapsed .portal-logo small,.sidebar-collapsed .portal-nav-link span,.sidebar-collapsed .portal-logout b{display:initial}.sidebar-collapsed .portal-logo img{width:4.9rem;height:4.9rem}.sidebar-collapsed .portal-navigation{margin-top:2.75rem}.sidebar-collapsed .portal-nav-link{grid-template-columns:2.4rem 1fr;justify-items:initial;padding:.55rem 1rem}.sidebar-collapsed .portal-logout{justify-content:flex-start}.sidebar-controls{right:.65rem}.sidebar-collapse{display:none}.sidebar-close,.sidebar-menu{display:grid}.sidebar-scrim{position:fixed;z-index:34;inset:0;border:0;background:#000a}.portal-shell.sidebar-open .sidebar-scrim{display:block}.portal-topbar{padding:.35rem .8rem}.portal-mobile-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:.3rem .25rem calc(.35rem + var(--safe-bottom));background:#100d0bf2;border-top:1px solid #755426;backdrop-filter:blur(14px)}.portal-mobile-nav .portal-nav-link{display:grid;justify-items:center;gap:.1rem;min-height:3.8rem;padding:.2rem;border:0;border-radius:8px;font-size:.67rem}.portal-mobile-nav .portal-nav-link img{width:1.8rem;height:1.8rem}.portal-mobile-nav .portal-nav-link.active{background:#62451f}.portal-content{padding:1.2rem}.portal-footer{padding:1rem;display:block;text-align:center}.portal-footer nav{justify-content:center;margin-top:.7rem}.office-profile{min-height:9rem}.office-avatar{width:6rem;height:6rem}.office-columns{grid-template-columns:1fr}.active-case-card{grid-column:auto}.catalog-case-card{grid-template-columns:7.7rem minmax(0,1fr);padding:.75rem}.case-cover{width:7.2rem;height:8rem}.case-facts{display:grid;grid-template-columns:repeat(2,1fr)}.case-facts>span{border-right:0}.trophy-shelf{overflow-x:auto;grid-template-columns:repeat(5,9rem)}.shelf-frame:first-of-type .trophy-shelf{grid-template-columns:repeat(3,11rem)}.profile-page-card{grid-template-columns:9rem 1fr}.profile-large-avatar{width:8rem;height:8rem}}
@media(max-width:600px){.profile-chip small{display:none}.portal-page-heading{margin-bottom:1.25rem}.portal-page-heading h1,.office-profile h1{font-size:2.65rem}.office-stats{grid-template-columns:1fr 1fr}.stat-tile{grid-template-columns:2.8rem 1fr;min-height:5.4rem;padding:.65rem}.stat-tile img{width:2.6rem;height:2.6rem}.stat-tile strong{font-size:1.4rem}.catalog-toolbar{display:grid}.sort-control{justify-content:space-between}.catalog-case-card{grid-template-columns:6.2rem minmax(0,1fr);gap:.65rem}.case-cover{width:5.8rem;height:7rem}.catalog-case-copy h2{font-size:1.45rem}.catalog-case-copy>p{font-size:.86rem}.case-facts{grid-template-columns:1fr}.case-facts>span{min-width:0}.case-open{grid-column:1/-1}.case-status{font-size:.65rem}.profile-page-card{grid-template-columns:1fr;text-align:center}.profile-large-avatar{margin:auto}.profile-page-card dl{grid-template-columns:1fr}.portal-footer nav{gap:1rem}.auth-card{padding-left:1.5rem;padding-right:1.5rem}}
@media(max-width:900px){.portal-shell,.portal-shell.sidebar-collapsed{padding-bottom:0}.portal-stage{min-height:100dvh}}

/* Echtes Büro aus dem synchronisierten App-Layout. */
body[data-page="office"] .portal-content{padding:clamp(.8rem,1.8vw,1.6rem);background:#090705}
.room-page{display:grid;grid-template-rows:auto minmax(32rem,calc(100dvh - 11.5rem));gap:.8rem;min-height:calc(100dvh - 9rem)}
.room-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.15rem .4rem;color:#e8d7b9}.room-header h1{margin:0;font:700 clamp(2rem,3vw,2.8rem) OfficeSerif}.room-header p{margin:.1rem 0;color:#a99a82}.room-reputation{display:flex;align-items:center;gap:.65rem;padding:.45rem .9rem;border:1px solid #8b6229;border-radius:9px;background:#17110cd9}.room-reputation>img{width:2.3rem;height:2.3rem;object-fit:contain}.room-reputation span{display:grid}.room-reputation small{color:#9f917a}.room-reputation strong{color:#e5bc65;font:700 1.4rem OfficeSerif}
.office-scene{position:relative;isolation:isolate;min-height:32rem;overflow:hidden;border:1px solid #755326;border-radius:18px;background-position:center;background-size:cover;box-shadow:inset 0 0 5rem #000,0 18px 45px #0009}.office-scene::before{content:"";position:absolute;z-index:-1;inset:-1rem;background:inherit;filter:blur(10px);transform:scale(1.04)}.office-scene-canvas{position:absolute;inset:0 auto 0 50%;height:100%;max-width:100%;transform:translateX(-50%);overflow:hidden;background:#100c08;box-shadow:0 0 4rem #000c}.office-room-image,.office-room-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.office-room-image{z-index:1}.office-scene-item{position:absolute;z-index:10;object-fit:fill}.office-room-foreground{z-index:10000;pointer-events:none}.office-scene-shade{position:absolute;z-index:11000;inset:0;background:linear-gradient(180deg,transparent 48%,#0705034d 66%,#070503e8 100%);pointer-events:none}
.office-actions{position:absolute;z-index:12000;left:50%;bottom:1rem;width:min(51rem,calc(100% - 2rem));display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;transform:translateX(-50%)}.office-action{position:relative;display:grid;grid-template-columns:4.5rem 1fr auto;grid-template-rows:1fr 1fr;align-items:end;gap:0 .65rem;min-height:8.5rem;padding:1rem;border:1px solid #9b7032;border-radius:12px;background:linear-gradient(145deg,#302116e8,#0b0806ed);color:#ead9ba;text-decoration:none;box-shadow:0 12px 24px #000b,inset 0 0 28px #d59c3210}.office-action:hover,.office-action:focus-visible{border-color:#e0af53;background:linear-gradient(145deg,#54391de8,#17100bed)}.office-action>img{grid-row:1/3;width:4.3rem;height:4.3rem;object-fit:contain;align-self:center}.office-action strong{font:700 1.35rem OfficeSerif}.office-action small{align-self:start;color:#a99a82}.office-action>b{grid-column:3;grid-row:1/3;align-self:end;color:#dbaa4e;font-size:1.5rem}.office-action-badge{position:absolute;right:.5rem;top:.5rem;display:grid;place-content:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border:1px solid #d19d43;border-radius:1rem;background:#5b3217;color:#ffe3a2;font-size:.75rem}
.profile-dashboard .office-profile{min-height:12rem}
@media(max-width:900px){body[data-page="office"] .portal-content{padding:.65rem}.room-page{grid-template-rows:auto minmax(34rem,calc(100dvh - 6.2rem));min-height:auto}.office-scene{min-height:34rem}.office-actions{bottom:.65rem;width:calc(100% - 1rem);gap:.4rem}.office-action{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;align-content:center;min-height:7rem;padding:.55rem .35rem;text-align:center}.office-action>img{grid-row:auto;width:3.2rem;height:3.2rem}.office-action strong{font-size:1rem}.office-action small,.office-action>b{display:none}}
@media(max-width:480px){.room-header{align-items:flex-start}.room-reputation{padding:.35rem .55rem}.room-reputation>img{width:1.7rem;height:1.7rem}.room-page{grid-template-rows:auto minmax(31rem,calc(100dvh - 6rem))}.office-scene{min-height:31rem}.office-action{min-height:6rem}.office-action>img{width:2.7rem;height:2.7rem}.office-action strong{font-size:.9rem}}

/* Fall-Arbeitsstation: feste Navigation, Kopfzeile und Titelzone auf allen Modulen. */
:root{--case-sidebar:15.25rem;--case-topbar:4.25rem;--case-line:#594222;--case-gold:#d2a653;--case-panel:#181511f2}
.case-shell{min-height:100dvh;display:grid;grid-template-columns:var(--case-sidebar) minmax(0,1fr);background:#090806;color:#d9cfbc;transition:grid-template-columns .2s ease}
.case-sidebar{position:fixed;z-index:45;inset:0 auto 0 0;width:var(--case-sidebar);display:flex;flex-direction:column;padding:1.2rem .85rem;border-right:1px solid #6b4d26;background:linear-gradient(#0d0c0aef,#090806f8),url('images/asset_bg_texture.png') center/cover;box-shadow:8px 0 28px #0009;transition:width .2s ease,transform .2s ease}
.case-sidebar-controls{position:absolute;top:.7rem;right:-1rem}.case-sidebar-collapse,.case-sidebar-close,.case-menu{display:grid;place-content:center;border:1px solid #8b642e;border-radius:50%;background:#17120e;color:#e0ba6b;cursor:pointer}.case-sidebar-collapse{width:2rem;height:2rem;font-size:1.3rem}.case-sidebar-close,.case-menu{display:none;width:2.65rem;height:2.65rem;border-radius:8px}
.case-logo{display:grid;grid-template-columns:4rem 1fr;align-items:center;gap:.55rem;color:#e2c37f;text-decoration:none;text-transform:uppercase;font-family:OfficeSerif}.case-logo>img{width:4rem;height:4rem;object-fit:contain}.case-logo span{display:grid}.case-logo strong{font-size:1.25rem;line-height:.92}.case-logo small{margin-top:.35rem;color:#998b75;font:500 .64rem system-ui;text-transform:none}
.case-navigation{display:grid;gap:.18rem;margin-top:2rem;overflow-y:auto}.case-nav-link{display:grid;grid-template-columns:2.35rem 1fr;align-items:center;gap:.5rem;min-height:3.15rem;padding:.35rem .65rem;border:1px solid transparent;border-radius:10px;color:#c8bda9;text-decoration:none}.case-nav-link img{width:2rem;height:2rem;object-fit:contain}.case-nav-symbol{display:grid;place-content:center;width:2rem;height:2rem;color:#d4a550;font-size:1.25rem}.case-nav-link:hover{background:#ffffff08;color:#efddba}.case-nav-link.active{border-color:#a57632;background:linear-gradient(100deg,#6b4a20bb,#3e2b1970);color:#f2dfb5;box-shadow:inset 0 0 22px #e0a34315}.case-nav-link b{font-weight:500}
.case-back{display:flex;align-items:center;gap:.7rem;margin-top:auto;min-height:3rem;padding:.6rem .8rem;border:1px solid #574225;border-radius:8px;background:#0e0c09;color:#cab995;cursor:pointer}.case-back:first-letter{color:#e4b65c}
.case-stage{grid-column:2;min-width:0;min-height:100dvh;display:grid;grid-template-rows:var(--case-topbar) minmax(0,1fr) auto}.case-topbar{position:sticky;z-index:35;top:0;height:var(--case-topbar);display:flex;align-items:center;gap:1rem;padding:.45rem 1.55rem;border-bottom:1px solid #34291d;background:#090806ee;backdrop-filter:blur(12px)}.case-breadcrumb{display:flex;align-items:center;gap:.8rem;min-width:0;flex:1;color:#ad9e84}.case-breadcrumb button{border:0;background:transparent;color:#d5bd89;cursor:pointer}.case-breadcrumb strong{overflow:hidden;color:#e5dccb;text-overflow:ellipsis;white-space:nowrap}.case-profile{margin-left:auto}.case-footer{display:flex;justify-content:space-between;padding:1rem 1.7rem;border-top:1px solid #49361f;background:#080705;color:#8d826f;font-size:.72rem}
.case-shell.sidebar-collapsed{grid-template-columns:5.15rem minmax(0,1fr)}.case-shell.sidebar-collapsed .case-sidebar{width:5.15rem;padding-inline:.45rem}.case-shell.sidebar-collapsed .case-logo{display:block;text-align:center}.case-shell.sidebar-collapsed .case-logo>img{width:3.9rem}.case-shell.sidebar-collapsed .case-logo span,.case-shell.sidebar-collapsed .case-nav-link b,.case-shell.sidebar-collapsed .case-back b{display:none}.case-shell.sidebar-collapsed .case-navigation{margin-top:1.5rem}.case-shell.sidebar-collapsed .case-nav-link{grid-template-columns:1fr;justify-items:center}.case-shell.sidebar-collapsed .case-back{justify-content:center}.case-shell.sidebar-collapsed .case-sidebar-collapse{transform:rotate(180deg)}.case-sidebar-scrim{display:none}
.case-content{position:relative;min-width:0;padding:clamp(1.25rem,2.3vw,2.35rem);background:linear-gradient(90deg,#0a0908f2,#0c0a08d7 67%,#0a0806e8),url('images/faelle_bg.jpg') center top/cover fixed}.case-page{width:min(100%,96rem);min-height:100%;margin:auto}.case-page-header{min-height:8.6rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.3rem;padding:0 .2rem 1.3rem}.case-heading-copy h1{min-height:1.05em;margin:0;color:#eadabd;font:700 clamp(2.7rem,4vw,4.25rem)/1 OfficeSerif;text-shadow:0 2px 9px #000}.case-heading-copy p{min-height:1.3em;margin:.35rem 0 0;color:#bfae90;font-size:1.02rem}.case-heading-meta{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-height:3rem}.case-id,.case-status-dot{padding:.42rem .75rem;border:1px solid #5d4729;border-radius:1rem;color:#cbb991;font-size:.74rem}.case-status-dot{color:#e3b85e}.case-progress{display:grid;grid-template-columns:auto 9rem;align-items:center;gap:.55rem;color:#b9aa90;font-size:.72rem}.case-progress progress{width:9rem;height:.35rem;accent-color:#d5a344}.case-outline-button,.case-link-button{min-height:2.5rem;padding:.45rem .8rem;border:1px solid #75572e;border-radius:7px;background:#11100d;color:#d7b875;cursor:pointer}.case-link-button{border:0;background:transparent}
.case-panel{border:1px solid var(--case-line);border-radius:15px;background:linear-gradient(135deg,#1d1914f7,#12100df2);box-shadow:0 12px 30px #0007,inset 0 0 22px #d7a34508;padding:1.15rem}.case-panel h2{margin:.1rem 0 .8rem;color:#dfbd78;font:700 1.55rem OfficeSerif}.empty-case-panel{min-height:9rem;display:grid;place-content:center;text-align:center;color:#9e927d}.panel-title-row{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.panel-title-row h2{margin:0}
.briefing-layout{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(24rem,1.25fr);gap:.8rem}.briefing-copy{grid-row:span 2}.briefing-copy>p{font:1.2rem/1.55 OfficeSerif;color:#d8ccb5}.case-fact-list,.suspect-facts,.solve-submit dl{display:grid;gap:.25rem;margin:1.2rem 0 0}.case-fact-list>div,.suspect-facts>div,.solve-submit dl>div{display:grid;grid-template-columns:8rem 1fr;padding:.55rem 0;border-top:1px solid #44351f}.case-fact-list dt,.suspect-facts dt,.solve-submit dt{color:#9e9179}.case-fact-list dd,.suspect-facts dd,.solve-submit dd{margin:0;color:#d8c7a5}.evidence-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:.8rem 0}.evidence-preview button{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;padding:0;border:1px solid #6b4d29;border-radius:6px;background:#0d0b08;color:#e4cf9e;cursor:pointer}.evidence-preview img{width:100%;height:100%;object-fit:cover}.evidence-preview button>span{position:absolute;inset:auto 0 0;padding:.35rem;background:#090705d9;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-counts{display:flex;gap:1.4rem;padding-top:.6rem;border-top:1px solid #42331f}.overview-counts span{display:grid;color:#938773;font-size:.68rem}.overview-counts strong{color:#d8b366;font-size:1.15rem}.recent-activity p{margin:.45rem 0;color:#b4a994}.next-clue-button{width:100%;display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:.7rem;border:0;background:transparent;color:#d9cdb7;text-align:left;cursor:pointer}.next-clue-button span{display:grid}.next-clue-button small{color:#9f927d}.next-clue-icon{display:grid!important;place-content:center;width:3rem;height:3rem;border:1px solid #896331;border-radius:50%;color:#e0b45c;font-size:1.4rem}
.evidence-toolbar{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.evidence-filters,.evidence-tools{display:flex;flex-wrap:wrap;gap:.45rem}.evidence-filters button{display:flex;gap:.5rem;align-items:center;min-height:2.55rem;padding:.35rem .8rem;border:1px solid #564126;border-radius:1.3rem;background:#13110e;color:#bdae94;cursor:pointer}.evidence-filters button.active{border-color:#c3923e;background:#6d4a20;color:#f5e1b7}.evidence-filters button span{display:grid;place-content:center;min-width:1.35rem;height:1.35rem;border-radius:50%;background:#ffffff12;font-size:.68rem}.case-search,.evidence-tools select{min-height:2.55rem;border:1px solid #594324;border-radius:8px;background:#100e0c;color:#d9cbb2;padding:.4rem .7rem}.case-evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.75rem}.case-evidence-card{position:relative;min-width:0;overflow:hidden;border:1px solid #584323;border-radius:12px;background:#17130f;box-shadow:0 8px 20px #0007}.case-evidence-card.unread{border-color:#b17c2c}.evidence-open{width:100%;padding:0;border:0;background:transparent;color:#dfd2bc;text-align:left;cursor:pointer}.evidence-thumb{height:10.5rem;background:radial-gradient(circle,#3a2d1c,#0b0907);display:grid;place-content:center;color:#c79743;font-size:2rem}.evidence-thumb img{width:100%;height:100%;object-fit:cover}.evidence-kind{position:absolute;z-index:2;top:.55rem;left:.55rem;padding:.25rem .5rem;border:1px solid #8c642d;border-radius:5px;background:#100d09e8;color:#dfb765;font-size:.67rem}.evidence-card-copy{display:grid;min-height:5.2rem;padding:.7rem}.evidence-card-copy strong{font:700 1.2rem OfficeSerif;color:#e2c891}.evidence-card-copy small{margin-top:.35rem;color:#9e927e}.evidence-star{position:absolute;z-index:3;right:.55rem;bottom:.55rem;border:0;background:transparent;color:#a98545;font-size:1.35rem;cursor:pointer}.evidence-star.active{color:#efbd56}.evidence-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(15rem,.55fr);gap:.8rem}.evidence-detail-main{position:relative}.evidence-detail-main>.evidence-kind{position:static;display:inline-block}.evidence-detail-media{display:block;width:100%;max-height:60vh;margin:0 0 1rem;object-fit:contain;background:#080705;border-radius:9px}.evidence-summary{color:#d9bd84;font-size:1.05rem}.evidence-detail-tools{display:flex;flex-direction:column;gap:.7rem;align-self:start}.evidence-detail-tools .case-outline-button:last-child{margin-top:1rem}
.suspect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.75rem}.case-suspect-card{overflow:hidden;border:1px solid #5e4525;border-radius:12px;background:#17130f}.case-suspect-card>button{width:100%;display:grid;grid-template-columns:7.5rem 1fr;gap:.8rem;padding:.6rem;border:0;background:transparent;color:#d8ccb8;text-align:left;cursor:pointer}.suspect-portrait{width:7.5rem;height:9rem;display:grid;place-content:center;background:#090806;color:#c2974e;font-size:2rem}.suspect-portrait img{width:100%;height:100%;object-fit:cover}.case-suspect-card button>span:last-child{display:grid;align-content:start}.case-suspect-card strong,.suspect-profile h2{font:700 1.45rem OfficeSerif;color:#e0c587}.case-suspect-card small,.suspect-role{color:#b19e7d}.case-suspect-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.case-suspect-card b{align-self:end;color:#cda756;font-size:.76rem}.suspect-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:.8rem}.suspect-profile{display:grid;grid-template-columns:15rem 1fr;gap:1.3rem}.suspect-profile-image{width:15rem;height:19rem;display:grid;place-content:center;background:#090806;font-size:4rem}.suspect-profile-image img{width:100%;height:100%;object-fit:cover}.case-note-field{width:100%;min-height:14rem;padding:1rem;border:1px solid #5d4729;border-radius:8px;background:#100e0b;color:#ddd0b7;line-height:1.5;resize:vertical}.suspect-notes small,.notebook-panel small{display:block;margin-top:.5rem;color:#928672}.case-notebook{min-height:55vh;font:1.2rem/1.55 Hand,system-ui}.notebook-panel{max-width:70rem}
.map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,.55fr);gap:.8rem}.case-map{max-width:none;align-self:start;overflow:hidden;border:1px solid #76542a;border-radius:14px;background:#080705}.case-map>img{filter:sepia(.22) brightness(.72)}.map-detail{align-self:stretch}.map-detail-image{width:100%;max-height:20rem;object-fit:contain;margin:.5rem 0;border-radius:8px;background:#080705}
.phone-layout{display:grid;grid-template-columns:minmax(16rem,.55fr) minmax(24rem,1.45fr);gap:.8rem}.phone-list{padding:.7rem}.phone-contacts{display:grid;gap:.25rem;max-height:64vh;overflow:auto}.phone-contacts>button{display:grid;grid-template-columns:2.8rem 1fr;align-items:center;gap:.6rem;padding:.55rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#d5cab6;text-align:left;cursor:pointer}.phone-contacts>button.active{border-color:#9a6d2e;background:#5b3f1d91}.phone-contacts button>span:last-child{display:grid}.phone-contacts small{color:#9f9178}.phone-avatar{display:grid;place-content:center;width:4rem;height:4rem;border:1px solid #ad7c36;border-radius:50%;background:#292016;color:#e1b65d;font-size:1.5rem}.phone-avatar.small{width:2.8rem;height:2.8rem;font-size:1rem}.phone-person{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #49371f}.phone-person span{display:grid}.phone-person h2{margin:0}.phone-person p{margin:.2rem 0}.phone-person strong{color:#d9b56b}.phone-call{margin-top:1rem}
.browser-layout{display:grid;grid-template-columns:minmax(14rem,.35fr) minmax(0,1.65fr);gap:.8rem}.browser-side{padding:.7rem}.browser-bookmarks{display:grid;gap:.35rem}.browser-bookmarks button{display:grid;padding:.7rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#d9ccb4;text-align:left;cursor:pointer}.browser-bookmarks button.active{border-color:#98703a;background:#58401f99}.browser-bookmarks small{color:#948873;overflow-wrap:anywhere}.browser-viewer{padding:.65rem;overflow:hidden}.browser-viewer iframe{display:block;border:1px solid #493720;border-radius:0 0 7px 7px;background:#fff}.browser-address{padding:.65rem;border:1px solid #604724;border-radius:7px 7px 0 0;background:#0e0c09;color:#baa986;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-placeholder{min-height:32rem;display:grid;place-content:center;color:#928572}
.mail-layout{display:grid;grid-template-columns:minmax(15rem,.45fr) minmax(0,1.55fr);gap:.8rem}.mail-list{display:grid}.mail-list button{display:grid;padding:.7rem;border:0;border-bottom:1px solid #47351e;background:transparent;color:#d9cbb2;text-align:left}.mail-list button.active{background:#60452082}.mail-list small{color:#a19074}.mail-list span{margin-top:.25rem;color:#9e927d}.mail-detail dl div{display:flex;gap:.6rem}.mail-detail dd{margin:0}.mail-body{margin-top:1rem;padding-top:1rem;border-top:1px solid #49371f;white-space:pre-wrap;line-height:1.55}.timeline-list{position:relative;display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.timeline-list::before{content:"";position:absolute;left:7.2rem;top:0;bottom:0;width:1px;background:#92662d}.timeline-list li{display:grid;grid-template-columns:6.3rem 1fr;gap:1.5rem;align-items:center}.timeline-list time{color:#d1a657;text-align:right}.timeline-list .case-panel{padding:.8rem 1rem}.timeline-list h2{margin:0}.timeline-list p{margin:.25rem 0}.investigator-board{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:2rem;padding:2.5rem;border:10px solid #422713;border-radius:8px;background:linear-gradient(#0002,#0004),url('images/asset_bg_texture.png') center/cover;box-shadow:inset 0 0 45px #000}.board-note{position:relative;min-height:10rem;padding:.65rem;background:#d2b77d;color:#2b2117;transform:rotate(-1deg);box-shadow:0 8px 14px #0009}.board-note:nth-child(2n){transform:rotate(1.5deg)}.board-note::before{content:"";position:absolute;top:-.45rem;left:50%;width:.8rem;height:.8rem;border-radius:50%;background:#8e421c;box-shadow:0 2px 3px #000}.board-note img{width:100%;height:7rem;object-fit:cover}.board-note strong,.board-note small{display:block}.board-note strong{font-family:OfficeSerif;font-size:1.05rem}.board-note small{margin-top:.3rem}.analysis-grid,.generic-case-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.75rem}.analysis-card{text-align:left;color:inherit;cursor:pointer}
.solve-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);gap:.8rem;align-items:start}.solve-questions{display:grid;gap:.7rem}.solve-question{margin:0;padding:1rem}.solve-question legend{padding:0 .35rem;color:#e1c17d;font:700 1.25rem OfficeSerif}.solve-question label{display:flex;align-items:flex-start;gap:.7rem;padding:.65rem;border-top:1px solid #3f301d;cursor:pointer}.solve-question input{margin-top:.2rem;accent-color:#c89540}.solve-submit{position:sticky;top:calc(var(--case-topbar) + 1rem)}.solve-submit .gold-action{width:100%;margin-top:1.2rem}
@media(max-width:1180px){.briefing-layout{grid-template-columns:1fr 1fr}.briefing-copy{grid-row:auto}.evidence-toolbar{display:grid}.suspect-profile{grid-template-columns:11rem 1fr}.suspect-profile-image{width:11rem;height:15rem}.map-layout,.phone-layout{grid-template-columns:1fr}.map-detail{min-height:12rem}.solve-form{grid-template-columns:1fr}.solve-submit{position:static}.browser-layout{grid-template-columns:12rem minmax(0,1fr)}}
@media(max-width:900px){.case-shell,.case-shell.sidebar-collapsed{display:block;padding-bottom:calc(4.5rem + var(--safe-bottom))}.case-stage{grid-column:auto;min-height:calc(100dvh - 4.5rem);grid-template-rows:var(--case-topbar) minmax(0,1fr) auto}.case-sidebar,.case-shell.sidebar-collapsed .case-sidebar{width:min(18rem,86vw);padding:1.2rem .85rem;transform:translateX(-110%)}.case-shell.sidebar-open .case-sidebar{transform:translateX(0)}.case-shell.sidebar-collapsed .case-logo{display:grid;grid-template-columns:4rem 1fr;text-align:left}.case-shell.sidebar-collapsed .case-logo span,.case-shell.sidebar-collapsed .case-nav-link b,.case-shell.sidebar-collapsed .case-back b{display:grid}.case-shell.sidebar-collapsed .case-nav-link{grid-template-columns:2.35rem 1fr;justify-items:initial}.case-shell.sidebar-collapsed .case-back{justify-content:flex-start}.case-shell.sidebar-collapsed .case-navigation{margin-top:2rem}.case-sidebar-controls{right:.6rem}.case-sidebar-collapse{display:none}.case-sidebar-close,.case-menu{display:grid}.case-sidebar-scrim{position:fixed;z-index:44;inset:0;border:0;background:#000b}.case-shell.sidebar-open .case-sidebar-scrim{display:block}.case-topbar{padding:.4rem .75rem}.case-breadcrumb button{display:none}.case-profile span{display:none}.case-content{padding:1rem}.case-page-header{min-height:7.7rem}.case-footer{display:none}.bottom-nav{display:grid}.evidence-detail-layout,.suspect-detail-layout{grid-template-columns:1fr}.browser-layout{grid-template-columns:1fr}.browser-bookmarks{display:flex;overflow-x:auto}.browser-bookmarks button{flex:0 0 12rem}.browser-placeholder{min-height:20rem}}
@media(max-width:650px){.case-page-header{display:block;min-height:9rem;padding-bottom:1rem}.case-heading-copy h1{font-size:2.55rem}.case-heading-meta{justify-content:flex-start;flex-wrap:wrap;margin-top:.7rem}.case-progress{grid-template-columns:auto minmax(5rem,1fr);flex:1}.case-progress progress{width:100%}.briefing-layout{grid-template-columns:1fr}.evidence-preview{grid-template-columns:repeat(2,1fr)}.evidence-toolbar,.evidence-tools{display:grid}.case-search,.evidence-tools select{width:100%}.case-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.evidence-thumb{height:8rem}.evidence-card-copy{min-height:4.7rem;padding:.55rem}.evidence-card-copy strong{font-size:1rem}.suspect-grid{grid-template-columns:1fr}.suspect-profile{grid-template-columns:6.5rem 1fr}.suspect-profile-image{width:6.5rem;height:8.5rem}.suspect-facts{grid-column:1/-1}.phone-layout,.mail-layout{grid-template-columns:1fr}.phone-contacts{max-height:18rem}.timeline-list::before{left:.35rem}.timeline-list li{grid-template-columns:1fr;gap:.3rem;padding-left:1.2rem}.timeline-list time{text-align:left}.investigator-board{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem .8rem}.case-id{display:none}}
