@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#190913;--bg2:#310e1d;--wine:#5b162b;--gold:#d7b679;--goldlight:#f5deb1;--ink:#f3e8e2;--muted:#c0a8ab;--line:rgba(222,176,104,.24)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#702d35 0,transparent 48%),radial-gradient(ellipse at 95% 70%,#36101f 0,transparent 40%),var(--bg);color:var(--ink);font:15px/1.6 'DM Sans',Arial,sans-serif}body:before{content:'';pointer-events:none;position:fixed;inset:0;opacity:.11;background-image:radial-gradient(#e8c78e .65px,transparent .7px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 65%)}.mist{position:fixed;pointer-events:none;top:0;left:0;right:0;height:14px;background:linear-gradient(90deg,transparent,#c79b5d,transparent);opacity:.45}.shell{width:min(100% - 28px,680px);margin:auto;padding-bottom:65px;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 12px;border-bottom:1px solid var(--line);gap:10px}.brandmark{font:24px 'Cormorant Garamond',serif;letter-spacing:1px;color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);font-weight:700}.tiny{font-size:12px;color:var(--muted);text-decoration:none}.hero{text-align:center;padding:42px 10px 24px}.ornament{color:var(--gold);font-size:20px;letter-spacing:9px;text-align:center;opacity:.82}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(48px,11vw,75px);letter-spacing:-1.8px;margin:14px auto 20px;max-width:620px}h1 em{color:var(--gold);font-weight:400}h2{font-size:39px;margin:6px 0 18px}h3{font-size:28px;margin:20px 0 8px}.lead{font:21px/1.42 'Cormorant Garamond',Georgia,serif;max-width:560px;margin:0 auto;color:#eadbd7;white-space:normal}.sealine{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:25px auto}.footerline{font:italic 20px 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.progress{margin:10px auto 24px;text-align:center;font-size:11px;letter-spacing:1px;color:var(--muted)}.track{height:3px;margin-top:9px;background:#472330;border-radius:20px;overflow:hidden}.track div{height:100%;background:linear-gradient(90deg,#b27a4a,#f7d7a1)}.calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tile{min-width:0;aspect-ratio: .87;border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 0 20px #0002,0 6px 24px #0002;overflow:hidden;position:relative}.tile a,.tile button,.tile>div{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:inherit;text-decoration:none;padding:5px;background:transparent;border:0;cursor:pointer;font-family:inherit}.tile strong{font:500 clamp(28px,7vw,47px)/1 'Cormorant Garamond',Georgia,serif;margin:3px 0;color:var(--goldlight)}.tile small{font-size:8px;letter-spacing:1.1px;color:var(--gold);font-weight:700}.tilesymbol{font-size:18px;color:var(--gold)}.tile.locked{background:linear-gradient(145deg,#250e1b,#1c0a14);opacity:.65}.tile.locked strong{color:#a18a89}.tile.locked small,.tile.locked .tilesymbol{color:#826c73}.tile.available{background:linear-gradient(145deg,#7e2639,#4a1426 65%,#380f20);border-color:#b98b5b;box-shadow:inset 0 0 25px #edc48618,0 0 15px #cc955c1c}.tile.available:after{content:'';position:absolute;inset:4px;border:1px solid #d6ab6f44;pointer-events:none;border-radius:4px}.tile.opened{background:linear-gradient(150deg,#332018,#211219);border-color:#b98b5b66}.tile.opened:after{content:'✧';position:absolute;top:3px;right:7px;font-size:11px;color:#a4845a}.tile.opened strong{color:#d1b78b}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin:22px 0;font-size:10px;color:var(--muted)}footer{text-align:center;font:italic 20px 'Cormorant Garamond',Georgia,serif;color:var(--gold);margin:42px 0}.panel{border:1px solid var(--line);border-radius:12px;background:linear-gradient(125deg,#351320e8,#240d19e8);padding:24px;margin:18px 0;box-shadow:0 15px 34px #0002}.panel p{color:#ead8d5}.panel.center{text-align:center}.panel.center .button{margin-top:12px}form{display:flex;flex-direction:column;gap:14px}label{display:block;font-size:12px;color:var(--goldlight);letter-spacing:.2px}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid #b1907660;border-radius:7px;padding:13px 12px;background:#1d0b17;color:#fff;font:15px/1.45 'DM Sans',Arial,sans-serif;outline:0}input:focus,textarea:focus,select:focus{border-color:#dcb87f;box-shadow:0 0 0 3px #dcb87f20}textarea{min-height:110px;resize:vertical}input[type=file]{font-size:12px}.button{appearance:none;border:1px solid #f0cfa1;background:linear-gradient(125deg,#efcf98,#b28a4d);color:#26101a;padding:14px 20px;text-decoration:none;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;line-height:1.3;cursor:pointer;min-height:48px;text-align:center}.button.secondary{color:var(--goldlight);background:#5b2530;border-color:#b69269}.flash{background:#483321;border:1px solid #b28a4d;padding:12px 14px;margin:16px 0;border-radius:8px;color:#f8e7cb}.hint{font-size:12px;color:var(--muted);line-height:1.5;display:block;margin-top:6px}nav{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding:18px 0 3px}nav a{font-size:12px;text-decoration:none;border:1px solid var(--line);border-radius:30px;padding:7px 12px;color:var(--muted)}nav a.active{border-color:var(--gold);color:var(--goldlight)}.sectionhead{text-align:center;padding:30px 0 10px}.sectionhead h1{font-size:48px}.daynav{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.daynav a{border:1px solid var(--line);border-radius:4px;text-align:center;padding:8px 0;text-decoration:none;color:var(--goldlight);font-size:12px;background:#300e1c}.daynav a.on{background:var(--gold);color:#2f111c}.mediaitem{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:13px;padding-top:13px;font-size:12px;overflow-wrap:anywhere}.mediaitem form{flex-shrink:0}.textbutton{background:transparent;border:none;color:#f3b1ba;cursor:pointer}.doorhero{text-align:center;padding:25px 10px 5px}.doorhero h1{font-size:clamp(45px,10vw,65px)}.message{font:24px/1.4 'Cormorant Garamond',Georgia,serif;max-width:610px;margin:0 auto 18px;color:#f2e4dd}.assignment{padding:24px;border-left:2px solid var(--gold);background:linear-gradient(90deg,#57233475,transparent);margin:30px 0}.assignment>p:nth-of-type(2){font-size:17px;line-height:1.72}.minutes{font-size:11px;color:var(--gold);margin-top:13px}.photo{margin:25px auto;border:1px solid #a37c5880;padding:5px;background:#26141b;box-shadow:0 15px 30px #0004}.photo img,.photo video{display:block;max-width:100%;width:100%;height:auto;max-height:70vh;object-fit:contain}.audio{padding:20px 0}.audio audio{width:100%}.back{display:block;text-align:center;margin:24px auto;color:var(--gold);font-size:13px;text-decoration:none}@media (min-width:600px){.calendar{grid-template-columns:repeat(6,minmax(0,1fr))}.shell{width:min(100% - 44px,680px)}.hero{padding-top:58px}.tile strong{font-size:41px}}@media(prefers-reduced-motion:no-preference){.available a:hover,.available button:hover{transform:scale(1.045)}.available button,.available a{transition:transform .18s ease}}
