:root{--navy:#171b29;--navy2:#252a38;--gold:#d6b87c;--gold2:#9b7948;--paper:#f2eadb;--ink:#342e2a;--wine:#512b35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#f7efdf;font-family:'DM Sans',sans-serif}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.site-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:23px 5.5%;border-bottom:1px solid #ffffff29;background:#12172380;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:13px;letter-spacing:.18em;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;line-height:.92}.brand small{display:block;font-size:10px;letter-spacing:.35em;margin-top:8px}.brand-crest{font-size:35px;color:var(--gold)}nav{display:flex;gap:33px}nav a{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#e8dfcf;transition:color .2s}nav a:hover{color:var(--gold)}.outline-btn{border:1px solid #bda36d;background:transparent;color:#e8d4a4;padding:13px 17px;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.outline-btn span{margin-left:14px}.hero{min-height:790px;height:100svh;position:relative;display:grid;place-items:center;text-align:center;background:linear-gradient(#14172640,#14172665),url('assets/palace.svg') center/cover no-repeat;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,#16192722 0%,#0b101bd9 85%),linear-gradient(90deg,#0e132bb8,transparent 45%,#0e132bb8)}.hero-content{position:relative;z-index:1;padding:125px 20px 60px;max-width:1000px}.eyebrow,.section-overline,.letter-kicker{font-size:10px;letter-spacing:.3em;color:#d9c394}.hero-rule{color:var(--gold);margin:25px auto 14px;font-size:23px}.script-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:#e2cfa9;margin:0 0 4px}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(74px,11.3vw,162px);font-weight:500;line-height:.73;letter-spacing:-.045em;margin:22px 0 29px;text-shadow:0 4px 30px #080b1b}.hero h1 em{font-weight:400;font-size:.46em;letter-spacing:0;color:#e5c78c}.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2.3vw,30px);letter-spacing:.32em;margin:0}.gold-rule{width:95px;height:1px;background:var(--gold);margin:26px auto}.hero-description{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.1vw,27px);line-height:1.45;color:#e8dfd1}.primary-btn{background:linear-gradient(120deg,#b99961,#e0c68f,#b5965f);color:#1d1b21;border:0;padding:19px 29px;font-size:11px;font-weight:700;letter-spacing:.2em;margin-top:20px;box-shadow:0 6px 25px #0005;transition:transform .2s}.primary-btn:hover{transform:translateY(-3px)}.primary-btn span{margin-left:20px}.hero-foot{font-size:9px;letter-spacing:.19em;color:#d8c9a8;margin-top:28px}.scroll-cue{position:absolute;bottom:28px;z-index:1;font-size:9px;letter-spacing:.3em;color:#ddcba9}.scroll-cue span{display:block;font-size:23px;margin-top:6px}.letter-section{padding:100px 20px 115px;background:radial-gradient(ellipse at 50% 40%,#34394b,#181d2a 65%);text-align:center}.section-ornament{text-align:center;color:#b38f59;letter-spacing:.3em;font-family:'Cormorant Garamond',serif;font-size:15px;margin-bottom:35px}.letter{position:relative;max-width:760px;margin:auto;background:var(--paper);color:var(--ink);padding:64px clamp(30px,7vw,90px) 70px;border:1px solid #bd9c67;outline:7px solid #e7ddc9;box-shadow:0 25px 80px #080c15a8;text-align:left}.letter:before{content:'';position:absolute;inset:15px;border:1px solid #c3ae87;pointer-events:none}.letter-crown{text-align:center;font-size:35px;color:#927346}.letter-kicker{text-align:center;color:#8c734d;font-size:9px;margin-top:15px}.letter h2,.dossiers-section h2,.suspects-section h2,.final-banner h2{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:.9;text-align:center;font-size:clamp(50px,6vw,82px);margin:24px 0}.letter h2 em,.dossiers-section h2 em,.suspects-section h2 em,.final-banner h2 em{font-weight:400;color:#b59462}.fine-divider{text-align:center;color:#ad8954;font-size:24px;margin:20px}.letter p:not(.letter-kicker){font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.55}.letter .salutation{font-size:28px!important;font-style:italic}.signature{text-align:right;margin:30px 0 0}.signature em{font-size:35px;color:#805c51}.wax-seal{margin:0 auto -105px;background:#793c40;border:6px double #a86667;color:#d7c3a4;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;font-family:'Cormorant Garamond',serif;font-size:38px;box-shadow:0 5px 15px #0005}.suspects-section{text-align:center;padding:100px 6% 115px;background:linear-gradient(#151a27ed,#151a27ef),url('assets/palace.svg') center/cover}.section-ornament.light{color:#d6b87c}.suspects-section h2{margin:18px 0 20px}.section-intro{max-width:660px;margin:0 auto 50px;color:#c9c6c3;font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.35}.suspect-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;max-width:1300px;margin:auto}.suspect{background:#262a35;border:1px solid #8b734f;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:center}.suspect:hover{transform:translateY(-6px);box-shadow:0 18px 35px #0005}.portrait{height:265px;position:relative;overflow:hidden;background:#25232a}.portrait svg{width:100%;height:100%;display:block}.suspect .mask{position:absolute;bottom:8px;right:10px;color:#e3c18a;font-size:27px;text-shadow:0 2px 5px #000}.suspect-content{padding:21px 10px 24px}.suspect-content h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:500;margin:0}.suspect-content p{font-size:10px;letter-spacing:.15em;color:#d3b981;text-transform:uppercase}.suspect-content span{font-size:10px;color:#d8d0c5}.disclaimer{font-size:10px;color:#a49f9d;margin-top:34px}.dossiers-section{background:#f0e8d9;color:#302b29;padding:100px 6% 115px;text-align:center}.section-overline.dark{color:#8e7046}.dossiers-section h2{margin:18px 0 20px}.section-intro.dark{color:#716a61}.dossier-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;max-width:1300px;margin:0 auto}.dossier{background:#fffaf0;border:1px solid #c9b89b;box-shadow:0 8px 20px #5d4c3720;text-align:left;display:flex;flex-direction:column;min-height:300px;position:relative;transition:transform .2s}.dossier:hover{transform:translateY(-5px)}.dossier:before{content:'';position:absolute;inset:7px;border:1px solid #e4d6bd;pointer-events:none}.dossier-top{padding:27px 21px 12px}.dossier-day{font-family:'Cormorant Garamond',serif;font-size:56px;color:#a98959;line-height:1}.dossier-label{font-size:9px;letter-spacing:.18em;color:#7d6b58}.dossier h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:600;line-height:.97;margin:14px 0}.dossier p{font-size:12px;line-height:1.6;color:#69625c}.dossier button{background:#272b38;color:#e9d3a6;border:0;padding:15px 8px;font-size:10px;letter-spacing:.12em;margin:auto 14px 15px;z-index:1}.note-card{max-width:870px;margin:40px auto 0;border:1px solid #bca987;padding:18px 25px;display:flex;gap:20px;align-items:center;text-align:left}.note-card span{font-size:32px;color:#a98a58}.note-card p{font-size:12px;line-height:1.65}.final-banner{background:linear-gradient(#131825cc,#131825e8),url('assets/palace.svg') center/cover;padding:110px 20px;text-align:center}.final-banner p{font-size:11px;letter-spacing:.3em;color:#d2b880}.final-banner h2{font-size:clamp(55px,7vw,95px)}footer{text-align:center;background:#101522;padding:38px 15px;color:#cdbb9d}footer span{font-size:32px}footer p{font-size:10px;letter-spacing:.2em}footer small{font-size:9px;letter-spacing:.15em;color:#978d7e}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#0b0e16dc;display:grid;place-items:center;padding:15px;overflow-y:auto}.modal-backdrop[hidden]{display:none}.modal{width:min(720px,100%);max-height:92vh;overflow-y:auto;background:#f3ead8;color:#312c2a;border:8px double #b99c70;position:relative;padding:40px clamp(22px,5vw,58px);box-shadow:0 25px 100px #000a}.modal-close{position:absolute;top:8px;right:14px;border:0;background:transparent;font-size:31px;color:#5b4840}.modal-kicker{font-size:10px;letter-spacing:.2em;color:#8c724d;text-align:center}.modal h2{font-family:'Cormorant Garamond',serif;text-align:center;font-size:clamp(36px,6vw,55px);font-weight:500;margin:15px 0}.modal h3{font-family:'Cormorant Garamond',serif;font-size:28px;margin:24px 0 9px}.modal p,.modal li{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.4}.modal .small{font-family:'DM Sans',sans-serif;font-size:12px;color:#70695f}.modal .exhibit{border:1px solid #b9a583;padding:18px;margin:15px 0;background:#fff9ed}.modal .exhibit h4{font-size:10px;letter-spacing:.2em;color:#826845;margin:0 0 8px}.modal .exhibit p{margin:5px 0}.modal .choice{display:block;border:1px solid #c4b49a;padding:12px;margin:8px 0;font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer}.modal .choice:has(input:checked){background:#e5d6bb;border-color:#8e7048}.modal input{accent-color:#765533;margin-right:9px}.modal .modal-action{background:#262b37;color:#e7d5b1;border:0;padding:15px 24px;font-size:11px;letter-spacing:.12em;margin-top:16px}.modal .modal-action:disabled{opacity:.5;cursor:not-allowed}.modal .notice{background:#e7ddc9;border-left:3px solid #94774f;padding:14px;font-size:12px;font-family:'DM Sans',sans-serif;line-height:1.6}.modal .record{border-bottom:1px solid #d4c4a8;padding:8px 0;font-family:'Cormorant Garamond',serif;font-size:19px}.modal .record strong{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.08em;display:inline-block;width:95px}.progress{font-size:11px;letter-spacing:.12em;text-align:center;color:#866c4e;margin:12px 0}.modal input[type=text]{padding:13px;border:1px solid #baa784;background:#fffbf4;width:100%;font:16px 'DM Sans',sans-serif}.modal button:focus-visible,.site-header button:focus-visible,a:focus-visible{outline:3px solid #bd9250;outline-offset:3px}@media(max-width:1000px){.suspect-grid,.dossier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}nav{gap:14px}}@media(max-width:650px){.site-header{padding:17px 5%}.brand{font-size:14px}.brand-crest{font-size:26px}.site-header nav{display:none}.outline-btn{font-size:8px;padding:10px}.hero{min-height:720px}.hero h1{font-size:clamp(67px,15vw,105px)}.hero-sub{letter-spacing:.18em}.eyebrow{line-height:1.8;font-size:9px}.suspect-grid,.dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portrait{height:210px}.suspect-content h3{font-size:24px}.dossier{min-height:280px}.dossier h3{font-size:25px}.letter{padding:48px 25px 60px}.letter p:not(.letter-kicker){font-size:19px}.note-card{align-items:flex-start}}@media(max-width:390px){.suspect-grid,.dossier-grid{grid-template-columns:1fr}.portrait{height:290px}}


/* Regency Grand Palace redesign — visual layer only; game logic retained */
:root{--navy:#394858;--navy2:#506171;--gold:#d4b77d;--gold2:#99764d;--paper:#f7efe1;--ink:#352b28;--wine:#714451}
body{background:#e8ddca;color:#f9f0e1}
.site-header{background:linear-gradient(90deg,#253342ed,#364452d9);border-bottom:2px solid #d3b985;box-shadow:0 4px 28px #1b1a1d55}
.brand{font-size:21px}.brand-crest{font-size:39px}.outline-btn{background:#f0e3cb12;border:1px solid #e5c990}
.hero{background:linear-gradient(#25304460,#1b26378c),url('assets/palace-classic.svg') center/cover no-repeat}
.hero-overlay{background:linear-gradient(90deg,#18212c9c,transparent 25%,transparent 75%,#18212c9c),radial-gradient(ellipse at center,#15233420 0%,#18212cbd 94%)}
.hero-content{max-width:1100px;background:radial-gradient(ellipse at center,#263444c7 0%,#26344466 56%,transparent 77%);padding:135px 40px 85px}
.hero h1{font-size:clamp(75px,10vw,143px);line-height:.82;letter-spacing:-.035em;text-shadow:0 6px 18px #121b29}
.hero h1 em{color:#e6cfa3}.hero-sub{letter-spacing:.25em}.hero-description{color:#fff4e4}
.letter-section{background:linear-gradient(#3a4654db,#3a4654ed),url('assets/palace-classic.svg') center/cover;padding:110px 20px 130px}
.letter{background:radial-gradient(ellipse at 50% 32%,#fffaf0,#f0e4ce 88%);border:2px solid #c9ad7e;outline:9px solid #e9ddc6;box-shadow:0 35px 90px #151b27a6}
.letter:before{border:1px solid #b89a69}.letter h2{font-size:clamp(55px,6.5vw,90px)}
.suspects-section{background:linear-gradient(#283746dc,#283746ed),url('assets/palace-classic.svg') center/cover;padding-top:115px}
.suspect{background:#e8dcc8;border:4px ridge #c9ab78;box-shadow:0 15px 30px #0e162c66}
.suspect-content{background:linear-gradient(#eee4d3,#d8c6a8);color:#392c28}.suspect-content h3{color:#3a302c;font-weight:600}.suspect-content p{color:#80603c}.suspect-content span{color:#584a3b}
.portrait{border-bottom:5px solid #a98a5d;background:#766b63}.portrait svg{filter:sepia(.15) saturate(.78) contrast(1.05)}
.dossiers-section{background:radial-gradient(ellipse at 50% 0%,#fffaf0,#e6d8bd 78%);border-top:9px solid #bca477}
.dossier{background:linear-gradient(145deg,#fffaf0,#eee0c6);border:2px solid #b89a6b;box-shadow:0 14px 28px #4d3c2a2e}.dossier:before{border-color:#c6ac7f}
.dossier button,.modal .modal-action{background:#48586a;color:#f6e5c5}.dossier button:hover,.modal .modal-action:hover{background:#314253}
.final-banner{background:linear-gradient(#263344bb,#263344d9),url('assets/palace-classic.svg') center/cover}
footer{background:#293846}.modal{background:radial-gradient(#fff9eb,#ebddc3);border:9px double #b99b68}
@media(max-width:650px){.hero-content{padding:135px 15px 75px}.hero h1{font-size:clamp(63px,14vw,96px)}.suspect-grid{gap:13px}}

/* Royal Evidence Room */
.evidence-section{padding:110px max(5%,30px);background:linear-gradient(135deg,#e9dfcb,#f7f0e4 52%,#e5d8bf);color:#302b2a;text-align:center}.evidence-section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6vw,86px);font-weight:500;margin:12px auto}.evidence-section h2 em{color:#a7844e}.archive-controls{max-width:1100px;margin:38px auto 16px;display:flex;gap:16px;text-align:left}.archive-controls label{font:600 11px 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;flex:1;color:#705b43}.archive-controls input,.archive-controls select{display:block;width:100%;padding:14px;margin-top:9px;background:#fffaf1;border:1px solid #c8b48d;color:#342d27;font:15px 'DM Sans',sans-serif}.archive-count{font:12px 'DM Sans',sans-serif;color:#76654f;max-width:1100px;text-align:left;margin:0 auto 16px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1100px;margin:auto;text-align:left}.archive-record{background:#fffaf0;border:1px solid #bca475;outline:5px double #e6d7bd;outline-offset:-12px;padding:30px 24px;min-height:280px;display:flex;flex-direction:column;box-shadow:0 10px 22px #4d351a14}.archive-record-head{display:flex;justify-content:space-between;gap:12px;font:10px 'DM Sans',sans-serif;letter-spacing:.09em;color:#947347}.archive-record h3{font:500 27px 'Cormorant Garamond',serif;margin:22px 0 12px}.archive-record p{white-space:normal;font:14px/1.75 'DM Sans',sans-serif;color:#51483c;flex:1}.archive-button{background:#272c39;color:#f1d6a2;border:1px solid #a88b55;padding:12px 16px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.14em;cursor:pointer}.archive-button:hover{background:#504432}.notebook-panel{max-width:900px;margin:65px auto 25px;padding:38px;background:#f8f1e5;border:1px solid #bca475;text-align:left;box-shadow:0 15px 35px #49351d1a}.notebook-panel h3{font:500 44px 'Cormorant Garamond',serif;margin:8px 0}.notebook-panel p{font:15px/1.7 'DM Sans',sans-serif}.notebook-panel label{display:block;font:600 12px 'DM Sans',sans-serif;margin:22px 0 10px}.notebook-panel textarea{width:100%;box-sizing:border-box;min-height:160px;padding:18px;border:1px solid #cbb892;background:#fffdf8;color:#302b2a;font:16px/1.6 'Cormorant Garamond',serif}.notebook-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px}.notebook-actions span{font:12px 'DM Sans',sans-serif;color:#806b4d}@media(max-width:900px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.archive-grid{grid-template-columns:1fr}.archive-controls,.notebook-actions{flex-direction:column}.notebook-panel{padding:22px}.evidence-section{padding:70px 20px}}
