@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500;700&family=Kalam:wght@400;700&family=Special+Elite&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--desk:#241811;--desk-dark:#150e0b;--manila:#c5a36c;--manila-dark:#9d7948;--paper:#eee3ca;--paper-aged:#dfcfac;--ink:#29251f;--faded:#6f6759;--line:#aa9878;--red:#9b3d35;--blue:#355e70;--green:#496c56;--tape:rgba(215,194,140,.62);--shadow:0 8px 17px rgba(0,0,0,.48)}
*{box-sizing:border-box}html{background:var(--desk-dark)}body{margin:0;min-height:100vh;color:var(--ink);font-family:'Space Grotesk',sans-serif;background:radial-gradient(ellipse at 15% 0%,rgba(133,96,54,.3),transparent 38%),repeating-linear-gradient(92deg,rgba(0,0,0,.12) 0 2px,transparent 2px 7px),linear-gradient(115deg,#39271b,#1c120e 50%,#2a1c14)}body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.32;background:radial-gradient(ellipse at 73% 21%,transparent 0 34%,rgba(0,0,0,.21) 79%),radial-gradient(circle at 20% 80%,rgba(0,0,0,.2) 0 3%,transparent 3.5%);background-size:100% 100%,33px 33px}body:after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;box-shadow:inset 0 0 170px 35px rgba(0,0,0,.6)}button,input,select,textarea{font:inherit}button{min-height:44px;border:1px solid #5b5141;background:linear-gradient(#f6ead1,#d5bd91);color:var(--ink);box-shadow:0 2px 0 #776042,0 4px 8px rgba(0,0,0,.2);padding:.62rem .9rem;font-weight:700;cursor:pointer;transition:transform .12s,filter .12s}button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 #776042}button:disabled{opacity:.48;cursor:not-allowed}button.secondary{background:linear-gradient(#dfd3b8,#b9aa8e);color:var(--ink)}button.blue{background:linear-gradient(#598194,#345d70);border-color:#244858;color:#fff}button.danger{background:linear-gradient(#bd6258,#88332e);border-color:#6e2724;color:#fff}button.ghost{background:transparent;box-shadow:none;border:0;color:#5b3c31;text-decoration:underline;padding:.25rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf7839;outline-offset:2px}input,select,textarea{width:100%;border:1px solid #a39173;background:rgba(255,252,240,.72);color:var(--ink);padding:.67rem;box-shadow:inset 0 1px 3px rgba(75,53,30,.14)}textarea{min-height:90px;resize:vertical}label{display:grid;gap:5px;font-family:'Special Elite',serif;font-weight:400;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#423b31}.loading{padding:15vh 1rem;text-align:center;font-family:'Special Elite',serif;font-size:1.3rem;letter-spacing:.1em;color:var(--paper)}#app{max-width:1180px;margin:auto;padding:24px 18px}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--manila);border:1px solid #735735;border-bottom:5px solid #88643b;padding:15px 16px 11px;margin:0 14px 0 0;box-shadow:var(--shadow);position:relative}.topbar:after{content:'CASO N. 1986';position:absolute;right:104px;bottom:9px;font:700 .66rem 'DM Mono',monospace;color:#72573b;letter-spacing:.11em}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;border:2px solid var(--red);color:var(--red);background:rgba(238,227,202,.42);display:grid;place-items:center;font-size:1.1rem;transform:rotate(-7deg);box-shadow:inset 0 0 0 2px rgba(155,61,53,.2)}h1{font-family:'Special Elite',serif;font-size:clamp(1.42rem,4vw,2.25rem);font-weight:400;margin:0;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:#322a20}h2{font-family:'Special Elite',serif;font-size:1.08rem;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:#322a20;margin:0 0 12px}h3{margin:0 0 6px}.subline{font: .78rem 'DM Mono',monospace;color:#6a5a45;margin:5px 0 0;letter-spacing:.035em}.layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:17px;background:var(--manila);margin-right:14px;padding:18px 18px 24px;border:1px solid #735735;border-top:0;box-shadow:var(--shadow);min-height:calc(100vh - 110px)}.nav{align-self:start;position:sticky;top:15px;display:grid;gap:7px;padding:10px 8px 9px;background:#ae8753;border:1px solid #75582f;box-shadow:3px 3px 5px rgba(0,0,0,.24)}.nav:before{content:'ARCHIVIO';font:700 .65rem 'DM Mono',monospace;letter-spacing:.18em;color:#624724;padding:3px 5px 7px}.nav button{text-align:left;background:#cfb17c;color:#30281d;border-color:#a4814f;box-shadow:none}.nav button:hover{background:#e3cb9c}.nav button.active{background:var(--paper);border-color:#a78555;border-left:5px solid var(--red);font-weight:700}.nav .nav-icon{display:inline-block;width:25px;font-size:1.1rem}.panel{display:none}.panel.active{display:block}.card{background:var(--paper);border:1px solid #b8a27e;padding:17px;box-shadow:var(--shadow);margin-bottom:16px;position:relative;overflow:visible}.card:before{content:"";pointer-events:none;position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(88,67,39,.22) 4px 4.5px)}.card:after{content:'•';position:absolute;left:-10px;top:19px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--desk-dark);color:#4b3423;border:1px solid #7d6142;font-size:.6rem;box-shadow:0 28px 0 var(--desk-dark),0 56px 0 var(--desk-dark),0 84px 0 var(--desk-dark),0 112px 0 var(--desk-dark)}.card>*{position:relative}.card.highlight{background:linear-gradient(105deg,#e9dbbc,#d5bc8e);border-color:#9d7c4e}.card.highlight:after{content:'APERTO';left:auto;top:14px;right:13px;width:auto;height:auto;border:2px solid var(--red);border-radius:0;background:transparent;color:var(--red);padding:3px 7px;box-shadow:none;transform:rotate(-8deg);font:700 .72rem 'DM Mono',monospace;letter-spacing:.07em}.card.compact{padding:12px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.muted{color:var(--faded)}.status{display:inline-flex;align-items:center;gap:6px;border:1px solid #8e8068;padding:3px 7px;font-size:.72rem;font-weight:700;letter-spacing:.035em;background:#e0d2b7;color:#3d352b}.status.public{background:#cbdde0;border-color:#73989d;color:#284c55}.status.private{background:#ddd1df;border-color:#987e9d;color:#533b58}.status.success{background:#d0dfcb;border-color:#688568;color:#34533a}.status.failure{background:#ecd0c9;border-color:#ad6a62;color:#74342e}.sa-display{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#e5d4b4,#cdb285);border:1px solid #a08050;color:var(--ink);padding:12px;margin-bottom:16px;box-shadow:inset 4px 0 var(--blue)}.sa-display .sa-number{font-family:'DM Mono',monospace;font-size:2.2rem;font-weight:700;color:var(--red);line-height:1}.request{border:1px solid #af6a59;background:#f1dfc0;padding:16px;box-shadow:var(--shadow);margin-bottom:16px;position:relative}.request:before{content:'URGENTE';position:absolute;right:14px;top:13px;border:2px solid var(--red);color:var(--red);padding:3px 7px;transform:rotate(7deg);font:700 .69rem 'DM Mono',monospace;letter-spacing:.1em}.request:after{content:'';position:absolute;right:30px;top:-13px;width:26px;height:53px;border:3px solid #838989;border-bottom:0;border-radius:13px 13px 0 0;transform:rotate(12deg)}.request-label{font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}.request-title{font-family:'Special Elite',serif;font-size:1.35rem;font-weight:400;letter-spacing:.04em;margin:5px 0}.request-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--faded);font-size:.9rem}.request-action{margin-top:14px}.dice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.die-button{min-height:112px;text-align:left;color:#2b2922;background:linear-gradient(145deg,#e3d3b3,#cab17f);border-color:#9c8054;display:flex;flex-direction:column;justify-content:space-between;position:relative}.die-button:before{content:'';position:absolute;top:-9px;left:27%;width:39%;height:18px;background:var(--tape);transform:rotate(-3deg);border-left:1px solid rgba(100,78,39,.14);border-right:1px solid rgba(100,78,39,.14)}.die-button:hover:not(:disabled){border-color:var(--red);box-shadow:0 0 0 2px rgba(155,61,53,.18),var(--shadow)}.die-button .die-name{font-family:'Special Elite',serif;font-size:.79rem;letter-spacing:.09em;text-transform:uppercase}.die-button .die-value{font-family:'DM Mono',monospace;font-size:2rem;color:var(--red)}.die-button .die-mod{font-size:.77rem;color:#665849}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.stepper{display:inline-flex;align-items:center;border:1px solid #9c8a6d;background:#f9f1df}.stepper button{min-height:37px;width:38px;border:0;box-shadow:none;padding:0;background:#d3bd92;color:var(--ink);font-size:1.2rem}.stepper output{min-width:40px;text-align:center;font-family:'DM Mono',monospace;font-weight:700;color:var(--red)}.history-item{border-top:1px dashed #b9a789;padding:13px 0}.history-item:first-child{border-top:0;padding-top:0}.history-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.history-meta{font: .76rem 'DM Mono',monospace;color:var(--faded);margin:3px 0}.history-total{font-family:'DM Mono',monospace;font-size:1.35rem;font-weight:700}.result-sheet{text-align:center}.result-total{font-family:'DM Mono',monospace;font-size:clamp(3.8rem,15vw,7rem);font-weight:700;line-height:.9;margin:16px 0;color:var(--red)}.result-name{font-family:'Special Elite',serif;font-size:1.2rem;font-weight:400;letter-spacing:.07em;text-transform:uppercase}.result-detail{margin:13px auto;max-width:390px;padding:11px;background:#f8eed9;border:1px dashed #ab9674;font-family:'DM Mono',monospace}.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.person{border:1px solid #aa9674;background:#e8dcc1;padding:12px;box-shadow:2px 3px 5px rgba(0,0,0,.16);transform:rotate(-.3deg)}.person:nth-child(2){transform:rotate(.4deg)}.person:nth-child(3){transform:rotate(-.7deg)}.person h3{font-family:'Special Elite',serif;font-size:1rem}.person .person-char{color:var(--faded);font-size:.85rem;min-height:20px}.person-sa{font-family:'DM Mono',monospace;font-size:1.5rem;font-weight:700;color:var(--red)}.person-dice{font-family:'DM Mono',monospace;font-size:.72rem;line-height:1.6}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.check-list{display:grid;gap:8px}.check-item{display:flex;gap:8px;align-items:center;border:1px solid #a58f6b;padding:9px;background:#f6ead2;font-weight:700}.check-item input{width:auto}.advanced summary{cursor:pointer;font-weight:700;margin:12px 0}.modal-backdrop{position:fixed;z-index:10;inset:0;background:rgba(20,12,8,.74);backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px}.modal{width:min(650px,100%);max-height:90vh;overflow:auto;background:var(--paper);border:1px solid #aa9470;box-shadow:0 16px 44px #080503;padding:18px;position:relative}.modal:before{content:'RAPPORTO';position:absolute;top:11px;right:62px;font:700 .65rem 'DM Mono',monospace;letter-spacing:.15em;color:#99876b}.modal-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.modal h2{margin:0}.toast{position:fixed;z-index:20;right:16px;bottom:16px;max-width:min(420px,calc(100% - 32px));border:1px solid #9d7042;background:#e7d0a8;color:#33261c;box-shadow:var(--shadow);padding:12px;font-weight:700;animation:enter .2s ease-out}@keyframes enter{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}.login{max-width:480px;margin:10vh auto}.login .card{padding:25px}.role-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.role-picker button.active{background:linear-gradient(#c46055,#92342e);color:#fff;border-color:#722720}.hidden{display:none!important}.identity{display:flex;gap:16px;align-items:center;border-bottom:1px dashed #b49d78;padding-bottom:15px;margin-bottom:15px}.portrait{width:112px;height:112px;object-fit:cover;border:8px solid #f1e7d2;background:#c9b99b;box-shadow:2px 4px 12px rgba(0,0,0,.3);transform:rotate(-1.8deg)}.portrait.placeholder{display:grid;place-items:center;font-family:'Special Elite',serif;font-size:3rem;color:#786c5c}.photo-actions{display:grid;gap:8px}.upload-button{display:inline-block;width:max-content;position:relative;overflow:hidden;border:1px solid #86683e;box-shadow:0 2px 0 #79603c;background:#d4b77d;color:#2d241a;padding:.6rem .8rem;cursor:pointer}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.wide{grid-column:1/-1}.traits{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.trait-block{border:1px solid #b39d79;background:#f7ecd4;padding:11px}.trait{display:flex;gap:9px;justify-content:space-between;border-top:1px dashed #b7a281;padding:8px 0}.trait .ghost{min-height:auto;padding:2px;font-size:.72rem;white-space:nowrap}.trait-block .secondary{margin-top:6px;min-height:34px;padding:.35rem .55rem}.trait-block h3{font-family:'Special Elite',serif;font-size:.9rem;text-transform:uppercase}.trait-block p{font-size:.85rem}.photo-actions small{color:var(--faded)}.dice-breakdown{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-family:'DM Mono',monospace}.normal-die,.exploding-die{display:inline-flex;flex-direction:column;align-items:center;padding:2px 6px;border:1px solid #ab9879;background:#f8efdc;font-weight:700}.exploding-die{border-color:#bb6834;background:#efd9a7;color:#78381f}.dice-breakdown small{font-family:'Space Grotesk',sans-serif;font-size:.62rem;line-height:1.1;white-space:nowrap}.plus{padding:0 2px;color:var(--red)}.fortune-note{margin:7px 0;padding:7px 9px;border-left:3px solid var(--red);background:#f0dcc1;color:#5e372a;font: .82rem 'Kalam',cursive}.fortune-note.big{max-width:420px;margin:13px auto;text-align:left;font-size:.95rem}.result-target{display:inline-block;margin-top:7px}.success{color:#315a3a}.failure{color:var(--red)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:820px){#app{padding:13px}.layout{display:block;padding:14px 14px 82px;margin-right:7px;min-height:calc(100vh - 92px)}.topbar{margin-right:7px}.topbar:after{display:none}.nav{position:fixed;z-index:5;bottom:0;left:0;right:0;top:auto;grid-template-columns:repeat(5,1fr);gap:0;background:#b28a55;border:1px solid #634a2c;padding:5px}.nav:before{display:none}.nav button{padding:7px 3px;font-size:.62rem;text-align:center;border:0;min-height:55px;background:transparent}.nav button.active{background:#eee1c9;border-left:0;border-top:3px solid var(--red)}.nav .nav-icon{display:block;width:auto}.split{grid-template-columns:1fr}.roster{grid-template-columns:1fr}.dice-grid{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start}.topbar .subline{max-width:190px}.field-grid{grid-template-columns:1fr}.modal{padding:15px}.die-button{min-height:98px}}@media(max-width:600px){.traits{grid-template-columns:1fr}.identity{align-items:flex-start}.portrait{width:90px;height:90px}}@media(max-width:390px){.dice-grid{gap:7px}.die-button{padding:8px}.die-button .die-value{font-size:1.65rem}}
/* Realistic case-file components */
.folder-collection{position:relative;background:linear-gradient(105deg,#c8a66c,#b58d56);border:1px solid #75562f;padding:42px 18px 22px;box-shadow:var(--shadow);min-height:360px}.collection-tab{position:absolute;top:-28px;left:26px;min-width:210px;height:29px;padding:8px 17px 0;background:#c8a66c;border:1px solid #75562f;border-bottom:0;border-radius:7px 18px 0 0;font:700 .69rem 'DM Mono',monospace;letter-spacing:.12em}.case-folder.person{position:relative;display:grid;grid-template-columns:76px 1fr;gap:11px;min-height:244px;padding:38px 13px 12px;background:linear-gradient(120deg,#cba971,#b99057);border:1px solid #7e6039;box-shadow:3px 5px 8px rgba(44,27,13,.3);transform:rotate(-.7deg);overflow:visible}.case-folder.person:nth-child(2){transform:rotate(.55deg);margin-top:5px}.case-folder.person:nth-child(3){transform:rotate(-.35deg);margin-top:2px}.case-folder.person:before{content:'';position:absolute;left:7px;right:7px;top:23px;height:2px;background:rgba(101,73,37,.22);box-shadow:0 3px rgba(255,255,255,.16)}.folder-tab{position:absolute;top:-22px;left:-1px;width:61%;height:24px;padding:7px 11px 0;background:#cba971;border:1px solid #7e6039;border-bottom:0;border-radius:6px 15px 0 0;font:700 .62rem 'DM Mono',monospace;letter-spacing:.11em}.folder-photo{width:71px;height:89px;padding:5px 5px 15px;background:#eee3ca;box-shadow:1px 3px 6px rgba(0,0,0,.28);transform:rotate(-3deg);display:grid;place-items:center;font:2rem 'Special Elite',serif}.folder-photo img{width:100%;height:100%;object-fit:cover}.folder-data{min-width:0}.folder-data>small{font: .57rem 'DM Mono',monospace;letter-spacing:.1em}.folder-data h3{margin:4px 0 2px;padding-bottom:4px;border-bottom:1px solid rgba(69,52,31,.45)}.folder-open{grid-column:1/-1;width:100%}.case-stamp{position:absolute;right:8px;top:42px;border:2px solid rgba(146,50,43,.68);color:rgba(130,42,37,.75);font:700 .6rem 'DM Mono',monospace;padding:3px 5px;transform:rotate(9deg);letter-spacing:.08em}.single-folder{max-width:430px}.single-folder .case-folder{margin:auto}.report-sheet{transform:rotate(.08deg)}.document-code{font:700 .61rem 'DM Mono',monospace;letter-spacing:.14em;color:#776a56;border-bottom:1px solid #bba988;margin:-4px 0 12px;padding-bottom:5px}.lined-notepad{background-color:#f3e7cb;background-image:repeating-linear-gradient(transparent 0 27px,rgba(76,111,135,.26) 28px 29px);padding-top:43px}.lined-notepad:before{content:'';position:absolute;left:43px;top:0;bottom:0;width:1px;background:rgba(156,64,58,.32)}.lined-notepad textarea{line-height:29px;background:rgba(255,252,240,.42);min-height:350px}.confidential-stamp{position:absolute;z-index:2;right:28px;top:13px;border:3px double var(--red);padding:5px 9px;color:var(--red);font:700 .72rem 'DM Mono',monospace;letter-spacing:.12em;transform:rotate(-5deg)}.open-dossier{position:relative;padding:34px 9px 5px}.open-dossier:before,.open-dossier:after{content:'';position:absolute;left:-10px;right:-10px;top:48px;bottom:-9px;background:#c6a268;border:1px solid #77592f;z-index:-2;transform:rotate(-.45deg);box-shadow:5px 8px 14px rgba(0,0,0,.28)}.open-dossier:after{left:1px;right:-15px;top:58px;background:#d1b17a;z-index:-1;transform:rotate(.35deg)}.dossier-cover{position:absolute;top:2px;left:7px;right:7px;height:49px;padding:9px 14px;background:#bd955e;border:1px solid #735532;display:flex;justify-content:space-between;align-items:flex-start;font: .69rem 'DM Mono',monospace;letter-spacing:.09em}.dossier-cover b{font-family:'Special Elite',serif;font-size:.92rem}.open-dossier>.modal-head{position:relative;background:#ddc89f;border:1px solid #9d7e53;padding:11px;margin:5px 5px 0}.file-tabs{display:flex;align-items:flex-end;gap:3px;position:relative;z-index:2;padding:9px 16px 0;overflow-x:auto}.file-tabs button{min-height:34px;padding:7px 13px;background:#b89868;border:1px solid #846641;border-bottom:0;box-shadow:none;border-radius:5px 8px 0 0;white-space:nowrap;font: .7rem 'DM Mono',monospace}.file-tabs button.active{background:#eee3ca;transform:translateY(1px);padding-top:9px}.dossier-page{position:relative;background:#eee3ca;border:1px solid #ac9877;padding:20px;min-height:480px;box-shadow:2px 5px 9px rgba(0,0,0,.25)}.dossier-page:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.1;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(80,59,33,.25) 4px 4.5px)}.dossier-page>*{position:relative}.form-heading{position:relative;border:2px solid #332f28;padding:9px 12px;margin-bottom:18px}.form-heading small{font: .61rem 'DM Mono',monospace;letter-spacing:.12em}.form-heading h2{margin:5px 0 0}.form-heading>span{position:absolute;right:10px;top:10px;font:700 .62rem 'DM Mono',monospace;border:1px solid #544a3d;padding:3px 6px;transform:rotate(2deg)}.form-heading .redacted{color:transparent;background:#28241f;box-shadow:5px 0 #28241f}.subject-stamp{top:6px;right:4px;font-size:.72rem}.form-lines{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-lines input,.form-lines textarea{background:transparent;border:0;border-bottom:1px solid #6e6353;box-shadow:none;padding:7px 2px;font-family:'Special Elite',serif}.hidden-stats{display:none}.stat-form{border:1px solid #594f41;margin-bottom:16px}.stat-row{display:grid;grid-template-columns:37px minmax(80px,1fr) 120px 120px;align-items:end;gap:10px;padding:8px;border-top:1px solid #a99a81}.stat-row:first-child{border-top:0}.stat-number{font: .7rem 'DM Mono',monospace;color:#776d5e}.stat-row>b{font-family:'Special Elite',serif}.stat-row label{font-size:.59rem}.stat-row select,.stat-row input{padding:4px;background:transparent;box-shadow:none;border:0;border-bottom:1px solid #7f725d}.behavior-page .trait-block{position:relative;background:#f4e8d0}.behavior-page .trait-block:nth-child(3){border:2px solid rgba(155,61,53,.55);transform:rotate(-.2deg)}.memo-page{background-color:#eee1bd;background-image:repeating-linear-gradient(transparent 0 30px,rgba(72,104,129,.2) 31px 32px)}.memo-page .trait-block{max-width:520px;background:rgba(255,250,227,.72)}.handwritten-note{margin:30px 15px 0;font:1rem 'Kalam',cursive;color:#4c4a50;transform:rotate(-1deg)}
@media(max-width:820px){.folder-collection{padding:40px 11px 15px}.case-folder.person{grid-template-columns:65px 1fr;min-height:220px}.folder-photo{width:61px;height:79px}.open-dossier{padding-left:0;padding-right:0}.dossier-page{padding:13px}.file-tabs{padding-left:3px}.file-tabs button{padding:7px 9px;font-size:.63rem}.stat-row{grid-template-columns:28px 1fr 82px 82px;gap:6px}.form-lines{grid-template-columns:1fr}}@media(max-width:430px){.stat-row{grid-template-columns:24px 1fr}.stat-row label{grid-column:auto}.open-dossier>.modal-head{margin-top:2px}.dossier-cover{font-size:.55rem}}

/* Dark evidence dossier — flat, custom layout */
:root{--desk:#120d0a;--desk-dark:#080605;--manila:#927044;--manila-dark:#61472a;--paper:#cdbd99;--paper-aged:#b7a47f;--ink:#201d19;--faded:#5e5549;--line:#756951;--red:#762d2a;--blue:#294b5c;--green:#385542;--tape:rgba(157,138,92,.54);--shadow:0 16px 34px rgba(0,0,0,.62)}
body{background:radial-gradient(ellipse at 18% -10%,rgba(111,74,39,.24),transparent 36%),repeating-linear-gradient(91deg,rgba(0,0,0,.18) 0 2px,transparent 2px 8px),linear-gradient(125deg,#20150f,#0b0806 58%,#160e0a)}
body:after{box-shadow:inset 0 0 220px 65px rgba(0,0,0,.82)}
#app{max-width:1240px;padding:25px 20px}.topbar{background:#927044;border-color:#46311c;border-bottom-color:#523820;box-shadow:0 14px 30px rgba(0,0,0,.58)}.layout{background:#87663d;border-color:#46311c;box-shadow:0 18px 34px rgba(0,0,0,.58)}
.card{background:#c8b892;border:0;border-top:1px solid rgba(255,255,255,.28);box-shadow:0 7px 16px rgba(27,17,9,.42);padding:22px 24px}.card:before{opacity:.24;background:radial-gradient(circle at 15% 18%,rgba(71,51,28,.18) 0 1px,transparent 1.8px),repeating-linear-gradient(2deg,transparent 0 5px,rgba(66,48,27,.12) 5px 5.5px);background-size:17px 19px,100% 100%}.card:after{display:none}.card.highlight{background:#b49a6d;border:0;border-left:6px solid #6f2b28}.nav{background:#624524;border-color:#3f2c18;box-shadow:0 8px 18px rgba(0,0,0,.48)}.nav button{background:#977348;border-color:#684b2b}.nav button:hover{background:#aa8557}.nav button.active{background:#c9b891;border-left-color:#762d2a}
/* One folder, not nested cards */
.folder-collection{background:#8f6c40;border:0;border-top:1px solid rgba(255,255,255,.18);box-shadow:0 15px 28px rgba(0,0,0,.53);padding:48px 22px 26px}.collection-tab{background:#8f6c40;border-color:#4b351e;color:#1d1711}.roster{gap:18px}.case-folder.person{display:block;min-height:280px;padding:46px 17px 16px;background:#a17b49;border:0;border-top:1px solid rgba(255,255,255,.24);box-shadow:4px 9px 15px rgba(36,22,11,.5)}.case-folder.person:before{left:12px;right:12px;background:rgba(55,39,23,.34)}.folder-tab{background:#a17b49;border-color:#4c361f}.folder-photo{float:left;margin:0 14px 10px 0;width:88px;height:108px;background:#c8b994;border:0;padding:7px 7px 19px;box-shadow:2px 5px 10px rgba(0,0,0,.45)}.folder-data{min-height:138px}.folder-data h3{font-size:1.12rem;border-bottom-color:rgba(45,34,22,.54)}.folder-open{clear:both;border-color:#55442e;background:#bca77e;box-shadow:none}.case-stamp{color:#682724;border-color:#682724;opacity:.72}
/* Modal disappears into the physical folder */
.modal-backdrop{background:rgba(3,2,1,.86);backdrop-filter:blur(5px)}.modal{width:min(900px,100%);background:transparent;border:0;box-shadow:none;padding:32px 20px 22px;overflow-x:hidden}.modal:before{display:none}.open-dossier{padding:46px 8px 9px}.open-dossier:before{left:-4px;right:-4px;top:54px;bottom:-7px;background:#806039;border:0;box-shadow:0 20px 42px rgba(0,0,0,.68);transform:rotate(-.25deg)}.open-dossier:after{display:none}.dossier-cover{top:4px;left:14px;right:14px;height:54px;background:#8f6b3e;border:0;border-top:1px solid rgba(255,255,255,.18);color:#21180f}.open-dossier>.modal-head{margin:3px 13px 0;background:#a17f51;border:0;border-bottom:1px solid #624827;padding:13px 16px}.file-tabs{padding:10px 23px 0;gap:1px}.file-tabs button{background:#765634;border:0;border-bottom:1px solid #49331e;color:#1c160f;box-shadow:none}.file-tabs button.active{background:#c8b892;border:0;color:#211e19}
/* A single continuous report sheet */
.dossier-page{background:#c8b892;border:0;padding:31px 38px 42px;min-height:550px;box-shadow:0 9px 17px rgba(0,0,0,.42)}.dossier-page:before{opacity:.27;background:radial-gradient(circle at 11% 13%,rgba(61,43,24,.23) 0 1px,transparent 1.5px),repeating-linear-gradient(1deg,transparent 0 6px,rgba(55,40,23,.105) 6px 6.5px);background-size:23px 21px,100% 100%}.form-heading{border:0;border-top:4px double #332d25;border-bottom:1px solid #4e4538;padding:10px 2px 12px;margin-bottom:27px}.form-heading>span{right:1px;top:11px}.identity{border:0;border-bottom:1px solid #80735d;padding:0 0 24px;margin-bottom:24px}.portrait{border:9px solid #cfc19f;background:#8e8169;box-shadow:3px 7px 13px rgba(25,18,11,.43)}.subject-stamp{top:12px;right:8px}.form-lines{gap:19px 28px}.form-lines input,.form-lines textarea{border-bottom-color:#625848}.form-lines textarea{min-height:125px}.stat-form{border:0;border-top:2px solid #453d32;border-bottom:2px solid #453d32}.stat-row{border-top:1px solid #887b65;padding:11px 3px}.stat-row:first-child{border-top:0}.stat-row select,.stat-row input{border-bottom-color:#665b49}
/* Traits are report paragraphs, no nested boxes */
.traits{display:block;margin-top:0}.trait-block{position:relative!important;background:transparent!important;border:0!important;border-top:1px solid #746956!important;padding:18px 3px 20px!important;margin:0!important;transform:none!important}.trait-block:first-child{border-top:0!important;padding-top:3px!important}.trait-block h3{display:inline-block;margin-bottom:10px;padding-bottom:3px;border-bottom:2px solid #332d25;letter-spacing:.08em}.trait{border:0;border-top:1px dotted #8b7c64;padding:11px 0}.trait:first-of-type{border-top:0}.trait-block .secondary{background:transparent;border:1px dashed #756951;box-shadow:none;font-family:'Special Elite',serif}.trait-block p{margin:7px 0 12px}.memo-page{background-color:#bfae88;background-image:repeating-linear-gradient(transparent 0 31px,rgba(55,80,96,.22) 32px 33px)}.memo-page .trait-block{max-width:none;background:transparent!important}.handwritten-note{border-top:1px solid rgba(70,62,51,.35);padding-top:17px}.behavior-page .trait-block:nth-child(3):after{content:'ATTENZIONE';position:absolute;right:8px;top:15px;border:2px solid rgba(118,45,42,.68);color:#762d2a;padding:4px 7px;font:700 .61rem 'DM Mono',monospace;transform:rotate(5deg)}
/* Forms blend into reports */
.dossier-page input,.dossier-page select,.dossier-page textarea{background:rgba(255,255,255,.08);border-left:0;border-right:0;border-top:0;box-shadow:none}.dossier-page button:not(.ghost){background:#9f8d6b;border:1px solid #625440;box-shadow:none;text-transform:uppercase;font:700 .7rem 'DM Mono',monospace;letter-spacing:.08em}.upload-button{background:#9f8d6b;border-color:#625440;box-shadow:none}.status{background:transparent}.status.public{background:rgba(74,112,124,.18)}.status.private{background:rgba(101,70,105,.18)}.status.success{background:rgba(66,102,73,.15)}.status.failure{background:rgba(118,45,42,.14)}
/* Less UI chrome across ordinary reports */
.history-item{border-top-color:#81735c}.report-sheet{padding:28px 34px}.request{background:#b9a57e;border:0;border-left:6px solid #762d2a;box-shadow:0 8px 17px rgba(0,0,0,.4)}.lined-notepad{background-color:#bfae88}.sa-display{background:#ad966d;border:0;border-left:5px solid #294b5c;box-shadow:none}.die-button{background:#ac956c;border:0;border-top:1px solid rgba(255,255,255,.25);box-shadow:0 4px 9px rgba(45,31,16,.28)}.die-button:hover:not(:disabled){border:0;box-shadow:0 0 0 2px #762d2a,0 7px 13px rgba(0,0,0,.35)}
@media(max-width:820px){.modal{padding:18px 5px}.dossier-page{padding:23px 16px 31px}.open-dossier>.modal-head{margin-left:5px;margin-right:5px}.file-tabs{padding-left:8px;padding-right:8px}.case-folder.person{min-height:240px}.folder-photo{width:75px;height:94px}.report-sheet{padding:22px 18px}}@media(max-width:500px){.dossier-page{padding:20px 12px 28px}.form-heading>span{position:static;display:inline-block;margin-top:7px}.identity{display:block}.portrait{float:left;margin:0 15px 12px 0}.photo-actions{min-height:110px}.stat-row{padding:10px 0}}

/* Keep one scrollbar at a time. */
html,body{overflow-x:hidden}
body.modal-open{overflow:hidden}
.modal-backdrop{display:block;overflow-y:auto;overflow-x:hidden;padding:16px}
.modal{max-height:none;overflow:visible;margin:0 auto}
.file-tabs{scrollbar-width:none}
.file-tabs::-webkit-scrollbar{display:none}
.lined-notepad textarea{overflow-y:auto;scrollbar-width:thin}
@media(max-width:820px){.modal-backdrop{padding:8px 4px}.modal{overflow:visible}}

/* Ordinary dialogs are report sheets; only character dossiers are transparent. */
.modal{background:#c8b892;border:1px solid #76684f;box-shadow:0 16px 44px rgba(0,0,0,.72);color:var(--ink);padding:24px}
.modal.dossier-modal{background:transparent;border:0;box-shadow:none;padding:32px 20px 22px}
@media(max-width:820px){.modal{padding:18px 15px}.modal.dossier-modal{padding:18px 5px}}

/* Single dossier header: one case tab, no duplicated title blocks. */
.open-dossier{padding-top:42px}
.dossier-cover,.open-dossier>.modal-head{display:none}
.case-tab{position:absolute;top:0;left:12px;right:12px;height:52px;display:flex;align-items:center;gap:18px;padding:9px 52px 8px 16px;background:#8f6b3e;border-top:1px solid rgba(255,255,255,.18);color:#21180f;font-family:'DM Mono',monospace}
.case-tab span{font-size:.65rem;letter-spacing:.12em;white-space:nowrap}
.case-tab b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Special Elite',serif;font-size:1rem}
.case-close{position:absolute;right:9px;top:7px;width:36px;min-height:36px;padding:0;border:0;background:transparent;box-shadow:none;color:#2a1d12;font-size:1.7rem;line-height:1}
.case-close:hover:not(:disabled){transform:none;box-shadow:none;color:var(--red)}
.open-dossier .file-tabs{padding-top:17px}
@media(max-width:500px){.case-tab{left:4px;right:4px;gap:9px;padding-left:10px}.case-tab span{font-size:.56rem}.case-tab b{font-size:.84rem}}

/* Ordinary dialogs look like loose notes laid over the open case. */
.modal.note-modal{width:min(570px,calc(100% - 28px));margin:34px auto 70px;padding:38px 34px 32px;background:#c7b68e;border:0;box-shadow:4px 8px 0 rgba(24,15,9,.22),0 22px 44px rgba(0,0,0,.7);transform:rotate(-.35deg);overflow:visible}
.modal.note-modal:before{display:block;content:'';position:absolute;z-index:2;top:-14px;left:50%;width:118px;height:31px;transform:translateX(-50%) rotate(1.5deg);background:rgba(154,136,91,.7);border-left:1px solid rgba(76,62,36,.16);border-right:1px solid rgba(76,62,36,.16);box-shadow:0 2px 3px rgba(36,25,13,.15)}
.modal.note-modal:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:13px;background:linear-gradient(135deg,transparent 7px,#c7b68e 0) 0 0/14px 14px repeat-x;filter:drop-shadow(0 5px 3px rgba(0,0,0,.28))}
.note-modal .modal-head{margin:-8px 0 23px;padding-bottom:9px;border-bottom:1px solid rgba(66,57,45,.5)}
.note-modal .modal-head:before{content:'NOTA AL FASCICOLO';position:absolute;top:14px;left:34px;font:700 .56rem 'DM Mono',monospace;letter-spacing:.14em;color:#74664e}
.note-modal h2{font-family:'Special Elite',serif;font-size:1.25rem}
.note-modal label{color:#373127}
.note-modal input,.note-modal select,.note-modal textarea{background:rgba(241,230,204,.3);border:0;border-bottom:1px solid #6f634e;box-shadow:none}
.note-modal .result-sheet{padding-top:3px}
.note-modal .result-total{color:#672a27;text-shadow:none}
.note-modal .result-detail{background:rgba(238,225,195,.44);border-color:#897a60}
.note-modal .fortune-note{background:rgba(168,135,86,.2)}
.note-modal button:not(.ghost){background:#9d8b68;border-color:#625641;box-shadow:none;text-transform:uppercase;font:700 .7rem 'DM Mono',monospace;letter-spacing:.06em}
.note-modal .case-stamp{opacity:.65}
@media(max-width:600px){.modal.note-modal{width:calc(100% - 12px);margin:25px auto 55px;padding:33px 19px 27px;transform:none}.note-modal .modal-head:before{left:19px}.modal.note-modal:before{width:90px}}

/* Character name is the document heading; no separate case bar. */
.open-dossier{padding-top:8px}
.case-tab{display:none}
.document-close{position:absolute;z-index:3;right:-2px;top:-3px;width:34px;min-height:34px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#392f25!important;font:400 1.55rem/1 'Space Grotesk',sans-serif!important;letter-spacing:0!important}
.document-close:hover:not(:disabled){color:var(--red)!important;transform:none!important}
.form-heading{padding-right:96px}
.form-heading>span{right:38px}
.open-dossier .file-tabs{padding-top:0}
@media(max-width:500px){.form-heading{padding-right:38px}.form-heading>span{position:static;margin-right:6px}.document-close{right:-3px;top:-5px}}

/* Visible die roll on a loose evidence note */
.rolling-sheet{text-align:center;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}.rolling-label{font:700 .63rem 'DM Mono',monospace;letter-spacing:.18em;color:#75674f;margin-bottom:22px}.animated-die{position:relative;width:142px;height:142px;display:grid;place-items:center;background:linear-gradient(145deg,#42372b,#171310);color:#eee0bd;border:3px solid #78664c;box-shadow:inset -12px -14px 22px rgba(0,0,0,.58),inset 7px 8px 17px rgba(255,255,255,.1),8px 13px 16px rgba(25,16,9,.42);clip-path:polygon(50% 0,92% 22%,100% 70%,72% 100%,25% 94%,0 57%,10% 18%)}.animated-die span{font:700 3.8rem 'DM Mono',monospace;text-shadow:2px 3px #000}.animated-die>small{position:absolute;bottom:22px;font:700 .65rem 'DM Mono',monospace;color:#ac9977}.animated-die.rolling{animation:die-roll .18s linear infinite,die-bounce .72s ease-in-out infinite}.animated-die.landed{animation:die-land .35s cubic-bezier(.2,.9,.3,1)}.animated-die.fortune-landed{color:#ffd786;border-color:#9e6d2b;box-shadow:inset -12px -14px 22px rgba(0,0,0,.55),inset 7px 8px 17px rgba(255,214,132,.18),0 0 24px rgba(136,76,22,.48),8px 13px 16px rgba(25,16,9,.42)}.rolling-sequence{display:flex;align-items:center;justify-content:center;gap:8px;min-height:57px;margin-top:23px}.roll-chip{min-width:42px;padding:5px 8px;background:rgba(236,221,187,.45);border:1px solid #7e6f58;font:700 1.1rem 'DM Mono',monospace}.roll-chip small{display:block;font: .53rem 'Space Grotesk',sans-serif;text-transform:uppercase}.roll-chip.exploded{border-color:#84332d;color:#762d2a}.rolling-message{min-height:24px;font:1rem 'Kalam',cursive;color:#504536;margin:8px 0 0}@keyframes die-roll{0%{transform:rotate(-8deg) scale(.96)}25%{transform:rotate(5deg) scale(1.03)}50%{transform:rotate(11deg) scale(.98)}75%{transform:rotate(-3deg) scale(1.04)}100%{transform:rotate(-8deg) scale(.96)}}@keyframes die-bounce{0%,100%{translate:0 5px}50%{translate:0 -13px}}@keyframes die-land{0%{transform:scale(1.16) rotate(7deg)}60%{transform:scale(.94) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.animated-die.rolling{animation:none}.rolling-message:after{content:'…'}}@media(max-width:500px){.animated-die{width:118px;height:118px}.animated-die span{font-size:3rem}.animated-die>small{bottom:18px}.rolling-sheet{min-height:310px}}

/* History as a continuous police telegram form. */
.telegram-sheet{position:relative;margin:7px 0 30px;padding:28px 38px 34px;background:#c9bc93;color:#28251f;box-shadow:3px 8px 0 rgba(23,14,8,.2),0 18px 34px rgba(0,0,0,.55);font-family:'DM Mono',monospace;transform:rotate(-.12deg)}
.telegram-sheet:before,.telegram-sheet:after{content:'';position:absolute;top:0;bottom:0;width:13px;background:radial-gradient(circle,#291c13 0 3px,transparent 3.5px) center top/13px 25px repeat-y;opacity:.7}
.telegram-sheet:before{left:-7px}.telegram-sheet:after{right:-7px}.telegram-header{border:3px double #3c372d;padding:9px 12px 11px;text-align:center;background:rgba(224,211,170,.28)}.telegram-service{font-size:.6rem;font-weight:700;letter-spacing:.17em;border-bottom:1px solid #5f5747;padding-bottom:6px}.telegram-title{font-family:'Special Elite',serif;font-size:clamp(1.25rem,4vw,1.8rem);text-transform:uppercase;letter-spacing:.1em;padding:10px 0 7px}.telegram-fields{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #615947;padding-top:6px;text-align:left;font-size:.57rem;letter-spacing:.05em}.telegram-fields span+span{border-left:1px solid #776d58;padding-left:8px}.telegram-notice{margin:13px 0 5px;padding:7px 5px;border-bottom:2px solid #4b4538;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}.telegram-body{counter-reset:telegram}.telegram-sheet .history-item{counter-increment:telegram;position:relative;padding:15px 4px 14px 49px;border-top:1px dashed #776d58}.telegram-sheet .history-item:first-child{border-top:0;padding-top:15px}.telegram-sheet .history-item:before{content:counter(telegram,decimal-leading-zero);position:absolute;left:3px;top:16px;width:32px;height:25px;display:grid;place-items:center;border:1px solid #5f5748;font-size:.67rem;font-weight:700}.telegram-sheet .history-head{font-family:'Special Elite',serif;text-transform:uppercase;letter-spacing:.025em}.telegram-sheet .history-meta{color:#5a5244;font-size:.67rem;text-transform:uppercase}.telegram-sheet .history-total{color:#302b23}.telegram-sheet .status{border:1px solid #665e4d;background:transparent!important;color:#322e27!important;border-radius:0;padding:2px 5px;font-size:.55rem;transform:rotate(-1deg)}.telegram-sheet .status.success{border-color:#3c6147;color:#31533b!important}.telegram-sheet .status.failure{border-color:#7d352f;color:#762d2a!important}.telegram-sheet .normal-die,.telegram-sheet .exploding-die{background:transparent;border:0;border-bottom:1px solid #776d58;padding:1px 4px}.telegram-sheet .fortune-note{background:transparent;border-left:0;border-top:1px solid #8d7e62;margin:8px 0 0;padding:6px 0 0;font-family:'Kalam',cursive}.telegram-footer{margin-top:12px;padding-top:9px;border-top:3px double #4b4538;text-align:center;font-size:.58rem;font-weight:700;letter-spacing:.18em}.telegram-sheet .muted{color:#625949}
@media(max-width:650px){.telegram-sheet{padding:20px 18px 27px}.telegram-fields{grid-template-columns:1fr;gap:4px}.telegram-fields span+span{border-left:0;padding-left:0}.telegram-sheet .history-item{padding-left:40px}.telegram-sheet .history-item:before{width:27px}.telegram-sheet:before,.telegram-sheet:after{opacity:.45}}

/* A player's own sheet is one loose folder already lying on the desk. */
.desk-folder{position:relative;max-width:760px;min-height:430px;margin:34px auto;padding:67px 42px 31px;background:#947044;color:#231b12;box-shadow:7px 15px 25px rgba(0,0,0,.62);transform:rotate(-.45deg);cursor:pointer}
.desk-folder:before{content:'';position:absolute;inset:18px 16px 14px;background:rgba(191,164,116,.16);border-top:1px solid rgba(255,255,255,.17);pointer-events:none}
.desk-folder-tab{position:absolute;top:-31px;left:0;width:44%;height:32px;padding:10px 17px 0;background:#947044;border-radius:7px 20px 0 0;font:700 .66rem 'DM Mono',monospace;letter-spacing:.12em}
.desk-folder-photo{position:relative;z-index:1;float:left;width:145px;height:177px;margin:5px 30px 22px 0;padding:10px 10px 28px;background:#c7b994;box-shadow:3px 7px 12px rgba(0,0,0,.42);transform:rotate(-2.8deg);display:grid;place-items:center;font:3rem 'Special Elite',serif}
.desk-folder-photo img{width:100%;height:100%;object-fit:cover}.desk-folder-copy{position:relative;z-index:1;min-height:250px}.desk-folder-copy>small{font:700 .6rem 'DM Mono',monospace;letter-spacing:.15em}.desk-folder-copy h2{font-size:1.55rem;border-bottom:1px solid rgba(50,36,21,.52);padding:7px 0;margin-bottom:13px}.desk-folder-copy p{font-family:'Special Elite',serif;line-height:1.55}.desk-folder-meta{clear:both;display:grid;gap:8px;border-top:1px dashed rgba(50,36,21,.48);padding-top:13px;font: .68rem 'DM Mono',monospace}.desk-folder-stamp{position:absolute;z-index:2;right:34px;top:42px;border:3px double #6d2825;color:#6d2825;padding:6px 10px;font:700 .75rem 'DM Mono',monospace;letter-spacing:.12em;transform:rotate(8deg);opacity:.72}.desk-folder>button{position:relative;z-index:2;float:right;margin-top:20px}.desk-folder:hover{filter:brightness(1.04);box-shadow:8px 18px 29px rgba(0,0,0,.66)}
@media(max-width:650px){.desk-folder{min-height:390px;margin:30px 5px;padding:56px 22px 25px}.desk-folder-tab{width:68%}.desk-folder-photo{width:105px;height:132px;margin-right:18px}.desk-folder-stamp{right:20px;top:31px;font-size:.6rem}.desk-folder-copy h2{font-size:1.15rem;padding-top:35px}.desk-folder-copy p{font-size:.88rem}.desk-folder-meta{font-size:.6rem}}
