@import "https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=Fredoka:wght@400;500;600;700&family=Gochi+Hand&family=JetBrains+Mono:wght@400;500&family=Nunito:wght@400;600;700;800&display=swap";
@font-face{font-display:swap;font-family:Motley Forces;src:url(/fonts/MotleyForces-Regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:Caveat Local;src:url(/fonts/Caveat-Regular.woff2)format("woff2")}:root{--paper:#fffdf7;--cream:#fff3d2;--gold:#f4b73a;--gold-deep:#d6952a;--brown:#6b4a2c;--ink:#2a2320;--ink-soft:#5c4e40;--muted:#9a8a6e;--line:#f1dca0;--coral:#f2785c;--ff-display:"Fredoka", "Motley Forces", ui-rounded, system-ui, sans-serif;--ff-body:"Nunito", ui-sans-serif, system-ui, sans-serif;--ff-script:"Caveat", "Caveat Local", cursive;--ff-hand:"Gochi Hand", "Caveat Local", cursive;--ff-mono:"JetBrains Mono", ui-monospace, monospace;--sh-soft:0 12px 28px #2a232024;--color-ink:#201b18;--color-ink-soft:#5d5149;--color-paper:#fff8e4;--color-sun:#e3b653;--color-moss:#6f8b74;--color-lagoon:#3f7f89;--color-plum:#5b466a;--color-night:#1f2a33;--color-line:#543f2d38;--color-panel:#fff8e4e0;--shadow-soft:0 22px 70px #201b1829;--shadow-button:0 5px 0 #3d2e27;--radius-sm:8px;--radius-md:14px;--page-max:1160px}*{box-sizing:border-box}html{background:var(--color-paper);min-height:100%}body{background:linear-gradient(135deg, #6f8b7433, transparent 34%),linear-gradient(315deg, #3f7f892e, transparent 38%),var(--color-paper);min-height:100%;color:var(--color-ink);font-family:var(--ff-body);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{background:#e3b6536b}.public-shell,.admin-shell{width:min(var(--page-max),100% - 32px);min-height:100dvh;margin:0 auto;padding:18px 0 64px}.site-header{justify-content:space-between;align-items:center;gap:18px;min-height:64px;display:flex}.brand-mark{color:var(--color-ink);align-items:center;gap:10px;font-size:.95rem;font-weight:850;display:inline-flex}.brand-mark__sigil{border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-sun);width:40px;height:40px;box-shadow:0 4px 0 var(--color-ink);letter-spacing:0;place-items:center;font-size:.78rem;display:inline-grid}.site-nav,.admin-nav,.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.site-nav a,.admin-nav a{border-radius:var(--radius-sm);min-height:36px;color:var(--color-ink-soft);border:1px solid #0000;align-items:center;padding:0 12px;font-size:.9rem;font-weight:760;display:inline-flex}.site-nav a:hover,.admin-nav a:hover{border-color:var(--color-line);color:var(--color-ink);background:#ffffff7a}.public-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:center;gap:42px;min-height:calc(100dvh - 112px);padding:38px 0 54px;display:grid}.public-shell--standard .public-hero,.public-shell--room .public-hero,.public-shell--blog .public-hero{min-height:52vh}.public-shell--blog .public-hero h1{max-width:100%;font-size:2.6rem;line-height:1.1}.hero-cover{background-position:50%;background-size:cover;border-radius:20px;width:min(100%,430px);height:360px;box-shadow:0 12px 40px -8px #2a232047}.public-hero__copy{max-width:680px}.section-label{color:var(--color-plum);letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{max-width:10ch;color:var(--color-ink);letter-spacing:0;margin-bottom:22px;font-family:Motley Forces,Georgia,serif;font-size:5.6rem;font-weight:700;line-height:.9}h2{margin-bottom:14px;font-size:2.25rem;line-height:1.05}h3{margin-bottom:8px;font-size:1.15rem;line-height:1.15}.public-hero__copy>p:not(.section-label),.room-foundation__stage>p,.admin-card p,.content-card p,.chapter-step p,.article-body p{color:var(--color-ink-soft);font-size:1.05rem;line-height:1.72}.action-row{margin-top:30px}.button{border:2px solid var(--color-ink);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:.94rem;font-weight:900;transition:transform .16s,box-shadow .16s,background-color .16s;display:inline-flex}.button:hover{box-shadow:0 3px 0 var(--color-ink);transform:translateY(2px)}.button--primary{background:var(--color-sun);box-shadow:var(--shadow-button)}.button--secondary{background:#ffffff8a}.room-signal{place-items:center;min-height:360px;display:grid}.room-signal__canvas{aspect-ratio:1;border:2px solid var(--color-line);width:min(100%,430px);box-shadow:var(--shadow-soft);background:linear-gradient(140deg,#3f7f898c,#0000 42%),linear-gradient(40deg,#e3b65399,#0000 46%),url(/media/isometric2e.webp) 50%/cover;border-radius:26px;position:relative;overflow:hidden}.room-signal__canvas:after{content:"";background:#201b1838;border-radius:999px;height:10px;position:absolute;inset:auto 22px 22px}.room-signal__canvas span{border:2px solid var(--color-ink);background:var(--color-paper);border-radius:50%;width:58px;height:58px;position:absolute;top:18px;right:18px;box-shadow:0 5px #201b1873}.content-band,.room-foundation,.article-body,.admin-content{padding:28px 0 0}.content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.content-card,.chapter-step,.admin-card{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-panel);min-height:100%;padding:20px;display:block;box-shadow:0 10px 34px #201b1814}.content-card span,.chapter-step span,.chapter-step small,.asset-list dt{color:var(--color-plum);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.content-card h2{margin-top:12px;font-size:1.35rem}.room-foundation{grid-template-columns:minmax(0,.78fr) minmax(320px,1fr);align-items:stretch;gap:22px;display:grid}.room-foundation__stage{border-radius:var(--radius-md);background:var(--color-night);color:var(--color-paper);box-shadow:var(--shadow-soft);padding:26px}.room-foundation__stage .section-label,.room-foundation__stage p,.room-foundation__stage dd{color:#fff8e4c7}.asset-list{gap:12px;margin:24px 0 0;display:grid}.asset-list div{border-top:1px solid #fff8e42e;padding-top:12px}.asset-list dt,.asset-list dd{margin:0}.asset-list dd{overflow-wrap:anywhere;margin-top:4px;font-size:.92rem}.chapter-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chapter-step small{overflow-wrap:anywhere;margin-top:14px;display:block}.article-body{max-width:760px}.article-body code{font-family:var(--ff-mono);color:var(--ink);white-space:nowrap;background:#f4b73a1f;border:1px solid #f4b73a4d;border-radius:4px;padding:1px 6px;font-size:.86em}.article-body strong{color:var(--ink);font-weight:700}.article-body h2{font-family:var(--ff-display);color:var(--ink);margin:2em 0 .5em;font-size:1.35rem;font-weight:600;line-height:1.25}.article-body h3{font-family:var(--ff-display);color:var(--ink-soft);margin:1.5em 0 .4em;font-size:1.1rem;font-weight:600}.admin-shell{grid-template-columns:240px minmax(0,1fr);gap:24px;display:grid}.admin-sidebar{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-night);color:var(--color-paper);align-self:start;padding:18px;position:sticky;top:18px}.admin-sidebar .brand-mark,.admin-sidebar .section-label,.admin-sidebar .admin-nav a{color:var(--color-paper)}.admin-nav{flex-direction:column;align-items:stretch;margin-top:24px}.admin-nav a{border-color:#fff8e429}.admin-card{background:#fff8e4f0}.admin-card h1,.admin-card h2{max-width:none;margin-bottom:14px;font-family:inherit;font-size:2.25rem;line-height:1.08}.welcome{z-index:60;color:var(--ink);opacity:1;visibility:visible;background:radial-gradient(120% 100% at 50% 0,#fffbef 0%,#fbf1d6 55%,#f3e6be 100%);place-items:center;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0;overflow:hidden}.welcome__blob{pointer-events:none;border-radius:50%;position:absolute}.welcome__blob--a{aspect-ratio:1;filter:blur(70px);opacity:.9;background:radial-gradient(circle,#fffffff5,#fff0);width:48vw;animation:22s ease-in-out infinite blobA;top:-12%;left:-10%}.welcome__blob--b{aspect-ratio:1;filter:blur(70px);opacity:.5;background:radial-gradient(circle,#efddaef2,#efddae00);width:44vw;animation:26s ease-in-out infinite blobB;bottom:-14%;right:-8%}.welcome__maze{opacity:.36;pointer-events:none;background:url(/maze2.svg) 0 0/420px 420px;animation:140s linear infinite mazeDrift;position:absolute;inset:-220px}.welcome__grain{mix-blend-mode:soft-light;opacity:.45;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:absolute;inset:0}.title-screen{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,980px);min-height:100dvh;padding:0 24px;display:flex;position:relative;transform:translateY(-58px)}.ts-badge{border:2px solid var(--gold-deep);background:var(--paper);color:var(--brown);font-family:var(--ff-mono);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;margin:0 0 22px;padding:7px 18px;font-size:11px;font-weight:500;line-height:1;animation:.6s cubic-bezier(.2,1.5,.4,1) .1s both badgeIn;box-shadow:0 4px 0 -1px #d6952a59}.ts-logo{isolation:isolate;flex-direction:column;align-items:center;margin:0;display:flex;position:relative}.ts-logo__line{font-family:var(--ff-display);letter-spacing:-.02em;paint-order:stroke fill;text-transform:uppercase;-webkit-text-stroke:5px var(--brown);font-weight:700;line-height:.84;display:block;position:relative}.ts-logo__line:after{content:"";pointer-events:none;background:linear-gradient(#ffffff9e,#fff0);border-radius:999px;height:22%;position:absolute;inset:11% 7% auto}.ts-logo__line--top{color:#fff;text-shadow:0 7px 0 var(--gold-deep),0 9px 0 var(--brown),0 16px 22px #2a232052;font-size:clamp(56px,12vw,118px);animation:.7s cubic-bezier(.2,1.4,.35,1) both logoDrop}.ts-logo__line--bottom{color:#ffd24d;text-shadow:0 6px 0 var(--gold-deep),0 8px 0 var(--brown),0 14px 20px #2a232047;margin-top:-.06em;font-size:clamp(48px,11vw,108px);animation:.7s cubic-bezier(.2,1.4,.35,1) .12s both logoDrop}.ts-tag{color:#fff;font-family:var(--ff-script);text-shadow:0 2px 0 var(--brown),0 4px 10px #2a23204d;margin:14px 0 0;font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1;animation:.6s cubic-bezier(.2,1.5,.4,1) .3s both badgeIn}.ts-start{border:3px solid var(--brown);min-height:68px;box-shadow:0 8px 0 var(--brown),0 18px 26px -8px #2a232066;color:var(--paper);cursor:pointer;font-family:var(--ff-display);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(#f2785c 0%,#e3502f 100%);border-radius:20px;justify-content:center;align-items:center;gap:14px;margin-top:34px;padding:16px 32px;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1;transition:transform .16s,box-shadow .16s,filter .16s;animation:.6s cubic-bezier(.2,1.5,.4,1) .4s both badgeIn,1.4s ease-in-out 1s infinite startPulse;display:inline-flex}.ts-start:hover{box-shadow:0 11px 0 var(--brown),0 22px 30px -8px #2a232073;filter:saturate(1.05);animation-play-state:paused;transform:translateY(-3px)scale(1.05)}.ts-start:active{box-shadow:0 2px 0 var(--brown),0 12px 18px -10px #2a232066;transform:translateY(6px)}.ts-start__key{background:#ffffffeb;border-radius:9px;place-items:center;width:34px;height:34px;display:inline-grid;position:relative;box-shadow:inset 0 -3px #d65a8240}.ts-start__key:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:13px solid #e3502f;width:0;height:0;margin-left:3px}.ts-skip{border:2px solid var(--gold);background:var(--paper);min-height:44px;box-shadow:var(--sh-soft);color:var(--ink);cursor:pointer;font-family:var(--ff-body);border-radius:999px;margin-top:16px;padding:9px 20px;font-size:14px;font-weight:800}.hide{display:none}.loadwrap{width:min(380px,86vw);margin-top:30px;display:none}.loadwrap.on{display:block}.loadwrap__top{color:var(--brown);font-family:var(--ff-hand);justify-content:space-between;align-items:center;margin-bottom:9px;font-size:19px;line-height:1;display:flex}.loadwrap__top span{font-family:var(--ff-mono);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:500}.loadwrap__track{border:3px solid var(--brown);background:var(--paper);border-radius:999px;height:22px;position:relative;overflow:hidden;box-shadow:0 5px #6b4a2c52}.loadwrap__fill{background:repeating-linear-gradient(135deg, #ffffff3d 0 9px, transparent 9px 18px),linear-gradient(180deg, #ffd24d, var(--gold));border-radius:999px;transition:width .12s linear;animation:1.1s linear infinite loadStripes;position:absolute;inset:0 auto 0 0}.loadwrap__runner{border:3px solid var(--brown);background:#f7a4b8;border-radius:50%;width:18px;height:18px;transition:left .12s linear;animation:.5s ease-in-out infinite lrHop;position:absolute;top:50%;transform:translate(-50%,-58%);box-shadow:0 4px #6b4a2c59}.loadwrap__tip{color:var(--ink-soft);font-family:var(--ff-body);background:#fffdf7b8;border:2px solid #d6952a6b;border-radius:16px;margin:14px 0 0;padding:12px 16px;font-size:14px;font-weight:800}.ts-load-error{color:#8f2f1d;background:#fffdf7cc;border:2px solid #e3502f6b;border-radius:14px;width:min(380px,86vw);margin:14px 0 0;padding:11px 14px;font-size:13px;font-weight:850}.ts-footer{z-index:2;color:var(--brown);font-family:var(--ff-mono);letter-spacing:.16em;opacity:.7;text-transform:uppercase;white-space:nowrap;margin:0;font-size:11px;font-weight:500;line-height:1;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.ts-mascot{--eye-x:0;--eye-y:0;z-index:4;cursor:pointer;background:0 0;border:0;width:84px;height:90px;padding:0;animation:1.8s ease-in-out infinite hop;position:absolute;top:28%;right:20%}.ts-mascot--boing{animation:.5s cubic-bezier(.2,1.5,.4,1) mascotBoing,1.8s ease-in-out .5s infinite hop}.ts-mascot__shadow{background:#2a23202e;border-radius:50%;width:54px;height:12px;animation:1.8s ease-in-out infinite shadowSquish;position:absolute;bottom:4px;right:10px}.ts-mascot__body{border:3px solid var(--brown);width:64px;height:64px;box-shadow:0 7px 0 var(--gold-deep),0 9px 0 var(--brown),0 12px 18px #2a232040;background:radial-gradient(circle at 38% 30%,#ffffff6b,#0000 18%),linear-gradient(#f4a0bd 0%,#df6f99 100%);border-radius:50%;position:absolute;top:6px;right:8px}.ts-mascot__eye{background:var(--brown);width:8px;height:13px;transform:translate(var(--eye-x), var(--eye-y));border-radius:999px;transition:transform 80ms linear;position:absolute;top:27px}.ts-mascot__eye--left{left:19px}.ts-mascot__eye--right{right:19px}.ts-mascot__mouth{border-bottom:3px solid var(--brown);border-radius:50%;width:18px;height:8px;position:absolute;bottom:19px;left:50%;transform:translate(-50%)}.ts-mascot__say{border:2px solid var(--brown);background:var(--paper);min-width:72px;color:var(--brown);font-family:var(--ff-hand);border-radius:13px;padding:8px 10px;font-size:18px;line-height:1;animation:1.4s both sayPop;position:absolute;top:-22px;right:52px;box-shadow:0 5px #6b4a2c42}@keyframes blobA{0%,to{transform:translate(0)scale(1)}50%{transform:translate(4vw,3vh)scale(1.1)}}@keyframes blobB{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-3vw,4vh)scale(1.08)}}@keyframes mazeDrift{0%{transform:translate(0)}to{transform:translate(-420px,-420px)}}@keyframes badgeIn{0%{opacity:0;transform:translateY(-14px)scale(.8)}to{opacity:1;transform:none}}@keyframes logoDrop{0%{opacity:0;transform:translateY(-60px)scale(.85)rotate(-3deg)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes startPulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.035)}}@keyframes mascotBoing{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-26px)scale(.86,1.16)}60%{transform:translateY(0)scale(1.12,.9)}to{transform:none}}@keyframes hop{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-22px)rotate(6deg)}}@keyframes shadowSquish{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.09;transform:scale(.72,1.15)}}@keyframes sayPop{0%{opacity:0;transform:translateY(8px)scale(0)}16%,78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.92)}}@keyframes loadStripes{0%{background-position:0 0}to{background-position:36px 0}}@keyframes lrHop{0%,to{transform:translate(-50%,-58%)}50%{transform:translate(-50%,-82%)}}.legacy-room{font-family:var(--ff-script);color:#1e1e1e;touch-action:none;background:#d9cad1;position:fixed;inset:0;overflow:hidden}.legacy-room--dark{background:#0a0a23}.legacy-experience-canvas{z-index:1;inset:0;width:100%!important;height:100%!important;position:absolute!important}.legacy-room-loading{z-index:30;color:var(--brown);font-family:var(--ff-display);letter-spacing:.04em;opacity:1;background:#fdf6e3;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:clamp(18px,4.5vw,24px);font-weight:700;transition:opacity .5s;display:flex;position:fixed;inset:0}.legacy-room--dark .legacy-room-loading{color:#ffe9b0;background:#0a0a23}.legacy-room-loading__spinner{border:5px solid #d8a32b40;border-top-color:#d8a32b;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite legacyRoomSpin}.legacy-room-loading__text{text-transform:uppercase}.legacy-room-loading.hide{pointer-events:none;opacity:0}@keyframes legacyRoomSpin{to{transform:rotate(360deg)}}.legacy-toggle-group{z-index:12;gap:16px;display:flex;position:fixed;top:36px;right:48px}.legacy-toggle-button{color:#a66f00;cursor:pointer;background:#fffaf0;border:3px solid #d8a32b;border-radius:18px;place-items:center;width:58px;height:58px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:grid;box-shadow:0 8px 18px #5c4a1a29}.legacy-toggle-button:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 12px 24px #5c4a1a33}.legacy-toggle-button svg{width:30px;height:30px}.legacy-scroll-hint{z-index:12;color:#fffdf7;font-family:var(--ff-script);opacity:0;text-shadow:0 2px #6b4a2c,0 8px 18px #2a232047;pointer-events:none;align-items:center;gap:8px;font-size:18px;font-weight:800;transition:opacity .35s,transform .35s;display:inline-flex;position:fixed;bottom:86px;left:50%;transform:translate(-50%)translateY(8px)}.legacy-scroll-hint.show{opacity:1;transform:translate(-50%)translateY(0)}.legacy-mouse{border:2px solid;border-radius:999px;width:15px;height:22px;position:relative;box-shadow:0 2px #6b4a2c}.legacy-mouse:after{content:"";background:currentColor;border-radius:999px;width:3px;height:5px;animation:1.1s ease-in-out infinite legacyMouseWheel;position:absolute;top:4px;left:50%;transform:translate(-50%)}.legacy-room-nav{z-index:15;background:#fffaf0f0;border:2px solid #d8a32b;border-radius:24px;align-items:center;gap:8px;min-height:54px;padding:7px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px #6b4a2c47,0 18px 34px #2a23202e}.legacy-room-nav button{color:#6b4a2c;cursor:pointer;min-width:82px;min-height:40px;font-family:var(--ff-display);letter-spacing:0;background:0 0;border:0;border-radius:16px;padding:0 14px;font-size:14px;font-weight:900;transition:background .18s,color .18s,transform .18s}.legacy-room-nav button:hover{transform:translateY(-1px)}.legacy-room-nav button.on{color:#2a2320;background:linear-gradient(#ffd24d,#f4b73a);box-shadow:0 4px #6b4a2c}.legacy-sky-background{z-index:0;pointer-events:none;opacity:0;transition:opacity 1.5s;position:fixed;inset:0}.legacy-room--dark .legacy-sky-background{opacity:1}.legacy-stars,.legacy-stars:before,.legacy-stars:after{content:"";background:#ffffffd9;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:8vw 12vh #fffc,21vw 28vh #fff9,44vw 18vh #ffffffe6,61vw 36vh #ffffffb3,75vw 14vh #fffc,88vw 42vh #ffffffa6,13vw 76vh #ffffffbf,38vw 67vh #fff9,56vw 82vh #ffffffe0,92vw 70vh #ffffffb3}.legacy-stars{animation:20s linear infinite legacyStarDrift;top:0;left:0}.legacy-stars:before{top:18vh;left:11vw}.legacy-stars:after{top:42vh;left:29vw}.legacy-stars-2{animation-duration:28s;transform:scale(.8)}.legacy-stars-3{animation-duration:34s;transform:scale(1.25)}.legacy-overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0c081038;display:none;position:fixed;inset:0}.legacy-overlay.show{animation:.35s forwards legacyFadeIn;display:block}.legacy-modal{z-index:25;opacity:0;background:#fffaf0;border:4px solid #d8c28d;border-radius:32px;width:min(90vw,500px);padding:24px;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 28px 72px #34230e38}.legacy-modal.show{animation:.46s cubic-bezier(.34,1.56,.64,1) forwards legacyPopIn;display:block}.legacy-modal-wrapper{flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.legacy-modal-title{color:#a68c4f;max-width:none;font-family:var(--ff-script);text-align:center;background:#f3e9c8;border-radius:999px;margin:0;padding:10px 46px;font-size:42px;line-height:1;box-shadow:0 3px 8px #0000002e}.legacy-modal-content{-webkit-overflow-scrolling:touch;width:100%;height:200px;overflow:hidden}.legacy-work-content,.legacy-tall-content{height:550px}.legacy-contact-content{height:170px;overflow:visible}.legacy-modal-content-wrapper{overscroll-behavior:contain;touch-action:pan-y;height:100%;padding-right:10px;overflow-y:auto}.legacy-modal-content-wrapper::-webkit-scrollbar{width:8px}.legacy-modal-content-wrapper::-webkit-scrollbar-track{background:#f3e9c8;border-radius:999px}.legacy-modal-content-wrapper::-webkit-scrollbar-thumb{background:#bfa76a;border-radius:999px}.legacy-modal h2{color:#1e1e1e;font-family:var(--ff-script);margin:20px 0 8px;font-size:30px;line-height:1.05}.legacy-modal p,.legacy-modal li{color:#1e1e1e;font-size:26px;line-height:1.25}.legacy-modal a{color:#a66f00}.legacy-small{margin-top:12px;font-size:20px!important}.legacy-work-list{flex-direction:column;gap:18px;display:flex}.legacy-work-project{grid-template-columns:128px 1fr;align-items:start;gap:18px;display:grid}.legacy-work-image,.legacy-profile-image{object-fit:cover;border:4px solid #d8c28d;border-radius:22px;width:100%;display:block}.legacy-work-image{aspect-ratio:1}.legacy-profile-image{width:210px;height:210px;margin:0 auto 8px}.legacy-separator{border-top:2px solid #d8c28d;padding-top:24px}.legacy-contact-links{justify-content:center;gap:18px;padding-top:18px;display:flex}.legacy-contact-links a{color:#a66f00;width:58px;height:58px;font-family:var(--ff-display);background:#fdf5e6;border:3px solid #d8c28d;border-radius:18px;place-items:center;font-size:22px;font-weight:900;text-decoration:none;display:grid;box-shadow:0 3px 8px #0000001f}.legacy-modal-exit{color:#a66f00;cursor:pointer;background:#fffaf0;border:7px solid #d8c28d;border-radius:18px;place-items:center;width:62px;height:62px;display:grid;position:absolute;top:-58px;left:-58px;box-shadow:0 4px 10px #0003}.legacy-modal-exit span,.legacy-modal-exit span:after{content:"";background:currentColor;border-radius:999px;width:30px;height:6px;display:block}.legacy-modal-exit span{transform:rotate(45deg)}.legacy-modal-exit span:after{transform:rotate(90deg)}@keyframes legacyPopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes legacyFadeIn{to{opacity:1}}@keyframes legacyStarDrift{0%{transform:translateY(0)}to{transform:translateY(-20px)}}@keyframes legacyMouseWheel{0%{opacity:0;transform:translate(-50%,-2px)}40%{opacity:1}to{opacity:0;transform:translate(-50%,7px)}}.room-home{--c-about:#f2a338;--c-work:#15a89a;--c-blog:#5b86c4;--c-contact:#f2785c;--ok:#5fb857;--line-soft:#f8eac2;background:var(--sea);color:var(--ink);font-family:var(--ff-body);overscroll-behavior:none;position:fixed;inset:0;overflow:hidden}.room-home--night{--paper:#fff8e7;--cream:#f6e8bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.room-defs{width:0;height:0;position:absolute}.room-canvas{z-index:1;position:fixed;inset:0}.room-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.util{z-index:42;opacity:0;gap:10px;transition:opacity .5s;display:flex;position:fixed;top:18px;right:18px}.util.show{opacity:1}.ibtn{border:2px solid var(--gold);background:var(--paper);width:46px;height:46px;box-shadow:var(--sh-soft);color:var(--brown);cursor:pointer;font-family:var(--ff-display);border-radius:14px;place-items:center;font-size:22px;font-weight:700;line-height:1;transition:transform .12s,background .2s;display:grid}.ibtn:hover{background:var(--cream);transform:translateY(-2px)rotate(-4deg)}.ibtn:active{transform:scale(.94)}.hud{z-index:40;border:2px solid var(--gold-deep);background:linear-gradient(#fffdf7,#fbeec8);border-radius:22px;align-items:center;gap:4px;padding:7px;transition:transform .5s cubic-bezier(.2,.9,.25,1.4);display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(160%);box-shadow:0 9px 0 -2px #d6952a52,0 18px 34px -18px #2a232080,inset 0 1px #ffffffeb}.hud.show{transform:translate(-50%)translateY(0)}.hud button{min-height:40px;color:var(--brown);cursor:pointer;font-family:var(--ff-display);background:0 0;border:0;border-radius:15px;align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .18s cubic-bezier(.2,1.4,.4,1),box-shadow .2s;display:inline-flex;position:relative}.hud button:hover{background:#f4b73a38;transform:translateY(-3px)rotate(-2deg)}.hud button.on{color:#fff;animation:.45s cubic-bezier(.2,1.5,.4,1) both hudPop;transform:translateY(-2px);box-shadow:0 4px #2a232029}.hud button.on:after{content:"";opacity:.85;border-top:6px solid;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.hud [data-ch=room].on{color:var(--ink);background:linear-gradient(#f7c552,#e2a52b)}.hud [data-ch=about].on{background:linear-gradient(#f7b65a,#e89327)}.hud [data-ch=work].on{background:linear-gradient(#2fbeaf,#138e81)}.hud [data-ch=blog].on{background:linear-gradient(#7ba0d8,#4e79b8)}.hud [data-ch=contact].on{background:linear-gradient(#f58e6f,#e36042)}.hud .sep{background:var(--line);border-radius:2px;width:2px;height:24px;margin-left:6px;display:inline-block}.hint{z-index:30;color:#fff;font-family:var(--ff-hand);opacity:0;pointer-events:none;text-shadow:0 2px 6px #141e3c80;flex-direction:column;align-items:center;gap:4px;font-size:18px;transition:opacity .6s;display:flex;position:fixed;bottom:82px;left:50%;transform:translate(-50%)}.hint.show{opacity:1;animation:2.2s ease-in-out infinite bob}.hint .mouse{border:2.5px solid #fff;border-radius:14px;width:24px;height:38px;position:relative;box-shadow:0 2px 8px #14283c59}.hint .mouse:after{content:"";background:#fff;border-radius:2px;width:4px;height:8px;animation:1.6s ease-in-out infinite wheel;position:absolute;top:7px;left:50%;transform:translate(-50%)}.panel{z-index:25;background:var(--paper);opacity:0;visibility:hidden;backface-visibility:hidden;flex-direction:column;justify-content:center;padding:48px 44px;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s,visibility .6s;display:flex;position:fixed;overflow-y:auto}.panel.active{opacity:1;visibility:visible;transform:none!important}.panel:after{z-index:0;background:radial-gradient(circle, var(--pc), transparent 68%);content:"";opacity:.1;pointer-events:none;border-radius:50%;width:360px;height:360px;position:absolute}.panel>*{z-index:1;position:relative}.panel.right{--pc:var(--c-about);clip-path:url(#edge-about);width:54vw;height:100%;padding-left:clamp(72px,12vw,200px);top:0;right:0;transform:translate(40px)}.panel.right:after{top:6%;left:-40px}#p-blog{--pc:var(--c-blog);clip-path:url(#edge-blog);padding-bottom:118px;padding-left:clamp(86px,13vw,220px)}#p-blog .posts{gap:8px;margin-top:16px}#p-blog .post{padding:10px 14px}#p-blog .post-ex{margin-bottom:5px}#p-blog .cta-link{margin-top:12px}.panel.left{--pc:var(--c-work);clip-path:url(#edge-work);width:57vw;height:100%;padding-right:clamp(72px,13vw,210px);top:0;left:0;transform:translate(-40px)}.panel.left:after{top:6%;right:-40px}.panel.bottom{--pc:var(--c-contact);clip-path:url(#edge-contact);text-align:center;align-items:center;height:64%;padding:clamp(82px,13vh,150px) clamp(24px,8vw,120px) 40px;bottom:0;left:0;right:0;transform:translateY(40px)}.panel.bottom:after{margin-left:-180px;top:-40px;left:50%}.panel .label{background:var(--pc);box-shadow:0 5px 0 -1px #2a232029,var(--sh-soft);color:#fff;font-family:var(--ff-hand);border-radius:999px;align-self:flex-start;align-items:center;margin-bottom:16px;padding:7px 20px 9px;font-size:23px;line-height:1;display:inline-flex;transform:rotate(-1.6deg)}.panel.bottom .label{align-self:center}.panel h2{color:var(--ink);font-family:var(--ff-display);letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(28px,3.4vw,44px);font-weight:600;line-height:1.05}.panel .body{max-width:54ch;color:var(--ink-soft);font-size:16.5px;line-height:1.58}.panel .body p{margin:0 0 12px}.panel .body b{color:var(--ink)}.metarow,.chips,.qbadges{flex-wrap:wrap;gap:10px;display:flex}.metarow{margin-top:22px}.chips{margin-top:14px}.meta,.chip,.qb,.avail-tag{border:1px solid var(--line);background:var(--cream);color:var(--ink-soft);font-family:var(--ff-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;font-size:11px;display:inline-flex}.meta{border-radius:999px;gap:7px;padding:7px 12px}.chip{border-radius:7px;padding:5px 10px}.quests{flex-direction:column;gap:14px;max-width:560px;margin-top:20px;display:flex}.quest{border:2px solid var(--gold);background:var(--paper);box-shadow:var(--sh-soft);color:inherit;border-radius:18px;align-items:center;gap:16px;padding:14px;text-decoration:none;transition:transform .18s cubic-bezier(.2,1.2,.4,1),box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.quest:before{z-index:3;content:"";pointer-events:none;background:linear-gradient(105deg,#0000,#ffffffa6,#0000);width:45%;height:100%;position:absolute;top:0;left:-70%;transform:skew(-18deg)}.quest:hover{border-color:var(--pc,var(--gold-deep));box-shadow:0 16px 30px -10px var(--pc,var(--gold-deep));transform:translate(5px)translateY(-4px)scale(1.018)}.quest:hover:before{animation:.7s shine}.posts{flex-direction:column;gap:12px;max-width:560px;margin-top:20px;display:flex}.post{border:2px solid var(--gold);background:var(--paper);box-shadow:var(--sh-soft);color:inherit;border-radius:16px;align-items:center;gap:14px;padding:15px 16px;text-decoration:none;transition:transform .18s cubic-bezier(.2,1.2,.4,1),box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.post:before{z-index:3;content:"";pointer-events:none;background:linear-gradient(105deg,#0000,#ffffffa6,#0000);width:45%;height:100%;position:absolute;top:0;left:-70%;transform:skew(-18deg)}.post:hover{border-color:var(--pc);box-shadow:0 16px 30px -10px var(--pc);transform:translate(5px)translateY(-4px)scale(1.014)}.post:hover:before{animation:.7s shine}.post:active{transform:translate(2px)translateY(-1px)scale(.99)}.post-main{flex:1;min-width:0;display:grid}.post-meta{color:var(--pc);font-family:var(--ff-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;display:flex}.post-meta .dot{background:var(--muted);border-radius:50%;width:3px;height:3px}.post-title{color:var(--ink);font-family:var(--ff-display);margin:4px 0;font-size:18px;font-weight:600;line-height:1.12}.post-ex{color:var(--ink-soft);margin-bottom:8px;font-size:13px;line-height:1.4}.post-tags{flex-wrap:wrap;gap:5px;display:flex}.post:hover .arrow{transform:translate(3px)}.quest .thumb{background:radial-gradient(circle at 72% 24%, #ffffff80, transparent 18%),linear-gradient(135deg, var(--thumb), #ffe89a);border-radius:12px;flex:0 0 86px;height:72px;position:relative;overflow:hidden}.quest .thumb:after{content:"";background:linear-gradient(45deg,#0000 44%,#fffdf78c 45% 56%,#0000 57%),#2a23201a;border-radius:10px;position:absolute;inset:15px}.quest .status{z-index:2;color:var(--ink);font-family:var(--ff-mono);letter-spacing:.06em;text-transform:uppercase;background:#fffdf6e6;border-radius:999px;padding:2px 6px;font-size:8px;position:absolute;top:5px;left:5px}.quest .qbody{flex:1;min-width:0;display:grid}.quest .qk{color:var(--brown);font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.quest .qt{font-family:var(--ff-display);margin:2px 0 3px;font-size:19px;font-weight:600;line-height:1.1}.quest .qd{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.quest .qbadges{gap:5px;margin-top:6px}.qb{border-radius:5px;padding:2px 6px;font-size:9.5px}.arrow{color:var(--brown);flex:none;font-size:20px;transition:transform .2s}.avail-tag{border-radius:999px;gap:7px;margin-bottom:12px;padding:7px 12px}.avail-tag span{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}.socials{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.social{border:2px solid var(--gold);background:var(--cream);box-shadow:var(--sh-soft);color:var(--brown);border-radius:14px;padding:12px 18px;font-size:14px;font-weight:700;transition:transform .16s cubic-bezier(.2,1.3,.4,1),background .2s,box-shadow .2s}.social:hover{background:var(--paper);transform:translateY(-3px)rotate(-2deg)}.cta-link{background:var(--ink);color:var(--paper);font-family:var(--ff-display);border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;margin-top:22px;padding:12px 22px;font-size:15px;font-weight:500;transition:transform .16s,background .2s;display:inline-flex}.panel.bottom .cta-link{align-self:center}.cta-link:hover{background:var(--brown);transform:translateY(-2px)}.progress{z-index:35;opacity:0;flex-direction:column;gap:12px;transition:opacity .5s;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.progress.show{opacity:1}.progress button{border:2px solid var(--brown);cursor:pointer;background:0 0;border-radius:50%;width:11px;height:11px;padding:0;transition:transform .2s,background .2s}.progress button.on{background:var(--brown);transform:scale(1.3)}.fx-bubbles{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx-bubbles span{bottom:-40px;left:var(--left);width:var(--size);height:var(--size);animation:rise var(--dur) linear infinite;animation-delay:var(--delay);background:radial-gradient(circle at 35% 30%,#ffffffe6,#ffffff2e 58%,#0000);border-radius:50%;position:absolute}.fx-burst{z-index:45;pointer-events:none;position:fixed;top:50%;left:50%}.fx-burst span{background:var(--spark);border-radius:50%;width:9px;height:9px;animation:.7s ease-out forwards burst;position:absolute}.fx-burst .star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%)}.qmodal{z-index:80;-webkit-backdrop-filter:blur(6px)saturate(1.1);backdrop-filter:blur(6px)saturate(1.1);opacity:0;visibility:hidden;background:#2a23206b;place-items:center;padding:24px;transition:opacity .28s,visibility .28s;display:grid;position:fixed;inset:0}.qmodal.open{opacity:1;visibility:visible}.qmodal-card{border:3px solid var(--qc);background:var(--paper);border-radius:26px;flex-direction:column;width:min(560px,94vw);max-height:90vh;transition:transform .32s cubic-bezier(.2,1.4,.35,1);display:flex;position:relative;overflow:visible;transform:translateY(24px)scale(.94);box-shadow:0 24px 60px -16px #2a23208c}.qmodal.open .qmodal-card{transform:none}.qm-close{z-index:3;border:2px solid var(--qc);background:var(--paper);width:46px;height:46px;box-shadow:var(--sh-soft);color:var(--brown);cursor:pointer;border-radius:14px;font-size:18px;transition:transform .15s,background .2s;position:absolute;top:-14px;left:-14px;transform:rotate(-6deg)}.qm-close:hover{background:var(--cream);transform:rotate(0)scale(1.08)}.qm-hero{background:radial-gradient(circle at 22% 20%, #ffffff80, transparent 30%),repeating-linear-gradient(45deg, #ffffff24 0 12px, transparent 12px 24px),linear-gradient(135deg, var(--qc), #ffe89a);border-radius:23px 23px 0 0;height:150px;position:relative;overflow:hidden}.qm-hero span{color:var(--ink);font-family:var(--ff-mono);text-transform:uppercase;background:#fffdf7e6;border-radius:999px;padding:5px 10px;font-size:10px;position:absolute;top:16px;right:16px}.qm-content{min-height:0;padding:24px 28px 28px;overflow-y:auto}.qm-cat{color:var(--qc);font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:10.5px}.qm-content h2{font-family:var(--ff-display);margin:0;font-size:30px;line-height:1}.qm-tag{color:var(--brown);font-family:var(--ff-script);margin:8px 0 12px;font-size:21px;font-weight:600}.role-chip{border:1px solid var(--line);background:var(--cream);font-family:var(--ff-mono);text-transform:uppercase;border-radius:999px;margin-bottom:18px;padding:7px 12px;font-size:11px;display:inline-flex}.qm-quest{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.qm-step{padding-left:18px;position:relative}.qm-step:before{background:var(--qc);content:"";border-radius:3px;width:9px;height:9px;position:absolute;top:7px;left:0;transform:rotate(45deg)}.qm-step-k{color:var(--qc);font-family:var(--ff-display);letter-spacing:.02em;text-transform:uppercase;margin-bottom:2px;font-size:13px;font-weight:600;display:block}.qm-step p{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.5}.qm-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.qm-action{border:2px solid var(--qc);min-height:42px;color:var(--brown);font-family:var(--ff-display);border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.qm-action--fill{background:var(--qc);box-shadow:0 5px 0 var(--brown);color:#fff}.panel .label,.panel h2,.panel .body,.panel .metarow,.panel .chips,.panel .quests .quest,.panel .posts .post,.panel .avail-tag,.panel .socials .social,.panel .cta-link{opacity:0}.panel.active .label{animation:.55s cubic-bezier(.2,1.5,.35,1) 40ms both jPop}.panel.active h2{animation:.55s cubic-bezier(.2,.9,.3,1) .14s both jUp}.panel.active .body{animation:.55s cubic-bezier(.2,.9,.3,1) .24s both jUp}.panel.active .metarow{animation:.5s cubic-bezier(.2,.9,.3,1) .34s both jUp}.panel.active .chips{animation:.5s cubic-bezier(.2,.9,.3,1) .42s both jUp}.panel.active .avail-tag{animation:.5s cubic-bezier(.2,1.5,.35,1) .1s both jPop}.panel.active .cta-link{animation:.5s cubic-bezier(.2,.9,.3,1) .3s both jUp}.panel.active .quests .quest{animation:.55s cubic-bezier(.2,1.1,.35,1) both jCard}.panel.active .quests .quest:first-child{animation-delay:.26s}.panel.active .quests .quest:nth-child(2){animation-delay:.34s}.panel.active .quests .quest:nth-child(3){animation-delay:.42s}.panel.active .posts .post{animation:.55s cubic-bezier(.2,1.1,.35,1) both jCard}.panel.active .posts .post:first-child{animation-delay:.26s}.panel.active .posts .post:nth-child(2){animation-delay:.34s}.panel.active .posts .post:nth-child(3){animation-delay:.42s}@keyframes hudPop{0%{transform:translateY(-2px)scale(.9)}55%{transform:translateY(-6px)scale(1.12)}to{transform:translateY(-2px)scale(1)}}@keyframes bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(7px)}}@keyframes wheel{0%{opacity:0;transform:translate(-50%,-4px)}40%{opacity:1}to{opacity:0;transform:translate(-50%,8px)}}@keyframes jUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes jPop{0%{opacity:0;transform:scale(.5)rotate(-1.6deg)}70%{opacity:1;transform:scale(1.08)rotate(-1.6deg)}to{opacity:1;transform:scale(1)rotate(-1.6deg)}}@keyframes jCard{0%{opacity:0;transform:translate(-30px)scale(.92)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(0)}10%{opacity:.8}90%{opacity:.7}to{opacity:0;transform:translateY(-112vh) translateX(var(--drift,20px))}}@keyframes burst{0%{opacity:1;transform:translate(0)scale(.3)}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(1)}}@keyframes shine{to{left:135%}}@keyframes pulse{0%,to{box-shadow:0 0 #5fb85773}50%{box-shadow:0 0 0 8px #5fb85700}}@media (max-width:760px){.room-home[data-chapter=about] .legacy-experience-canvas,.room-home[data-chapter=work] .legacy-experience-canvas,.room-home[data-chapter=blog] .legacy-experience-canvas,.room-home[data-chapter=contact] .legacy-experience-canvas{transform-origin:top;transition:transform .45s,height .45s;transform:translateY(-4vh);height:46vh!important}.panel.right,.panel.left,.panel.bottom{clip-path:url(#edge-wave);width:100vw;height:min(68vh,620px);filter:drop-shadow(0 -13px 0 var(--pc)) drop-shadow(0 -22px 24px #2a23203d);text-align:left;overscroll-behavior:contain;justify-content:flex-start;align-items:flex-start;padding:clamp(72px,11vh,112px) 26px 88px;inset:auto 0 0;overflow-y:auto;transform:translateY(40px)}#p-blog{clip-path:url(#edge-wave);padding:clamp(72px,11vh,112px) 26px 88px}.panel.right:after,.panel.left:after,.panel.bottom:after{margin-left:-180px;top:-40px;left:50%;right:auto}.panel .label{align-self:flex-start}.panel.bottom{text-align:center;align-items:center}.panel.bottom .label{align-self:center}.panel h2{font-size:25px}.panel .body{font-size:15px}.quests,.posts{gap:10px;max-width:none}.quest{gap:12px;padding:12px}.post{gap:12px;padding:13px}.quest .thumb{flex-basis:70px;height:62px}.util{top:12px;right:12px}.ibtn{width:42px;height:42px}.progress{display:none}.hud{max-width:calc(100vw - 20px);bottom:14px}.hud button{min-height:38px;padding:9px 13px;font-size:13px}.hud .sep{display:none}.hint{bottom:92px}}@media (max-width:760px) and (max-height:700px){.room-home[data-chapter=about] .legacy-experience-canvas,.room-home[data-chapter=work] .legacy-experience-canvas,.room-home[data-chapter=blog] .legacy-experience-canvas,.room-home[data-chapter=contact] .legacy-experience-canvas{transform:translateY(-5vh);height:42vh!important}.panel.right,.panel.left,.panel.bottom{height:64vh;padding-top:clamp(60px,9vh,88px)}#p-blog{padding-top:clamp(60px,9vh,88px)}}@media (max-width:760px){.legacy-toggle-group{gap:10px;top:16px;right:16px}.legacy-toggle-button{border-radius:14px;width:46px;height:46px}.legacy-toggle-button svg{width:25px;height:25px}.legacy-scroll-hint{font-size:16px;bottom:84px}.legacy-room-nav{border-radius:20px;justify-content:space-between;gap:3px;width:min(100vw - 24px,390px);min-height:50px;padding:6px;bottom:14px}.legacy-room-nav button{border-radius:14px;flex:1 1 0;min-width:0;min-height:38px;padding:0 8px;font-size:13px}.legacy-modal{border-radius:26px;width:min(90vw,500px);padding:20px}.legacy-modal-title{padding:9px 28px;font-size:31px}.legacy-work-content,.legacy-tall-content{height:min(500px,62vh)}.legacy-contact-content{height:190px}.legacy-modal h2{font-size:25px}.legacy-modal p,.legacy-modal li{font-size:22px}.legacy-work-project{grid-template-columns:1fr}.legacy-work-image{max-width:180px}.legacy-modal-exit{border-width:6px;width:52px;height:52px;top:-48px;left:-26px}.title-screen{justify-content:center;padding:0 18px 34px;transform:translateY(-28px)}.ts-badge{letter-spacing:.22em;margin-bottom:18px;padding:7px 14px;font-size:9px}.ts-logo__line{-webkit-text-stroke-width:4px}.ts-tag{margin-top:12px}.ts-start{border-radius:18px;min-height:62px;margin-top:28px;padding:14px 26px}.ts-start__key{width:30px;height:30px}.ts-mascot{width:68px;height:74px;top:23%;right:max(14px,8vw)}.ts-mascot__body{width:54px;height:54px}.ts-mascot__eye{width:7px;height:11px;top:23px}.ts-mascot__eye--left{left:16px}.ts-mascot__eye--right{right:16px}.ts-mascot__mouth{bottom:15px}.ts-mascot__say{min-width:60px;font-size:16px;right:40px}.ts-footer{letter-spacing:.12em;text-overflow:ellipsis;max-width:calc(100vw - 28px);font-size:9px;bottom:16px;overflow:hidden}}@media (max-width:360px){.ts-mascot{transform-origin:100% 0;top:20%;right:8px;transform:scale(.88)}.ts-logo__line--top{font-size:54px}.ts-logo__line--bottom{font-size:47px}}@media (max-width:880px){.site-header,.admin-shell{grid-template-columns:1fr;align-items:flex-start}.site-header{flex-direction:column}.public-hero,.room-foundation,.content-grid{grid-template-columns:1fr}.public-hero{min-height:auto;padding-top:34px}.room-signal{min-height:280px}h1{font-size:4.25rem}.admin-sidebar{position:static}}@media (max-width:560px){.public-shell,.admin-shell{width:min(100% - 20px,var(--page-max));padding-bottom:36px}.site-nav,.action-row{width:100%}.site-nav a,.button{flex:auto;justify-content:center}h1{font-size:3.2rem}h2{font-size:1.7rem}.chapter-rail{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.welcome__blob,.welcome__maze,.ts-mascot,.ts-mascot__shadow,.ts-start,.loadwrap__fill,.loadwrap__runner,.hint.show,.hint .mouse:after,.fx-bubbles span,.fx-burst span,.panel.active,.avail-tag span{animation:none!important}.ts-badge,.ts-logo__line,.ts-tag,.panel *,.panel .label,.panel h2,.panel .body,.panel .metarow,.panel .chips,.panel .quests .quest,.panel .posts .post,.panel .avail-tag,.panel .socials .social,.panel .cta-link{opacity:1!important;transform:none!important}.panel{transition:opacity .2s!important}.qmodal,.qmodal-card{transition:opacity .15s!important;transform:none!important}}
