:root {
  --pine: #17382f; --pine-dark: #122f28; --cream: #f6f1e7; --paper: #fffdf8;
  --red: #a43e35; --gold: #c9a96a; --ink: #25352e; --line: #e8e2d7;
  --serif: "Playfair Display", Georgia, serif; --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 15px/1.6 var(--sans); }
[hidden] { display: none !important; }
.snow { position: fixed; inset: 0; pointer-events: none; opacity: .14; background-image: radial-gradient(#fff 1px, transparent 1px), radial-gradient(#fff 1px, transparent 1px); background-size: 53px 53px, 79px 79px; background-position: 0 0, 24px 37px; z-index: 5; }
.topbar { height: 75px; background: var(--pine-dark); color: #f7f2e8; display: flex; align-items: center; justify-content: space-between; padding: 0 max(calc((100vw - 1080px)/2), 5vw); letter-spacing: .08em; }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.brand small { display: block; font-size: 9px; font-weight: 400; letter-spacing: .06em; color: #c1c7bd; margin-top: 2px; }
.brand-seal { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #bda26b; border-radius: 50%; color: #d7bd84; font-size: 21px; }
.case-label { font-size: 10px; color: #c4c8bd; }.case-label b { color: #e1c989; margin-left: 6px; }.live-dot,.demo-pill i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #91b285; margin-right: 7px; }
.hero { min-height: 440px; background: var(--pine); color: #f8f4e9; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 48px max(calc((100vw - 1080px)/2), 5vw) 52px; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; }.eyebrow { font-size: 10px; letter-spacing: .19em; font-weight: 700; color: #d4bd87; margin: 0 0 17px; }
.hero h1 { font: 600 clamp(40px,5.2vw,62px)/1.1 var(--serif); letter-spacing: -.035em; margin: 0 0 18px; }.hero h1 em { color: #d8c28e; }
.lede { color: #d3d9cf; max-width: 440px; font-size: 14px; margin: 0 0 24px; }
.button { border: 0; border-radius: 3px; display: inline-flex; align-items: center; gap: 23px; padding: 12px 17px; text-decoration: none; font: 700 11px var(--sans); cursor: pointer; transition: transform .18s, background .18s; }.button:hover { transform: translateY(-2px); }.button-light { background: #f7f2e8; color: var(--pine); }.button-green { background: var(--pine); color: white; }.button-green:hover { background: #285447; }
.hero-art { position: relative; height: 326px; max-width: 500px; width: 100%; justify-self: end; overflow: hidden; }.moon { position: absolute; width: 66px; height: 66px; border-radius: 50%; background: #d6c38f; top: 28px; right: 94px; box-shadow: 0 0 50px #d6c38f33; }.star { position: absolute; color: #e5d39f; }.star-a { top: 42px; left: 23%; }.star-b { top: 94px; right: 9%; font-size: 23px; }
.hill { position: absolute; bottom: -18px; border-radius: 50% 50% 0 0; }.hill-back { left: -5%; right: -10%; height: 130px; background: #274c3e; }.hill-front { left: 28%; right: -16%; height: 95px; background: #356048; }
.pine { position: absolute; bottom: 32px; width: 85px; height: 146px; z-index: 2; }.pine-left { left: 2%; }.pine-right { right: 4%; transform: scale(.83); }.pine i { position: absolute; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 36px solid transparent; border-right: 36px solid transparent; border-bottom: 60px solid #204535; bottom: 0; }.pine i:nth-child(2) { border-left-width: 29px; border-right-width: 29px; border-bottom: 53px solid #285340; bottom: 37px; }.pine i:nth-child(3) { border-left-width: 22px; border-right-width: 22px; border-bottom: 44px solid #336348; bottom: 70px; }.pine b { position: absolute; top: 0; left: 37px; color: #ddc17d; }
.found-envelope { position: absolute; z-index: 3; bottom: 58px; left: 50%; transform: translateX(-50%) rotate(-7deg); width: 195px; height: 118px; background: #f7f0dc; border: 1px solid #d3bd95; box-shadow: 0 11px 20px #071c1755; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #806847; text-align: center; }.found-envelope:before,.found-envelope:after { content: ""; position: absolute; left: 0; width: 0; height: 0; border-style: solid; }.found-envelope:before { top: 0; border-width: 58px 97px 0; border-color: #eee3ce transparent transparent; }.found-envelope:after { bottom: 0; border-width: 0 97px 57px; border-color: transparent transparent #e9ddc7; }.found-envelope>* { position: relative; z-index: 1; }.found-envelope span { font-size: 13px; color: #bd9e63; }.found-envelope b { font: 700 10px/1.25 var(--sans); letter-spacing: .12em; margin: 3px 0; }.found-envelope small { font-size: 6px; letter-spacing: .1em; }.found-envelope i { position: absolute; right: 16px; bottom: 10px; color: #a34538; font-size: 16px; font-style: normal; }.snowflake { position: absolute; color: #eff3ea; z-index: 3; }.flake-one { left: 24%; top: 35%; }.flake-two { right: 24%; bottom: 33%; }
.story-wrap { max-width: 1080px; margin: auto; padding: 62px 0; }.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 22px; }.eyebrow.dark { color: #9c7642; margin: 0 0 7px; }.section-heading h2,.password-copy h2 { font: 600 32px/1.2 var(--serif); color: #203a30; margin: 0; letter-spacing: -.02em; }.file-tag { font-size: 9px; letter-spacing: .13em; color: #83847b; }.file-tag b { color: var(--red); }
.found-story { display: grid; grid-template-columns: .84fr 1.16fr; gap: 42px; align-items: center; background: #eee8dc; padding: 26px 34px; margin-bottom: 25px; }.letter-figure { margin: 0; position: relative; min-height: 260px; display: grid; place-items: center; }.letter-shadow { position: absolute; width: 225px; height: 16px; border-radius: 50%; background: #273b3020; bottom: 29px; filter: blur(5px); }.letter-paper { position: relative; width: 214px; height: 214px; background: #fffaf0; border: 1px solid #e6d9c2; box-shadow: 0 10px 23px #413a2c20; transform: rotate(-3deg); padding: 20px 21px; color: #675b47; }.letter-paper:after { content: ""; position: absolute; inset: 9px; border: 1px solid #eee5d6; pointer-events: none; }.letter-corner { position: absolute; right: 17px; top: 13px; color: #bd9e63; }.letter-paper>small { font-size: 6px; letter-spacing: .16em; color: #a49a86; }.letter-rule { width: 35px; border-top: 1px solid #c7ad7b; margin: 14px 0; }.letter-to { font: 13px/1.4 var(--serif); }.letter-to strong { font-size: 17px; color: #8e453a; }.letter-scribble { font: italic 10px/1.6 var(--serif); color: #9e8a68; margin-top: 16px; }.wax-seal { position: absolute; right: 18px; bottom: 19px; width: 30px; height: 30px; border-radius: 50%; background: #a54639; color: #e8c78e; display: grid; place-items: center; font-size: 13px; box-shadow: 0 2px 3px #4a2b252c; }.letter-mark { position: absolute; left: 19px; bottom: 18px; font-size: 6px; letter-spacing: .14em; color: #9f8060; }.letter-figure figcaption { position: absolute; bottom: 2px; font-size: 8px; letter-spacing: .1em; color: #8d897e; text-transform: uppercase; }
.story-copy { max-width: 470px; }.mini-label { font-size: 8px; letter-spacing: .16em; font-weight: 700; color: #9c8151; }.story-copy h3 { font: 600 24px/1.25 var(--serif); margin: 5px 0 12px; color: #293e33; }.story-copy p { font-size: 12px; color: #697168; margin: 0 0 10px; }.story-note { display: flex; gap: 9px; align-items: start; border-top: 1px solid #d9d0c1; margin-top: 15px; padding-top: 12px; font-size: 10px; color: #526256; }.story-note span { color: #ad8e51; }
.email-card { background: var(--paper); border: 1px solid var(--line); box-shadow: 0 9px 30px #463d2b0a; margin: 0 0 21px; }.email-top { display: flex; align-items: center; justify-content: space-between; padding: 16px 21px; border-bottom: 1px solid var(--line); }.email-brand { display: flex; align-items: center; gap: 11px; }.email-icon { width: 36px; height: 36px; background: #edf0e8; color: #45664d; border-radius: 50%; display: grid; place-items: center; font-size: 17px; }.email-top h3 { font: 600 17px var(--serif); margin: 1px 0 0; color: #263d32; }.email-badge { border: 1px solid #e2d8c4; color: #927447; font-size: 7px; letter-spacing: .15em; padding: 5px 8px; }.email-meta { padding: 12px 22px; border-bottom: 1px solid #eee9df; display: grid; gap: 5px; }.email-meta div { display: flex; gap: 12px; font-size: 9px; }.email-meta span { width: 54px; letter-spacing: .13em; color: #9a958a; font-size: 7px; padding-top: 2px; }.email-meta b { font-weight: 500; color: #59675d; }.email-body { max-width: 750px; margin: auto; padding: 20px 28px 15px; font: 12px/1.72 var(--sans); color: #46554a; }.email-body p { margin: 0 0 12px; }.email-body .email-ps { margin-top: 15px; border-top: 1px dashed #ded6c8; padding-top: 11px; color: #8a6647; font-style: italic; }.email-body .email-ps b { font-style: normal; }.email-footer { border-top: 1px solid #eee9df; padding: 10px 20px; display: flex; justify-content: space-between; font-size: 7px; letter-spacing: .12em; color: #a19c8f; }
.password-panel { display: grid; grid-template-columns: 47px 1fr 1.05fr; gap: 17px; align-items: center; background: #e9e2d3; border: 1px solid #ddd1bc; border-left: 3px solid #b99b62; padding: 19px 21px; margin-top: 20px; }.password-lock { width: 42px; height: 42px; border-radius: 50%; background: #f8f4eb; display: grid; place-items: center; font-size: 25px; color: #987b4d; }.password-copy h2 { font-size: 20px; margin: 0 0 5px; }.password-copy p:last-child { font-size: 10px; color: #70776d; margin: 0; }.password-form label { display: block; font-size: 8px; letter-spacing: .13em; font-weight: 700; color: #84734f; margin-bottom: 5px; }.input-row { display: flex; gap: 7px; }.input-row input { min-width: 0; flex: 1; height: 40px; border: 1px solid #d5cbbb; background: #fffdf8; padding: 0 12px; font: 12px var(--sans); color: #35463b; }.input-row input:focus { outline: 2px solid #b9a16d; outline-offset: 1px; }.input-row .button { white-space: nowrap; padding: 10px 12px; }.feedback { font-size: 9px; color: #778078; min-height: 14px; margin: 5px 0 0; }.feedback.error { color: #a43e35; }.feedback.ok { color: #3f704d; }
.calendar-section { padding-top: 63px; scroll-margin-top: 18px; }.calendar-intro { font-size: 12px; color: #6f786f; margin: -10px 0 17px; }.calendar-tools { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }.filters { display: flex; gap: 6px; flex-wrap: wrap; }.filter { border: 1px solid #ded8cd; background: #f0ece3; color: #6f776f; padding: 7px 10px; font: 600 9px var(--sans); cursor: pointer; }.filter span { display: inline-grid; place-items: center; margin-left: 5px; min-width: 16px; height: 16px; border-radius: 9px; background: #e2dccc; font-size: 8px; }.filter.active { background: var(--pine); border-color: var(--pine); color: white; }.filter.active span { background: #ffffff26; color: #fff; }.demo-pill { font-size: 8px; letter-spacing: .14em; color: #57735e; border: 1px solid #c9d8c7; padding: 4px 7px; }.demo-pill i { width: 6px; height: 6px; background: #6e9c6d; margin-right: 4px; }.door-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; }.door { border: 1px solid #e6e0d4; background: #f0ece3; min-height: 63px; display: flex; align-items: center; justify-content: space-between; padding: 0 11px; color: #aaa69a; font: 600 16px var(--serif); position: relative; }.door .door-day { font-size: 16px; }.door .door-icon { font-size: 15px; }.door.available { background: #fffdf8; border-color: #c8ab70; color: #6f5934; cursor: pointer; box-shadow: 0 3px 0 #d7c49e; transition: transform .15s; }.door.available:hover { transform: translateY(-2px); }.door.completed { background: #e6eee3; border-color: #ccd9c7; color: #416c4a; }.door.locked { background: #f0ece3; color: #aaa69a; }.door-grid.empty { display: block; padding: 22px; background: #f0ece3; color: #777f76; font-size: 11px; }.calendar-note { font-size: 10px; color: #85877d; margin: 13px 0 0; }
footer { background: #16362e; color: #b9c2b8; padding: 17px max(calc((100vw - 1080px)/2),5vw); display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .12em; }footer b { color: #d8c189; margin-left: 8px; }
@media(max-width:900px) { .hero { padding-left: 6vw; padding-right: 6vw; }.hero-art { transform: scale(.9); transform-origin: center right; }.story-wrap { margin: 0 6vw; }.found-story { gap: 25px; padding: 22px; }.password-panel { grid-template-columns: 43px 1fr; }.password-form { grid-column: 2; }.door-grid { grid-template-columns: repeat(6,1fr); } }
@media(max-width:640px) { .topbar { height: 65px; padding: 0 5vw; }.brand { font-size: 9px; }.brand small { font-size: 8px; }.case-label { font-size: 8px; }.hero { display: block; min-height: 0; padding: 48px 7vw 0; }.hero h1 { font-size: 43px; }.lede { font-size: 13px; }.hero-art { height: 248px; max-width: 400px; margin: 8px auto 0; transform: scale(.88); transform-origin: top center; }.story-wrap { margin: 0 5vw; padding: 40px 0; }.section-heading { align-items: start; gap: 10px; }.section-heading h2 { font-size: 27px; }.file-tag { font-size: 7px; white-space: nowrap; margin-top: 6px; }.found-story { grid-template-columns: 1fr; gap: 20px; padding: 18px; }.letter-figure { min-height: 245px; }.story-copy h3 { font-size: 22px; }.story-copy p { font-size: 11px; }.email-top { padding: 14px; }.email-meta { padding: 11px 15px; }.email-body { padding: 17px 17px 12px; font-size: 11px; line-height: 1.75; }.email-footer { padding: 9px 12px; font-size: 6px; gap: 10px; }.password-panel { grid-template-columns: 38px 1fr; gap: 12px; padding: 15px; }.password-lock { width: 36px; height: 36px; }.password-copy h2 { font-size: 18px; }.password-copy p:last-child { font-size: 9px; }.password-form { grid-column: 1/-1; }.input-row .button { gap: 8px; }.calendar-section { padding-top: 46px; }.calendar-tools { align-items: flex-start; gap: 10px; }.filters { gap: 4px; }.filter { padding: 7px; font-size: 8px; }.filter span { margin-left: 2px; }.demo-pill { white-space: nowrap; font-size: 7px; }.door-grid { grid-template-columns: repeat(4,1fr); gap: 6px; }.door { min-height: 54px; padding: 0 9px; }.calendar-intro { font-size: 11px; }.calendar-note { font-size: 9px; }footer { padding: 15px 5vw; gap: 12px; font-size: 7px; flex-direction: column; }footer span:last-child { text-align: right; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }*,*::before,*::after { transition: none !important; } }
.calendar-home { max-width: 1080px; margin: auto; padding: 62px 0 72px; }
.calendar-home .calendar-intro { margin: -10px 0 20px; }
.door-grid a.door { text-decoration: none; }
.puzzle-main { max-width: 1080px; margin: auto; padding: 44px 0 58px; }
.launch-screen { position: relative; display: flex; align-items: center; min-height: calc(100svh - 75px); overflow: hidden; isolation: isolate; padding: clamp(45px,8vh,90px) max(calc((100vw - 1080px)/2),5vw); color: #f8f4e9; background: radial-gradient(ellipse at 78% 35%,#315443 0,#1e4034 31%,#142f28 74%); }
.launch-screen:before { position: absolute; z-index: -1; inset: 0; content: ""; opacity: .38; background-image: radial-gradient(#f3e4b9 1px,transparent 1.5px),radial-gradient(#f3e4b9 1px,transparent 1.5px); background-size: 101px 101px,157px 157px; background-position: 21px 13px,72px 64px; }
.launch-content { position: relative; z-index: 2; width: min(100%,780px); padding-bottom: 16px; }
.launch-eyebrow { margin: 0 0 18px; color: #ddc98f; font-size: 9px; font-weight: 700; letter-spacing: .2em; }.launch-eyebrow span { margin: 0 8px; }
.launch-content h1 { margin: 0; color: #fff9e9; font: 600 clamp(38px,5.4vw,66px)/1.08 var(--serif); letter-spacing: -.035em; }
.launch-copy { max-width: 520px; margin: 16px 0 31px; color: #d2d9cf; font-size: clamp(13px,1.35vw,16px); line-height: 1.75; }
.launch-countdown { position: relative; display: grid; gap: 14px; width: min(100%,700px); padding: 21px clamp(16px,3vw,30px) 20px; border: 1px solid #d1b66b66; background: linear-gradient(110deg,#0d2722c9,#1c3b31d9); box-shadow: 0 15px 50px #071a1640,inset 0 1px #ffffff0c; }
.launch-sync { color: #ddc98f; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.launch-countdown strong { display: flex; align-items: center; justify-content: space-between; gap: clamp(4px,1vw,12px); color: #fff8e6; font: 600 clamp(37px,7.8vw,88px)/.98 var(--serif); font-variant-numeric: tabular-nums; }
.launch-countdown strong>span { display: grid; justify-items: center; min-width: 0; flex: 1; }
.launch-countdown strong small { margin-top: 11px; color: #c4cbbb; font: 700 clamp(7px,.8vw,9px)/1 var(--sans); letter-spacing: .15em; }
.launch-countdown strong i { align-self: start; padding-top: 3px; color: #c5a85f; font: normal clamp(24px,4vw,40px)/1 var(--sans); }
.launch-note { display: flex; align-items: center; gap: 8px; margin: 17px 0 0; color: #bbc8bb; font-size: 10px; }.launch-note span { color: #d6bd78; font-size: 15px; }
.launch-admin { display: inline-flex; align-items: center; gap: 9px; margin-top: 24px; color: #d4c28e; font-size: 9px; letter-spacing: .09em; text-decoration: none; }.launch-admin:hover { color: #fff2ca; }.launch-admin span { font-size: 14px; }
.launch-glow { position: absolute; z-index: -1; width: 360px; height: 360px; border: 1px solid #c9ad6040; border-radius: 50%; box-shadow: 0 0 0 33px #c9ad6007,0 0 0 69px #c9ad6005; }.launch-glow-one { top: -205px; right: 13%; }.launch-glow-two { bottom: -280px; left: 37%; width: 460px; height: 460px; }
.launch-ornament { position: absolute; z-index: 0; right: max(calc((100vw - 1180px)/2),2vw); bottom: 0; width: min(38vw,470px); height: 75%; opacity: .82; pointer-events: none; }.launch-ground { position: absolute; right: -27%; bottom: -80px; width: 145%; height: 36%; border-radius: 50% 50% 0 0; background: linear-gradient(#e8e6d744,#d7dfd6 38%); }.launch-tree { position: absolute; bottom: 16%; width: 0; height: 0; border-left: clamp(80px,12vw,150px) solid transparent; border-right: clamp(80px,12vw,150px) solid transparent; border-bottom: clamp(200px,30vw,365px) solid #102f27; filter: drop-shadow(0 12px 15px #071d19aa); }.tree-back { right: 6%; transform: scale(.75); transform-origin: bottom; border-bottom-color: #214435; }.tree-front { right: 33%; }.launch-star { position: absolute; color: #e2ca82; text-shadow: 0 0 18px #e2ca8266; }.star-one { top: 8%; right: 42%; font-size: 18px; }.star-two { top: 18%; right: 14%; font-size: 25px; }.star-three { top: 33%; right: 81%; font-size: 13px; }
@media(max-width:640px) { .launch-screen { min-height: calc(100svh - 65px); align-items: flex-start; padding: clamp(55px,12vh,105px) 6vw 40px; }.launch-content { width: 100%; padding-bottom: 145px; }.launch-eyebrow { font-size: 8px; }.launch-content h1 { max-width: 430px; font-size: clamp(37px,11vw,54px); }.launch-copy { max-width: 440px; margin: 14px 0 24px; font-size: 12px; }.launch-countdown { gap: 13px; padding: 17px 11px 15px; }.launch-sync { font-size: 7px; }.launch-countdown strong { font-size: clamp(30px,9.8vw,55px); gap: 3px; }.launch-countdown strong small { margin-top: 8px; font-size: 6px; letter-spacing: .1em; }.launch-countdown strong i { font-size: 21px; }.launch-note { max-width: 260px; font-size: 9px; line-height: 1.5; }.launch-ornament { right: -10%; width: 82vw; height: 47%; opacity: .43; }.launch-tree { bottom: 11%; border-left-width: 92px; border-right-width: 92px; border-bottom-width: 228px; }.tree-back { right: 2%; }.tree-front { right: 39%; }.launch-ground { height: 28%; }.star-three { right: 93%; } }
.launch-screen { justify-content: center; }
.launch-content { width: min(100%,980px); text-align: center; }
.launch-content h1 { font-size: clamp(44px,6vw,74px); }
.launch-copy { margin: 16px auto 31px; }
.launch-countdown { width: min(100%,900px); margin-inline: auto; }
.launch-countdown strong { justify-content: center; gap: clamp(9px,2.2vw,28px); font-size: clamp(54px,9vw,116px); }
.launch-countdown strong>span { flex: 0 1 170px; }
.launch-countdown strong i { font-size: clamp(30px,4.5vw,52px); }
.launch-note { justify-content: center; }
.launch-ornament { opacity: .38; }
@media(max-width:640px) { .launch-screen { align-items: center; padding: 44px 5vw; }.launch-content { padding-bottom: 0; }.launch-content h1 { font-size: clamp(37px,10.5vw,58px); }.launch-copy { max-width: 440px; margin: 14px auto 24px; }.launch-countdown { gap: 14px; padding: 19px 8px 17px; }.launch-countdown strong { justify-content: space-between; gap: 2px; font-size: clamp(34px,10.5vw,66px); }.launch-countdown strong>span { flex: 1 1 0; }.launch-countdown strong small { margin-top: 8px; font-size: clamp(5px,1.7vw,8px); letter-spacing: .09em; }.launch-countdown strong i { font-size: clamp(19px,6vw,28px); }.launch-note { max-width: unset; }.launch-ornament { opacity: .25; } }
.day-three { max-width: 940px; }
.day-three-card { margin-bottom: 18px; }
.personnel-room { position: relative; min-height: 295px; margin: 20px 0; padding: 16px 18px; overflow: hidden; border: 1px solid #d7cdb9; background: linear-gradient(#e8e3d4 0 62%,#c8b998 62% 100%); }
.personnel-room:after { position: absolute; right: 0; bottom: 0; left: 0; height: 18px; content: ""; background: repeating-linear-gradient(90deg,#978466 0 58px,#a89370 58px 62px); opacity: .55; }
.personnel-sign { display: grid; justify-items: center; gap: 2px; width: min(100%,330px); margin: 0 auto; padding: 7px 12px; border: 2px solid #9a8359; background: #f3ecd9; color: #425641; box-shadow: 0 3px 0 #c8b791; }
.personnel-sign span { color: #aa8b51; font-size: 15px; }.personnel-sign b { font: 700 13px var(--serif); letter-spacing: .13em; }.personnel-sign small { font-size: 7px; letter-spacing: .13em; color: #81775f; }
.personnel-desks { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; width: min(70%,600px); margin: 21px auto 0; }
.personnel-desk { position: relative; display: flex; justify-content: center; align-items: center; min-height: 69px; border: 2px solid #4e432f; background: #735e42; box-shadow: 0 5px 0 #493b29; color: #f1e7d2; font-size: 19px; }
.personnel-desk i { position: absolute; right: 14px; bottom: -12px; left: 14px; height: 10px; border: 1px solid #53432f; background: #a18a66; }
.filing-cabinet { position: absolute; right: 20px; bottom: 22px; z-index: 1; display: grid; gap: 5px; width: 88px; padding: 7px; border: 2px solid #62543d; background: #8d7a58; box-shadow: 0 5px 0 #66563c; color: #efe4c9; text-align: center; }.filing-cabinet span { font-size: 7px; letter-spacing: .15em; }.filing-cabinet i { height: 25px; border: 1px solid #594a34; background: #b3a17d; color: #66583e; font-size: 15px; font-style: normal; line-height: 23px; }
.dossier-intro { margin-bottom: 15px; }.dossier-intro p { max-width: 700px; margin: 6px 0 0; color: #6f786f; font-size: 11px; }
.personnel-file { position: relative; width: min(100%,760px); margin: auto; padding: 22px clamp(17px,4vw,35px) 15px; border: 1px solid #d5c7a8; background: repeating-linear-gradient(0deg,#f8f1df 0 31px,#eee5d1 32px),#f8f1df; box-shadow: 0 10px 25px #40392918; }
.personnel-file:before { position: absolute; top: -10px; left: 22px; width: 145px; height: 10px; border: 1px solid #c5b58e; border-bottom: 0; background: #e8ddc2; content: ""; }
.file-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 2px solid #bba778; }.file-header>div { display: flex; align-items: center; gap: 12px; }.file-seal { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #9d8050; border-radius: 50%; color: #9d8050; font-size: 19px; }.file-header small { color: #8c7955; font-size: 7px; letter-spacing: .14em; }.file-header h2 { margin: 1px 0 0; color: #394538; font: 600 23px/1.2 var(--serif); }.file-number { flex: none; color: #9c7642; font-size: 7px; letter-spacing: .15em; text-align: right; }.file-number b { font: 700 11px var(--sans); }
.file-records { display: grid; }.file-records>div { display: grid; grid-template-columns: 145px 1fr; align-items: center; min-height: 47px; border-bottom: 1px dashed #d9ccb0; }.file-records>div>span { color: #857655; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.file-records>div>strong { color: #465142; font: 500 13px var(--sans); }.file-records a { color: inherit; text-decoration-color: #a99770; text-underline-offset: 3px; }
.file-records>.office-record { grid-template-columns: 145px 1fr; min-height: 104px; }.file-note { display: grid; gap: 3px; justify-self: start; min-width: 200px; padding: 12px 17px 10px; transform: rotate(-2deg); background: #efe1a9; color: #6f6040; box-shadow: 0 3px 7px #443b241f; }.file-note small { font-size: 7px; letter-spacing: .14em; }.file-note strong { font: italic 14px var(--serif); }.file-note span { margin-top: 3px; color: #92835f; font-size: 7px; }
.file-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; color: #948667; font-size: 6px; letter-spacing: .12em; }.file-footer b { margin-left: 4px; color: #aa8b51; }
.dossier-narrative { max-width: 760px; margin: 20px auto 14px; color: #697168; font: 13px/1.75 var(--serif); }
.mail-monitor { max-width: 760px; margin: 0 auto 20px; overflow: hidden; border: 7px solid #39483e; border-bottom-width: 12px; border-radius: 5px; background: #edeadf; box-shadow: 0 8px 17px #2b34252a; }.monitor-top { display: flex; justify-content: space-between; padding: 8px 11px; background: #244337; color: #eee7d4; font-size: 8px; letter-spacing: .1em; }.monitor-body { display: grid; grid-template-columns: 150px 1fr; min-height: 100px; }.mail-sidebar { display: grid; align-content: start; gap: 9px; padding: 12px; border-right: 1px solid #dad5c7; color: #777a70; font-size: 8px; }.mail-sidebar b { color: #536b56; font-size: 7px; letter-spacing: .1em; }.mail-window { display: flex; align-items: center; gap: 11px; padding: 15px; color: #4c5a4d; }.mail-window-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #dce5d8; color: #45664d; font-size: 17px; }.mail-window b,.mail-window small { display: block; }.mail-window b { font: 600 12px var(--serif); }.mail-window small { margin-top: 3px; color: #87877b; font-size: 8px; }.mail-window-menu { margin-left: auto; color: #90866d; font-size: 15px; }
.day-three-password { margin-top: 19px; }
@media(max-width:640px) { .personnel-room { min-height: 260px; padding: 12px 9px; }.personnel-sign b { font-size: 11px; }.personnel-sign small { font-size: 6px; }.personnel-desks { width: 72%; gap: 7px; margin-top: 18px; }.personnel-desk { min-height: 55px; font-size: 15px; }.personnel-desk i { right: 6px; left: 6px; }.filing-cabinet { right: 10px; bottom: 22px; width: 65px; padding: 5px; }.filing-cabinet i { height: 22px; line-height: 20px; }.file-header h2 { font-size: 20px; }.file-seal { width: 34px; height: 34px; }.file-header small { font-size: 6px; }.file-records>div,.file-records>.office-record { grid-template-columns: 83px 1fr; gap: 5px; }.file-records>div>strong { font-size: 11px; overflow-wrap: anywhere; }.file-records>div>span { font-size: 7px; }.file-note { min-width: 0; padding: 10px 12px; }.file-note strong { font-size: 12px; }.file-footer { font-size: 5px; }.monitor-body { grid-template-columns: 108px 1fr; }.mail-sidebar { gap: 7px; padding: 10px 7px; font-size: 7px; }.mail-window { gap: 7px; padding: 10px 8px; }.mail-window b { font-size: 10px; }.mail-window small { font-size: 7px; }.mail-window-menu { display: none; } }
.puzzle-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 23px; }
.puzzle-heading h1 { font: 600 36px/1.16 var(--serif); color: #203a30; margin: 0; letter-spacing: -.02em; }
.puzzle-heading p:last-child { margin: 8px 0 0; font-size: 12px; color: #6f786f; }
.room-number { flex: none; font-size: 9px; letter-spacing: .13em; color: #83847b; border-bottom: 1px solid #cbbd9f; padding-bottom: 6px; }
.room-number b { font-size: 17px; color: #aa4539; margin-left: 8px; }
.back-link { color: #e2d2a8; text-decoration: none; font-size: 9px; letter-spacing: .13em; }
.back-link:hover { color: white; }
.puzzle-main .found-story { margin-bottom: 23px; }
.puzzle-main .story-copy h2 { font: 600 24px/1.25 var(--serif); margin: 5px 0 12px; color: #293e33; }
.password-panel { margin-top: 22px; }
.success-card { display: flex; align-items: center; gap: 15px; margin-top: 15px; background: #e7eee4; border: 1px solid #cbd9c6; padding: 19px; }
.success-icon { width: 43px; height: 43px; border-radius: 50%; background: #4c7653; color: white; display: grid; place-items: center; font-size: 21px; flex: none; }
.success-card>div:nth-child(2) { flex: 1; }
.success-card h2 { font: 600 21px var(--serif); margin: 1px 0 3px; color: #284a35; }
.success-card p { font-size: 11px; margin: 0; color: #4b5f50; }
.success-card .button { white-space: nowrap; }
.demo-footnote { text-align: center; font-size: 10px; color: #898a80; margin: 23px 0 0; }
.demo-footnote a { color: #6b745f; }
.password-form button:disabled { opacity: .65; cursor: default; }
@media(max-width:900px) { .calendar-home,.puzzle-main { margin-left: 6vw; margin-right: 6vw; }.puzzle-main { padding-top: 40px; } }
@media(max-width:640px) { .calendar-home { margin: 0 5vw; padding: 42px 0 52px; }.puzzle-main { margin: 0 5vw; padding: 33px 0 43px; }.puzzle-heading { align-items: start; }.puzzle-heading h1 { font-size: 28px; }.puzzle-heading p:last-child { font-size: 10px; }.room-number { font-size: 8px; white-space: nowrap; margin-top: 8px; }.back-link { font-size: 7px; }.success-card { align-items: flex-start; flex-wrap: wrap; }.success-card .button { width: 100%; justify-content: space-between; } }
.calendar-bottom { display: flex; justify-content: space-between; align-items: center; gap: 14px; border-top: 1px solid #e3ddd2; padding-top: 15px; margin-top: 16px; color: #929187; font-size: 9px; }
.reset-button { border: 1px solid #d9d1c3; background: transparent; color: #6f756c; padding: 8px 11px; font: 600 9px var(--sans); cursor: pointer; }
.reset-button:hover { background: #eee8dc; color: #405346; }
.calendar-home ~ footer a, footer a { color: #d6c38f; text-decoration: none; }
.admin-main { max-width: 850px; margin: auto; padding: 62px 0 72px; }
.admin-heading { margin-bottom: 23px; }.admin-heading h1 { font: 600 38px/1.15 var(--serif); color: #203a30; margin: 0; }.admin-heading>p:last-child { font-size: 12px; color: #6f786f; margin: 7px 0 0; }
.admin-login { display: grid; grid-template-columns: 47px 1fr 1.15fr; align-items: center; gap: 17px; background: #e9e2d3; border: 1px solid #ddd1bc; border-left: 3px solid #b99b62; padding: 20px; }
.admin-login h2 { font: 600 20px var(--serif); color: #203a30; margin: 0 0 4px; }.admin-login>div:nth-child(2) p { margin: 0; font-size: 10px; color: #70776d; }.admin-login form label { display: block; font-size: 8px; letter-spacing: .13em; font-weight: 700; color: #84734f; margin-bottom: 5px; }
.admin-panel { background: var(--paper); border: 1px solid var(--line); padding: 21px; }.admin-panel-head { display: flex; justify-content: space-between; align-items: start; gap: 15px; margin-bottom: 16px; }.admin-panel h2 { font: 600 25px var(--serif); color: #203a30; margin: 3px 0 4px; }.admin-panel-head p { font-size: 11px; color: #6f786f; margin: 0; max-width: 570px; }
.admin-door-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }.admin-door { min-height: 72px; border: 1px solid #e6e0d4; background: #f4f0e7; text-decoration: none; color: #59675d; padding: 9px; display: grid; grid-template-columns: 1fr auto; align-items: center; }.admin-door.ready { background: #e6eee3; border-color: #cbd9c6; color: #345b3c; }.admin-door:hover { border-color: #b99b62; transform: translateY(-1px); }.admin-door-number { grid-column: 1; font: 600 17px var(--serif); }.admin-door-name { grid-column: 1; font-size: 9px; }.admin-door-state { grid-column: 2; grid-row: 1/3; font-size: 7px; letter-spacing: .1em; color: #9c8151; }.admin-door.ready .admin-door-state { color: #507657; }
.preview-main { min-height: 62vh; display: grid; place-items: center; }.preview-card { position: relative; width: min(100%,650px); background: var(--paper); border: 1px solid var(--line); padding: 36px; box-shadow: 0 8px 30px #463d2b0a; }.preview-card h1 { font: 600 31px/1.2 var(--serif); color: #203a30; margin: 0 0 14px; }.preview-card p:not(.eyebrow) { font-size: 12px; color: #6f786f; }.preview-card .button { margin-top: 12px; }.preview-stamp { position: absolute; top: 25px; right: 25px; border: 1px solid #d2b77d; color: #9c7642; padding: 4px 7px; font-size: 7px; letter-spacing: .12em; transform: rotate(4deg); }.early-card { margin: 8vh auto; }
.countdown { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 22px; padding: 15px 20px; color: #f5edda; background: linear-gradient(110deg,#25483b,#18382f); border: 1px solid #526d58; box-shadow: 0 8px 22px #25372a12; }
.countdown-label { color: #d6c38f; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.countdown strong { display: flex; align-items: center; gap: 9px; font: 600 21px/1 var(--serif); font-variant-numeric: tabular-nums; }
.countdown strong span { display: grid; justify-items: center; min-width: 38px; }
.countdown strong small { margin-top: 5px; color: #c9c4ad; font: 700 7px var(--sans); letter-spacing: .12em; }
.countdown strong i { color: #c6aa69; font: normal 16px var(--sans); transform: translateY(-4px); }
.calendar-actions { display: flex; align-items: center; gap: 12px; }
.achievement-open { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #d6c9ab; background: #fffdf8; color: #47594b; font: 700 9px var(--sans); cursor: pointer; }
.achievement-open>span { font-size: 14px; }.achievement-open b { padding: 3px 5px; background: #eee8dc; color: #8a7248; font-size: 8px; }
.door.completed { appearance: none; width: 100%; text-align: left; cursor: pointer; transition: transform .15s, box-shadow .15s; }.door.completed:hover { transform: translateY(-2px); box-shadow: 0 3px 0 #bdcfb7; }
.achievement-modal,.completed-door-modal { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 20px; overflow-y: auto; background: #112e25d9; backdrop-filter: blur(4px); }
.achievement-modal-card,.completed-door-card { position: relative; width: min(100%,600px); padding: 30px; background: var(--paper); border: 1px solid #d9cfbd; box-shadow: 0 20px 70px #07140f66; }
.achievement-modal-card h2,.completed-door-card h2 { margin: 0; color: #203a30; font: 600 30px/1.15 var(--serif); }
.achievement-intro,.completed-door-card>p:not(.eyebrow) { margin: 7px 0 19px; color: #73796e; font-size: 11px; }
.achievement-close { position: absolute; top: 12px; right: 14px; width: 31px; height: 31px; border: 1px solid #ded7ca; background: transparent; color: #6d746a; font-size: 20px; cursor: pointer; }
.achievement-list { display: grid; gap: 9px; }
.achievement-row { display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e1dbcf; background: #f5f1e8; }
.achievement-row.unlocked { background: #e9efe4; border-color: #cdd8c4; }.achievement-row-icon { display: grid; place-items: center; width: 41px; height: 41px; border-radius: 50%; background: #e7deca; color: #977a46; font-size: 19px; }.achievement-row.unlocked .achievement-row-icon { background: #d6e2cf; color: #426747; }
.achievement-row h3 { margin: 0 0 2px; color: #34483a; font: 600 14px var(--serif); }.achievement-row p { margin: 0; color: #777b70; font-size: 9px; }.achievement-row-state { color: #8b806a; font-size: 7px; font-weight: 700; letter-spacing: .1em; }.achievement-row.unlocked .achievement-row-state { color: #527453; }
.completed-door-card { width: min(100%,480px); padding: 37px 30px 27px; }.completed-door-card .preview-stamp { top: 20px; right: 20px; }.completed-door-actions { display: flex; align-items: center; gap: 9px; margin-top: 20px; }
.achievement-toast-stack { position: fixed; z-index: 60; top: 18px; right: 18px; display: grid; gap: 9px; width: min(365px,calc(100vw - 36px)); pointer-events: none; }
.achievement-toast { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid #c0a15d; border-left: 4px solid #d0b56d; background: linear-gradient(120deg,#1c4034,#142f27); color: #f7f1df; box-shadow: 0 12px 32px #101b16aa; opacity: 0; transform: translateX(35px); transition: opacity .28s,transform .28s; }
.achievement-toast.visible { opacity: 1; transform: translateX(0); }.achievement-toast-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #c9ab67; border-radius: 50%; color: #e4ce91; font-size: 21px; }.achievement-toast-kicker { display: block; margin-bottom: 2px; color: #d9c48d; font-size: 7px; font-weight: 700; letter-spacing: .15em; }.achievement-toast strong { display: block; font: 600 16px/1.3 var(--serif); }.achievement-toast small { display: block; margin-top: 2px; color: #c8d0c4; font-size: 9px; }
.success-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-left: auto; }
.day-two { max-width: 940px; }
.day-two-card { position: relative; margin: 0 0 19px; padding: clamp(20px,4vw,34px); background: var(--paper); border: 1px solid var(--line); box-shadow: 0 8px 26px #463d2b0a; }
.day-two-letter { max-width: 710px; margin: 14px 0 20px; color: #48564a; font: 15px/1.85 var(--serif); }
.office-door { position: relative; display: block; width: min(100%,420px); height: 310px; margin: 20px auto 0; overflow: hidden; border: 12px solid #413b2b; border-bottom-width: 18px; background: linear-gradient(90deg,#254a3a,#355843 48%,#203b30); color: #f4e7c7; cursor: pointer; box-shadow: 0 10px 24px #2c2b201f, inset 0 0 0 3px #b99b62; perspective: 500px; transition: transform .45s, box-shadow .3s; }
.office-door:hover { box-shadow: 0 14px 30px #2c2b2040, inset 0 0 0 3px #d1b66f; }
.door-glass { position: absolute; top: 28px; left: 50%; width: 118px; height: 102px; transform: translateX(-50%); border: 5px solid #aa8b56; background: linear-gradient(140deg,#dbe1c8aa,#a7c2a766); box-shadow: inset 0 0 0 2px #304334; }
.door-wreath { position: absolute; z-index: 1; top: 45px; left: calc(50% + 34px); color: #e2c47a; font-size: 27px; text-shadow: 0 1px 5px #14251b; }
.door-title { position: absolute; top: 151px; left: 50%; transform: translateX(-50%); width: 208px; padding: 12px 6px; border: 2px solid #c7a55f; background: #f4ecd9; color: #304534; font: 700 19px/1.25 var(--serif); letter-spacing: .13em; }
.door-knob { position: absolute; right: 48px; top: 196px; width: 15px; height: 15px; border-radius: 50%; background: #d7b866; box-shadow: inset -2px -2px 3px #715624; }
.door-caption { position: absolute; bottom: 13px; left: 0; width: 100%; font-size: 8px; letter-spacing: .2em; color: #e4d2a0; }
.door-open { transform: perspective(600px) rotateY(-22deg); transform-origin: left center; }
.door-hint { margin: 11px 0 0; text-align: center; color: #78786d; font-size: 10px; }
.office-card { overflow: hidden; }
.office-scene-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.office-scene-heading h2,.dialogue-header h2 { margin: 5px 0 5px; color: #263e32; font: 600 26px/1.2 var(--serif); }
.office-scene-heading p,.dialogue-header p { margin: 0; color: #6f786f; font-size: 11px; line-height: 1.6; }
.office-stamp { display: grid; place-content: center; width: 51px; height: 51px; flex: none; border: 1px solid #c8ad73; border-radius: 50%; color: #a17f47; text-align: center; font: 700 9px/1.2 var(--serif); transform: rotate(9deg); }
.office-illustration { position: relative; min-height: 260px; margin: 21px 0; padding: 14px 5%; overflow: hidden; background: linear-gradient(#e7e2d1 0 56%,#c7b99b 56% 100%); border: 1px solid #d7cdb9; }
.office-illustration:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 17px; background: repeating-linear-gradient(90deg,#9c8969 0 48px,#aa9877 48px 51px); opacity: .45; }
.office-window { display: grid; justify-items: center; gap: 3px; width: min(100%,245px); margin: 0 auto 16px; padding: 7px; background: #e8dec2; border: 2px solid #9a8359; color: #425641; }
.office-window span { color: #b28b46; font-size: 17px; }.office-window b { font: 700 12px var(--serif); letter-spacing: .12em; }.office-window small { font-size: 7px; letter-spacing: .17em; }
.desk-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; max-width: 620px; margin: auto; }
.desk { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; min-height: 55px; padding: 5px; background: #6a563d; border: 2px solid #4e432f; box-shadow: 0 5px 0 #463a29; color: #f0e6d0; font-size: 7px; letter-spacing: .1em; }.desk span { font-size: 20px; }.desk b { font-weight: 600; }
.queue-lines { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; width: min(78%,520px); margin: 19px auto 0; }
.queue-line { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; min-height: 126px; padding: 4px 8px 0; border-right: 2px dashed #9a8868; color: #4a503e; font-size: 18px; }
.queue-line:last-child { border-right: 0; }
.queue-status { display: flex; align-items: center; gap: 22px; padding: 15px 17px; background: #f0ecdf; border: 1px solid #dfd6c4; }
.queue-status>div:first-child { display: grid; gap: 5px; min-width: 92px; }.queue-status strong { color: #9e4839; font: 600 27px/1 var(--serif); font-variant-numeric: tabular-nums; }
.queue-progress-wrap { flex: 1; }.queue-progress { height: 8px; overflow: hidden; border-radius: 6px; background: #d7d1c3; }.queue-progress span { display: block; width: 0; height: 100%; background: #64825f; transition: width .25s; }.queue-progress-wrap small { display: block; margin-top: 6px; color: #797b70; font-size: 9px; }
.reaction-panel { display: flex; gap: 13px; align-items: center; margin: 13px 0; padding: 13px 15px; background: #f7f3e9; border-left: 3px solid #bd9c5c; }.reaction-icon { display: grid; place-items: center; width: 35px; height: 35px; flex: none; border-radius: 50%; background: #e7ddc7; color: #836c43; font-size: 20px; }.reaction-panel strong { color: #435347; font: 600 13px var(--serif); }.reaction-panel p { margin: 3px 0 0; color: #77786f; font-size: 10px; }
.cue-active .reaction-panel { border-left-color: #b64438; background: #f5e7dd; animation: cuePulse .6s ease-in-out infinite alternate; }.cue-active .reaction-icon { background: #b64438; color: #fff4dc; }
.bait-active .reaction-panel { border-left-color: #8a7250; background: #eee8da; }.bait-active .reaction-icon { background: #847456; color: #fff4dc; }
@keyframes cuePulse { to { box-shadow: 0 0 0 3px #b6443820; } }
.cut-in-button { display: block; width: 100%; padding: 14px; border: 0; background: #a94739; color: white; font: 700 13px var(--sans); cursor: pointer; animation: cuePulse .5s infinite alternate; }.cut-in-button span { margin-left: 8px; padding: 3px 6px; border: 1px solid #ffffff80; font-size: 9px; }
.queue-feedback,.dialogue-feedback { min-height: 17px; margin: 8px 0 0; color: #73776c; font-size: 10px; }
.dialogue-header { margin-bottom: 17px; }.dialogue-box { display: flex; gap: 12px; align-items: start; padding: 16px; background: #f0ecdf; border: 1px solid #e0d7c5; }.clerk-avatar { display: grid; place-items: center; width: 39px; height: 39px; flex: none; border-radius: 50%; background: #ded4bf; font-size: 21px; }.dialogue-box p { margin: 2px 0; color: #435347; font: 14px/1.7 var(--serif); }
.dialogue-options { display: grid; gap: 8px; margin-top: 15px; }.dialogue-choice { width: 100%; padding: 12px 14px; border: 1px solid #d8cfbd; background: #faf8f1; color: #4e5b4f; text-align: left; font: 600 10px var(--sans); cursor: pointer; }.dialogue-choice:hover { border-color: #ab8a51; background: #f2ecdf; }
.day-two-password { margin-bottom: 20px; }
.cheat-screen { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 22px; background: #10271ee8; backdrop-filter: blur(5px); }
.cheat-window { position: relative; width: min(100%,480px); padding: 37px 30px 30px; border: 1px solid #c2a45f; outline: 5px solid #c2a45f24; background: linear-gradient(145deg,#25483b,#17372e); box-shadow: 0 20px 70px #07140f88; color: #f5efdf; text-align: center; }
.cheat-sparkle { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 15px; border: 1px solid #c8aa65; border-radius: 50%; color: #e3cb8c; font-size: 23px; }
.cheat-window .mini-label { color: #d9c58f; font-size: 8px; letter-spacing: .2em; }
.cheat-window h2 { margin: 8px 0 13px; color: #fff5da; font: 700 29px/1.1 var(--serif); letter-spacing: .08em; }
.cheat-window>p:not(.mini-label) { color: #e4e2d5; font-size: 12px; line-height: 1.7; }
.cheat-window .cheat-counter { margin: 19px 0; color: #e5cd8a; font: 600 17px var(--serif); font-variant-numeric: tabular-nums; }
@media(max-width:640px) {
  .day-two { margin: 0 5vw; padding-top: 33px; }
  .day-two-letter { font-size: 14px; line-height: 1.75; }
  .office-door { height: 275px; }
  .office-illustration { min-height: 220px; padding-left: 3%; padding-right: 3%; }
  .desk-row { gap: 5px; }.desk { min-height: 52px; font-size: 6px; }.desk span { font-size: 17px; }
  .queue-lines { width: 96%; gap: 5px; }.queue-line { min-height: 115px; padding: 4px 2px 0; font-size: 15px; }
  .queue-status { align-items: flex-start; flex-direction: column; gap: 11px; }.queue-status>div:first-child { display: flex; align-items: center; justify-content: space-between; width: 100%; }
  .queue-progress-wrap { width: 100%; }
  .office-scene-heading h2,.dialogue-header h2 { font-size: 23px; }
}
@media(max-width:640px) {
  .calendar-actions { align-items: flex-end; flex-direction: column-reverse; gap: 7px; }
  .achievement-open { padding: 7px 8px; font-size: 8px; }
  .achievement-modal-card,.completed-door-card { padding: 25px 18px 19px; }
  .achievement-row { grid-template-columns: 38px 1fr; gap: 9px; padding: 10px; }
  .achievement-row-icon { width: 36px; height: 36px; }
  .achievement-row-state { grid-column: 2; font-size: 6px; }
  .completed-door-actions { align-items: stretch; flex-direction: column; }.completed-door-actions .button { justify-content: space-between; }
  .success-actions { width: 100%; margin-left: 0; }.success-actions .button { flex: 1; justify-content: center; }
}
@media(max-width:900px) { .admin-main { margin-left: 6vw; margin-right: 6vw; }.admin-login { grid-template-columns: 43px 1fr; }.admin-login form { grid-column: 2; }.admin-door-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:640px) { .calendar-bottom { align-items: flex-start; flex-direction: column; }.admin-main { margin: 0 5vw; padding: 40px 0 50px; }.admin-heading h1 { font-size: 31px; }.admin-heading>p:last-child { font-size: 10px; }.admin-login { grid-template-columns: 36px 1fr; gap: 12px; padding: 15px; }.admin-login .password-lock { width: 36px; height: 36px; }.admin-login form { grid-column: 1/-1; }.admin-panel { padding: 14px; }.admin-panel-head { flex-direction: column; }.admin-door-grid { grid-template-columns: repeat(2,1fr); gap: 6px; }.admin-door { min-height: 65px; }.preview-card { padding: 25px 20px; }.preview-card h1 { font-size: 25px; }.preview-stamp { top: 16px; right: 15px; font-size: 6px; }.countdown { align-items: flex-start; flex-direction: column; gap: 11px; padding: 14px; }.countdown strong { gap: 6px; font-size: 18px; }.countdown strong span { min-width: 34px; } }
