@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&display=swap');
*{box-sizing:border-box}body{margin:0;background:#291d2b;color:#fff7e8;font-family:'DM Sans',sans-serif}main{position:relative;height:100svh;min-height:700px;overflow:hidden}.room{position:absolute;left:50%;top:0;width:max(100vw,150svh);height:100%;transform:translateX(-50%)}.room>img{position:absolute;width:100%;height:100%;object-fit:fill}.day{transition:opacity 1.5s;opacity:0}.daytime .day{opacity:1}.room:after{content:'';position:absolute;inset:0;background:linear-gradient(#26142670,transparent 35%,transparent 72%,#24162b60);pointer-events:none}header{position:absolute;left:30px;right:30px;top:25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font:600 36px 'Cormorant Garamond',Georgia,serif;color:#ffecbd;text-shadow:2px 2px #713750,0 2px 15px #31172c}.brand>span{display:block;font:700 12px 'DM Sans',sans-serif;letter-spacing:.18em;margin-top:5px}nav{display:flex;gap:8px}button{font:600 14px 'DM Sans',sans-serif;color:#fff4df;background:#2d1d35cc;border:1px solid #efd2a078;border-radius:25px;padding:11px 16px;cursor:pointer;backdrop-filter:blur(10px)}a:focus-visible,button:focus-visible{outline:3px solid #ffe2a9;outline-offset:5px}.welcome{position:absolute;left:0;right:0;top:19%;text-align:center;pointer-events:none;text-shadow:0 2px 22px #271429,0 1px 4px #271429}.welcome>span{font-size:11px;letter-spacing:.2em;font-weight:700}.welcome h1{font:500 clamp(45px,6vw,76px)/1.02 'Cormorant Garamond',Georgia,serif;margin:14px 0}.welcome p{font-size:16px;line-height:1.5;font-weight:600}#billboard{position:absolute;left:40.8%;top:80.5%;width:25%;height:16%;transform:translate(-50%,-50%);z-index:2;border-radius:40%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff6db}.ring{width:45px;height:45px;background:#c66d863f;border:2px solid #fff0c5;border-radius:50%;box-shadow:0 0 0 7px #e9b66c40,0 0 35px 9px #ffc984;animation:pulse 2.5s infinite}.ring:after{content:'✦';display:grid;place-items:center;height:100%;font-size:24px}.label{position:absolute;bottom:82%;font-size:14px;font-weight:600;white-space:nowrap;padding:8px 14px;background:#37223bdd;border:1px solid #eac69370;border-radius:20px}footer{position:absolute;bottom:22px;left:20px;right:20px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:7px}.join-community{background:#f2d5a9;color:#3b233b;padding:13px 26px;border-radius:25px;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 3px 22px #25112355}footer>span{font-size:12px;text-shadow:0 1px 5px #251123}.dust{position:absolute;inset:0;background-image:radial-gradient(circle,#fff0c6b0 1px,transparent 2px);background-size:233px 177px;opacity:.25;pointer-events:none;animation:drift 25s linear infinite}#portal{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;background:radial-gradient(ellipse,#694352,#211427);opacity:0;visibility:hidden;transition:opacity .8s}#portal>span{font-size:72px;color:#ffdea8;text-shadow:0 0 50px #f7b181}#portal h2{font:500 46px 'Cormorant Garamond',Georgia,serif;margin:20px 0}#portal p{font-size:16px}#portal a{color:#ffe0a3;margin-top:15px}.opening #portal{opacity:1;visibility:visible}@keyframes pulse{50%{transform:scale(1.15);box-shadow:0 0 0 10px #e9b66c20,0 0 42px 12px #ffc984}}@keyframes drift{to{background-position:45px -177px}}@media(max-width:650px){header{left:16px;right:16px;top:20px;align-items:flex-start}.brand{font-size:29px}.brand>span{font-size:10px}nav{flex-direction:column;gap:6px}button{font-size:12px;padding:9px 12px}.room{transform:translateX(-43%)}.welcome{top:23%}.welcome h1{font-size:48px}.welcome p{font-size:14px}.welcome>span{font-size:10px}.label{font-size:13px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Readable, expressive Academy lettering. */
.brand{font-family:Georgia,serif;font-size:clamp(34px,3.5vw,52px);font-weight:900;line-height:1.12;color:#ffe9af;-webkit-text-stroke:1px #aa285f;paint-order:stroke fill;text-shadow:2px 2px 0 #d34085,4px 4px 0 #622042,0 4px 16px #32152b99}
.brand>span{font-family:Georgia,serif;font-size:clamp(17px,1.6vw,25px);font-weight:900;letter-spacing:.035em;margin-top:9px;color:#fff1cc}
.welcome{top:21%;padding:0 18px}.welcome h1,.welcome p{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.06;text-shadow:0 2px 3px #4d243e,0 3px 18px #271429a6}
.welcome h1{font-size:clamp(46px,5.6vw,76px);color:#ffe1ee;margin:12px 0 20px}.welcome p{font-size:clamp(32px,4vw,54px);color:#fff1ca;margin:0 auto;max-width:850px}
.ring{width:62px;height:62px;flex-shrink:0;border:3px solid #fff4cf;background:#da43876e;box-shadow:0 0 0 9px #f6b76840,0 0 42px 12px #ffd58e}.ring:after{font-size:32px}.label{font-size:16px;font-weight:700;padding:10px 17px}
.join-community{background:linear-gradient(135deg,#f967a5,#ce276d);color:#fff;font-size:18px;padding:15px 30px;border:2px solid #ffd1e6;box-shadow:0 0 25px #ed4e9d60,0 4px 15px #39132d77;text-shadow:0 1px 2px #701840}.welcome>span{font-size:12px}footer>span{font-size:14px}
@keyframes pulse{50%{transform:scale(1.13);box-shadow:0 0 0 14px #f5bc7a2b,0 0 48px 14px #ffd58e}}
@media(max-width:650px){header{gap:8px}.brand{font-size:32px;max-width:240px}.brand>span{font-size:17px;letter-spacing:0;line-height:1.2}nav{flex-shrink:0}.welcome{top:24%;padding:0 16px}.welcome h1{font-size:46px;margin-bottom:18px}.welcome p{font-size:33px}.welcome>span{font-size:10px}.ring{width:60px;height:60px}.label{font-size:15px}.welcome p br{display:none}.join-community{font-size:17px;padding:14px 26px}}
@media(max-width:360px){.brand{font-size:27px}.brand>span{font-size:15px}.welcome h1{font-size:41px}.welcome p{font-size:30px}}
/* Quiet branding, one clear instruction attached to the notebook. */
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;font-weight:600;color:#fff6e8;-webkit-text-stroke:0;text-shadow:0 2px 10px #251326b3;line-height:1.05}
.brand>span{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;color:#fff6e8;-webkit-text-stroke:0;text-shadow:0 2px 8px #251326;margin-top:8px}
#billboard .label{bottom:80%;font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.3;font-weight:700;white-space:nowrap;color:#fff;background:#a91f5b;border:1px solid #ffd3e6;border-radius:14px;padding:13px 20px;box-shadow:0 6px 24px #42192c5c;text-align:center;text-shadow:none}
#billboard .label small{display:block;font-size:13px;font-weight:500;line-height:1.4;margin-top:4px;color:#fff1f7}
#billboard .label:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid #a91f5b}
@media(max-width:650px){.brand{font-size:31px;max-width:230px}.brand>span{font-size:11px;letter-spacing:.065em}#billboard .label{font-size:16px;padding:12px 15px}#billboard .label small{font-size:12px}}

.welcome .join-community{display:inline-block;pointer-events:auto;line-height:normal;margin-bottom:8px}
.brand{text-shadow:1px 1px 0 #d34283,2px 2px 0 #973260,3px 3px 0 #58243d,0 2px 10px #251326b3}
.brand>span{text-shadow:0 2px 8px #251326}

#music-panel[hidden]{display:none}#music-panel{position:absolute;z-index:5;right:18px;top:120px;width:310px;max-width:calc(100vw - 36px);padding:18px 14px 14px;background:#322338f5;border:1px solid #eec3d4;border-radius:13px;box-shadow:0 6px 35px #26112e70}#music-panel strong{font-size:14px;display:block;padding-right:30px;margin-bottom:12px}#stop-music{position:absolute;right:8px;top:7px;padding:2px 10px;font-size:25px}#player iframe{width:100%;aspect-ratio:16/9;border:0}#music-panel a{color:#ffd2e5;font-size:14px;display:block;margin-top:9px}#music-panel small{display:block;font-size:12px;line-height:1.5;margin-top:7px;color:#f5e2ea}
