@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_1d4ac810-module__4gwIEW__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_1d4ac810-module__4gwIEW__variable{--font-body:"Montserrat", "Montserrat Fallback"}
*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}::selection{background:var(--accent);color:var(--accent-fg)}a{color:inherit;text-decoration:none}h1,h2{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:700;line-height:1.1}button,.button{font:inherit;letter-spacing:.01em;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:12px 24px;font-weight:600;transition:opacity .15s,transform .15s;display:inline-flex}button:active,.button:active{transform:scale(.98)}button:hover,.button:hover{opacity:.88}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.ghost,.button.ghost{color:var(--muted);border-color:var(--border);background:0 0;padding:8px 14px;font-size:13px}button.ghost:hover,.button.ghost:hover{color:var(--fg);opacity:1}.error{color:var(--danger);margin:0;font-size:14px}.logo{display:inline-flex}.logo img{max-width:100%;height:auto;display:block}.gate{background:var(--pine);place-items:center;min-height:100%;padding:48px 16px;display:grid;position:relative;overflow:clip}.gate-scene{position:absolute;inset:0}.gate-scene img,.gate-scene video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gate-scene:after{content:"";background:linear-gradient(#16261ce6,#16261c6b 48%,#16261ceb),radial-gradient(900px 480px at 50% 110%,#fcb90f24,#0000 70%);position:absolute;inset:0}.gate-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);text-align:center;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:44px 40px 36px;display:flex;position:relative;box-shadow:0 24px 70px #0a120d73}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--link);margin:4px 0 6px;font-size:12px;font-weight:600}.gate-card h1{margin-bottom:28px;font-size:32px}.gate-form{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.gate-form label{color:var(--muted);font-size:14px}.gate-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:14px;padding:13px 16px}.gate-form input[aria-invalid]{border-color:var(--danger)}.gate-form button{margin-top:8px}.fine{color:var(--muted);margin:32px 0 0;font-size:12px}.fine-ok{color:var(--link);margin:0;font-size:13px}.code-input{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums;font-size:24px}.code-input::placeholder{letter-spacing:.4em;color:color-mix(in srgb, var(--muted) 45%, transparent)}.gate-links{justify-content:center;gap:20px;margin:4px 0 0;display:flex}.linklike{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500;text-decoration:underline}.linklike:hover{color:var(--link);opacity:1}.linklike:disabled{opacity:.5;cursor:default}@media (max-width:480px){.gate{align-items:start;padding-top:48px}.gate-card{border-radius:22px;padding:36px 20px}}.room{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:16px;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-title{border-left:1px solid var(--border);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-left:16px;font-size:12px;font-weight:600}.room-footer{color:var(--muted);text-align:center;padding:24px 32px;font-size:12px}.tabbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent)}.tabbar-inner{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;max-width:1040px;margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}.tabbar-inner::-webkit-scrollbar{display:none}.tab{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;flex:none;padding:13px 12px 10px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.tab:hover{color:var(--fg)}.tab[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.room-hero{background:var(--pine);color:var(--pine-fg);border-radius:26px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:240px;margin:4px 0 40px;animation:.42s cubic-bezier(.2,.7,.3,1) both rise;display:grid;position:relative;overflow:hidden}.room-hero-text{z-index:1;flex-direction:column;justify-content:center;gap:12px;padding:36px 8px 36px 36px;display:flex;position:relative}.room-hero .eyebrow{color:var(--accent);margin:0}.room-hero h1{font-size:clamp(26px,3.4vw,34px)}.room-hero p{color:#fffdf9bf;max-width:44ch;margin:0;font-size:15px;line-height:1.6}.room-hero-art{position:relative}.room-hero-art img,.room-hero-art video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.room-hero-art:after{content:"";background:linear-gradient(to right, var(--pine) 0%, #16261c80 38%, #16261c14 75%), linear-gradient(to top, #16261c8c, transparent 35%);position:absolute;inset:0}@media (max-width:720px){.room-hero{grid-template-columns:1fr;min-height:0}.room-hero-text{padding:28px 24px}.room-hero-art{min-height:170px}.room-hero-art:after{background:linear-gradient(to bottom, var(--pine), #16261c26 60%)}}.ext-links{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ext-link{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr 16px;align-items:center;gap:16px;padding:16px 18px;transition:border-color .15s,box-shadow .18s;display:grid}.ext-link:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 6px 18px color-mix(in srgb, var(--fg) 8%, transparent)}.ext-link:hover .file-name{color:var(--link)}.ext-link .file-desc{white-space:normal}.tab-section{margin:0 0 40px}.tab-section:last-child{margin-bottom:0}.section-head{margin:0 0 12px}.section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin:0;font-size:13px;font-weight:600}.section-head .folder-desc{margin-top:4px}@media (max-width:640px){.tabbar-inner{padding:0 12px}}.content{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:40px 32px}.folder-title{margin:10px 0 28px;font-size:30px}.folder-head{margin:10px 0 28px}.folder-head .folder-title{margin:0}.folder-desc{color:var(--muted);max-width:64ch;margin:8px 0 0}.empty{color:var(--muted);text-align:center;border-top:1px solid var(--border);padding:48px 0}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li{align-items:center;gap:6px;min-width:0;display:flex}.crumbs li+li:before{content:"/";opacity:.5}.crumbs a:hover{color:var(--link);text-decoration:underline}.crumbs [aria-current]{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;overflow:hidden}.files{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin:0;padding:0;list-style:none;overflow:hidden;box-shadow:0 1px 1px #1c1a1608,0 4px 14px #1c1a160a}.file-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 16px;align-items:center;gap:16px;padding:16px 20px;transition:background .12s;display:grid}.files>li:last-child .file-row,.files>li:last-child.file-row{border-bottom:0}.files+.files{margin-top:12px}.file-row:hover{background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.file-row:hover .file-name{color:var(--link)}.file-name.is-folder{font-weight:600}.file-name{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.file-text{flex-direction:column;gap:3px;min-width:0;display:flex}.file-title{align-items:center;gap:10px;min-width:0;display:flex}.file-desc{color:var(--muted);font-size:13px}.badge-new{letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--accent-fg);border-radius:999px;flex:none;padding:2px 9px;font-size:10px;font-weight:700}.chev{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:1.5px}@media (max-width:640px){.topbar{padding:12px 16px}.topbar-title{display:none}.content{padding:24px 16px}.folder-title{margin-bottom:20px;font-size:24px}.file-row{grid-template-columns:1fr 16px;gap:12px;padding:14px 16px}.file-name{white-space:normal}}.fin{margin:0 0 40px}.fin-head{animation:rise .42s cubic-bezier(.2, .7, .3, 1) var(--base,0s) both;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:16px;display:flex}.fin-head h2{font-size:20px}.fin-meta{color:var(--muted);margin:0;font-size:13px}.fin-meta a{color:var(--link)}.fin-meta a:hover{text-decoration:underline}.fin-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.fin-card{border:1px solid var(--border);background:linear-gradient(var(--accent), var(--accent)) 50% 0 / calc(100% - 36px) 3px no-repeat, var(--surface);border-radius:16px;flex-direction:column;justify-content:space-between;gap:8px;padding:18px;transition:box-shadow .18s;display:flex;box-shadow:0 1px 1px #1c1a1608,0 4px 14px #1c1a160a}.fin-card:hover{box-shadow:0 6px 18px color-mix(in srgb, var(--fg) 10%, transparent)}.fin-card-label{color:var(--muted);font-size:12px;line-height:1.35}.fin-card-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:700}.fin-years{animation:rise .42s cubic-bezier(.2, .7, .3, 1) calc(var(--base,0s) + .25s) both;flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.fin-year{letter-spacing:0;text-transform:none;color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.fin-year:hover{color:var(--fg);border-color:var(--link);opacity:1}.fin-year[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.fin-charts{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:16px;display:grid}.fin-chart{border:1px solid var(--border);background:var(--surface);animation:.48s cubic-bezier(.2,.7,.3,1) both rise;animation-delay:calc(var(--base,0s) + .3s + var(--c,0) * 80ms);border-radius:16px;margin:0;padding:16px 18px 10px}.fin-chart figcaption{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.fin-chart-title{font-size:13px;font-weight:600}.fin-chart-last{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.fin-chart-last small{color:var(--muted);font-size:11px}.fin-chart svg{width:100%;height:auto;display:block;overflow:visible}.fin-base{stroke:var(--border);stroke-width:1px}.fin-mark{cursor:pointer;outline:none}.fin-hit{fill:#0000;transition:fill .15s}.fin-mark:hover .fin-hit,.fin-mark:focus-visible .fin-hit{fill:color-mix(in srgb, var(--fg) 5%, transparent)}.fin-mark:focus-visible .fin-hit{stroke:var(--accent);stroke-width:2px}.fin-bar,.fin-dot{transition:opacity .18s}.fin-mark.is-dim .fin-bar,.fin-mark.is-dim .fin-dot{opacity:.3}@keyframes fin-grow{0%{transform:scaleY(0)}}@keyframes fin-draw{0%{stroke-dashoffset:1px}}@keyframes fin-pop{0%{opacity:0;transform:scale(0)}}.fin-bar{fill:var(--chart);transform-box:fill-box;transform-origin:50% 100%;animation:.7s cubic-bezier(.2,.7,.3,1) both fin-grow;animation-delay:calc(var(--base,0s) + .45s + var(--c,0) * 80ms + var(--i,0) * 70ms)}.fin-bar.is-neg{transform-origin:50% 0}.fin-line{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:fin-draw 1.1s cubic-bezier(.4, 0, .2, 1) calc(var(--base,0s) + .45s + var(--c,0) * 80ms) both}.fin-dot{fill:var(--chart);stroke:var(--bg);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:.3s ease-out both fin-pop;animation-delay:calc(var(--base,0s) + .5s + var(--c,0) * 80ms + var(--i,0) * .2s)}.fin-label{fill:var(--fg);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;animation:.25s ease-out both fade-in-from}.fin-body.is-intro .fin-label{animation-delay:calc(var(--base,0s) + 1s + var(--c,0) * 80ms)}.fin-axis{fill:var(--muted);font-size:12px;transition:fill .15s}.fin-axis.is-on{fill:var(--fg);font-weight:600}.fin-table-wrap{border:1px solid var(--border);background:var(--surface);animation:rise .48s cubic-bezier(.2, .7, .3, 1) calc(var(--base,0s) + .7s) both;border-radius:14px;overflow-x:auto}.fin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.fin-table th,.fin-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);padding:8px 12px;transition:background .15s}.fin-table thead th{color:var(--muted);font-size:12px;font-weight:600}.fin-table tbody th{text-align:left;font-weight:500}.fin-table tbody tr:last-child>*{border-bottom:0}.fin-table .is-on{background:color-mix(in srgb, var(--accent) 16%, transparent)}.fin-th-btn{color:inherit;font:inherit;letter-spacing:0;text-transform:none;cursor:pointer;background:0 0;border:0;padding:0}.fin-th-btn:hover{color:var(--fg);opacity:1}@media (max-width:640px){.fin-cards{grid-template-columns:1fr 1fr}.fin-card-value{font-size:18px}}@media (prefers-reduced-motion:reduce){.fin-head,.fin-years,.fin-chart,.fin-bar,.fin-line,.fin-dot,.fin-label,.fin-table-wrap{animation:none}}.viewer{flex-direction:column;flex:1;width:100%;max-width:1280px;margin:0 auto;padding:20px 32px 8px;display:flex}.viewer-bar{align-items:center;gap:16px;min-width:0;margin-bottom:16px;display:flex}.viewer-heading{min-width:0}.back{border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.back svg{fill:none;width:18px;height:18px;stroke:var(--fg);stroke-width:1.5px}.back:hover{border-color:var(--link)}.frame{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex:1;min-height:70vh;overflow:hidden}.frame iframe{border:0;width:100%;height:100%;min-height:70vh;display:block}.frame-foot{color:var(--muted);text-align:right;margin:8px 0 0;font-size:12px}.frame-foot a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.frame-media{place-items:center;padding:24px;display:grid}.frame-media img,.frame-media video{max-width:100%;max-height:80vh;display:block}.frame-audio{min-height:200px}.unavailable{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:64px 24px;display:flex}.unavailable h2{font-size:22px}.unavailable p{color:var(--muted);margin:0 0 8px}@media (max-width:640px){.viewer{padding:16px 12px 4px}.frame,.frame iframe{min-height:calc(100dvh - 190px)}.crumbs [aria-current]{max-width:24ch}}.door{--ajar:-29deg;width:calc(var(--h) * .8);height:var(--h);align-items:stretch;display:flex;position:relative}.door-stage{width:calc(var(--h) * .6);height:100%;perspective:calc(var(--h) * 1.2);perspective-origin:0%;position:relative}.door-panel,.door-light{width:calc(var(--h) * .54);height:78%;position:absolute;top:11%;left:0}.door-panel{transform-origin:0%;transform:rotateY(var(--ajar));backface-visibility:hidden;overflow:visible}.door-light{width:calc(var(--h) * .6);opacity:0;box-shadow:0 0 0 1px #0000000f, 0 0 calc(var(--h) * .3) #ffffffe6;background:#fff;border-radius:2px}.door-frame{width:calc(var(--h) * .2);height:100%;fill:var(--fg)}@keyframes door-swing{to{transform:rotateY(-100deg)}}@keyframes door-light-on{to{opacity:1}}@keyframes door-appear{0%{opacity:0;transform:scale(.94)}}@keyframes cover-out{to{opacity:0;visibility:hidden}}@keyframes door-through{to{opacity:0;transform:scale(9)}}@keyframes keyhole-glow{0%,to{fill:#333}50%{fill:#fff}}.door-cover{background:var(--bg);place-items:center;display:grid}.door-cover-entry{z-index:100;background:var(--surface);animation:.65s ease-in 1.75s forwards cover-out;position:fixed;inset:0}.door-open-entry{transform-origin:34%;animation:.4s ease-out both door-appear,.9s cubic-bezier(.6,0,.9,.4) 1.5s forwards door-through}.door-open-entry .door-panel{animation:1.1s cubic-bezier(.45,0,.25,1) .45s forwards door-swing}.door-open-entry .door-light{animation:.7s ease-out .6s forwards door-light-on}.door-open-entry .door-frame{animation:.3s ease-out 1.5s forwards cover-out}.door-zone{position:relative}.door-zone.is-playing{min-height:200px}.door-cover-folder{z-index:2;align-items:start;padding-top:40px;animation:.17s ease-out .29s forwards cover-out;position:absolute;inset:0}.door-open-quick .door-panel{animation:.32s cubic-bezier(.45,0,.25,1) forwards door-swing}.door-open-quick .door-light{animation:.24s ease-out 60ms forwards door-light-on}.door-waiting .door-keyhole{animation:1.2s ease-in-out infinite keyhole-glow}.skel{background:var(--border);border-radius:3px;display:block}.skel-crumbs{width:160px;height:12px;margin:4px 0}.skel-title{width:220px;height:30px;margin:12px 0 30px}.skel-row{pointer-events:none}.skel-line{width:45%;height:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:640px){.skel-title{height:24px;margin-bottom:22px}}@media (prefers-reduced-motion:reduce){.gate-scene video,.room-hero-art video{display:none}.room-hero,.door-open-entry,.door-open-entry .door-panel,.door-open-entry .door-light,.door-open-entry .door-frame,.door-open-quick .door-panel,.door-open-quick .door-light,.door-waiting .door-keyhole{animation:none}.door-cover-entry{animation:.25s ease-out .15s forwards cover-out}.door-cover-folder{animation:.15s ease-out forwards cover-out}}.teaser{padding-top:24px}.teaser-actions{justify-content:center;padding:24px 0 8px;display:flex}.teaser-actions .button{min-width:200px}.content>.crumbs+.door-zone{margin-top:20px}.gate-door{z-index:5;justify-content:center;margin-bottom:20px;display:flex;position:relative}.door-open-gate{transform-origin:34%;animation:.8s cubic-bezier(.6,0,.9,.4) 1s forwards door-through}.door-open-gate .door-panel{animation:1.05s cubic-bezier(.45,0,.25,1) forwards door-swing}.door-open-gate .door-light{animation:.65s ease-out .15s forwards door-light-on}.door-open-gate .door-frame{animation:.25s ease-out .95s forwards cover-out}.gate-whiteout{z-index:40;opacity:0;background:#fffdf9;animation:.45s ease-in 1.45s forwards fade-in;position:fixed;inset:0}@keyframes fade-in{to{opacity:1}}@keyframes door-rattle{0%,to{transform:rotateY(var(--ajar))}20%{transform:rotateY(-35deg)}40%{transform:rotateY(-25deg)}60%{transform:rotateY(-33deg)}80%{transform:rotateY(-27deg)}}.door-locked .door-panel{animation:.48s ease-in-out door-rattle}.door-cover-light{z-index:100;background:#fffdf9;animation:.65s ease-out 80ms forwards cover-out;position:fixed;inset:0}.door-cover-exit{z-index:100;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:28px;animation:.3s ease-out both fade-in-from;display:flex;position:fixed;inset:0}@keyframes fade-in-from{0%{opacity:0}}@keyframes door-close{0%{transform:rotateY(-100deg)}to{transform:rotateY(var(--ajar))}}@keyframes door-light-off{0%{opacity:1}to{opacity:0}}.door-closing .door-panel{animation:.95s cubic-bezier(.45,0,.25,1) .25s both door-close}.door-closing .door-light{animation:.7s ease-in .4s both door-light-off}.exit-message{color:var(--fg);margin:0;font-size:22px;font-weight:600;animation:.5s ease-out 1.15s both rise}.hall{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin:0 0 36px;padding:0;list-style:none;display:grid}.hall>li:nth-child(4n+1){--tint:var(--tint1);--tint-fg:var(--tint-fg1)}.hall>li:nth-child(4n+2){--tint:var(--tint2);--tint-fg:var(--tint-fg2)}.hall>li:nth-child(4n+3){--tint:var(--tint3);--tint-fg:var(--tint-fg3)}.hall>li:nth-child(4n+4){--tint:var(--tint4);--tint-fg:var(--tint-fg4)}.hall-door{text-align:center;background:var(--tint,var(--surface));border:1px solid color-mix(in srgb, var(--tint-fg,var(--fg)) 12%, transparent);border-radius:22px;flex-direction:column;align-items:center;gap:8px;height:100%;padding:30px 16px 24px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.hall-door .door{margin-bottom:14px}.hall-door:hover,.hall-door:focus-visible{border-color:color-mix(in srgb, var(--tint-fg,var(--fg)) 32%, transparent);box-shadow:0 14px 34px color-mix(in srgb, var(--tint-fg,var(--fg)) 14%, transparent);transform:translateY(-3px)}.door-card .door-panel{transition:transform .55s cubic-bezier(.3,.7,.3,1)}.door-card .door-light{transition:opacity .4s}.hall-door:hover .door-card .door-panel,.hall-door:focus-visible .door-card .door-panel{transform:rotateY(-55deg)}.hall-door:hover .door-card .door-light,.hall-door:focus-visible .door-card .door-light{opacity:1}.hall-name{letter-spacing:-.01em;color:var(--fg);font-size:16px;font-weight:700}.hall-door:hover .hall-name{color:var(--tint-fg,var(--link))}.hall-desc{color:color-mix(in srgb, var(--fg) 72%, var(--tint,var(--bg)));font-size:13px;line-height:1.45}@media (max-width:640px){.hall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hall-door{padding:22px 10px 16px}.hall-name{font-size:15px}}.manage-warning{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:12px;margin:12px 0 0;padding:12px 16px;font-size:13px;line-height:1.55}.tips .tip{border-bottom:1px solid var(--border);padding:18px 20px}.tips .tip:last-child{border-bottom:0}.tips h3{letter-spacing:-.01em;margin:0 0 4px;font-size:15px;font-weight:600}.tips p{color:var(--muted);max-width:72ch;margin:0;font-size:14px;line-height:1.6}.tips code{background:color-mix(in srgb, var(--fg) 7%, transparent);border-radius:6px;padding:1px 6px;font-size:12.5px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.stagger>li{animation:.42s cubic-bezier(.2,.7,.3,1) both rise;animation-delay:calc(var(--i,0) * 45ms + var(--base,0s))}.via-door{--base:.26s}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}}.viewer{animation:.38s cubic-bezier(.2,.7,.3,1) backwards view-in}.cta{text-align:center;border-top:1px solid var(--border);margin-top:48px;padding:36px 16px 8px}.cta p{color:var(--muted);margin:0 0 16px}@media (prefers-reduced-motion:reduce){.stagger>li,.viewer,.exit-message,.door-cover-exit,.door-open-gate,.door-open-gate .door-panel,.door-open-gate .door-light,.door-open-gate .door-frame,.door-locked .door-panel,.door-closing .door-panel,.door-closing .door-light{animation:none}.gate-whiteout{animation:.25s ease-out forwards fade-in}.door-cover-light{animation:.25s ease-out forwards cover-out}.hall-door,.door-card .door-panel{transition:none}.hall-door:hover .door-card .door-panel{transform:rotateY(var(--ajar))}}.fs-frame{flex-direction:column;flex:1;min-height:0;display:flex}.fs-bar{justify-content:flex-end;margin-bottom:10px;display:flex}.fs-button{background:var(--bg);color:var(--fg);border:1px solid var(--border);gap:8px;padding:8px 14px;font-size:13px}.fs-button:hover{border-color:var(--link);color:var(--link);opacity:1}.fs-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.fs-frame.is-expanded{z-index:200;padding:12px;padding-top:max(12px, env(safe-area-inset-top));background:#1f1f1f;margin:0;position:fixed;inset:0}.fs-frame:fullscreen{background:#1f1f1f;padding:12px}.fs-frame.is-expanded .fs-bar{margin-bottom:10px}.fs-frame.is-expanded .fs-button{color:#fff;background:#333;border-color:#4a4a4a}.fs-frame.is-expanded .frame{border:0;flex:1;min-height:0}.fs-frame.is-expanded .frame iframe{height:100%;min-height:0}html.viewer-expanded,html.viewer-expanded body{overflow:hidden}.mosaico{margin:8px 0 48px}.mo-sub{text-align:center;max-width:620px;color:var(--muted);margin:0 auto;font-size:16px;line-height:1.6}.mo-note{text-align:center;color:var(--muted);margin:18px 0 0;font-size:13px}.mo-device{background:#1c1b1a;border-radius:34px;max-width:960px;margin:40px auto 0;padding:14px;box-shadow:0 24px 60px #14181e2e}.mo-screen{color:#20242c;background:#fff;border-radius:24px;overflow:hidden}.mo-screen p{margin:0}.mo-topbar{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.mo-logo{letter-spacing:-.02em;color:#20242c;font-size:17px;font-weight:700}.mo-topbar-icons{align-items:center;gap:12px;display:flex}.mo-bell{background:#0000000d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.mo-bell-dot{background:#e2574c;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.mo-avatar{color:#fff;background:#4f5bd5;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.mo-body{display:flex}.mo-sidebar{border-right:1px solid #0000000d;flex:none;width:168px;padding:16px 0}.mo-nav{color:#5a6072;border-radius:8px;align-items:center;gap:10px;margin:0 8px 4px;padding:8px 12px;font-size:12.5px;font-weight:500;display:flex}.mo-nav.is-active{color:#fff;background:#19c8b4}.mo-nav-dot{opacity:.7;background:currentColor;border-radius:50%;width:5px;height:5px}.mo-main{background:#f7f8fa;flex:1;min-width:0;min-height:430px;padding:24px}.mo-main-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mo-student{font-size:15px;font-weight:600}.mo-group{color:#8a90a0;font-size:12px}.mo-tabs{background:#0000000d;border-radius:999px;padding:4px;display:flex}.mosaico .mo-tab{letter-spacing:0;color:#5a6072;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.mosaico .mo-tab:hover{opacity:1;color:#20242c}.mosaico .mo-tab.is-active{color:#fff;background:#19c8b4}.mosaico .mo-tab:focus-visible,.mo-area:focus-visible{outline-offset:2px;outline:2px solid #19c8b4}.mo-wheel-tab{grid-template-columns:1.15fr 1fr;align-items:center;gap:16px;margin-top:16px;display:grid}.mo-wheel{width:100%;max-width:360px;margin:0 auto}.mo-wheel svg{width:100%;height:auto;font-family:inherit;display:block}.mo-area{cursor:pointer;transition:opacity .15s}.mo-area:focus:not(:focus-visible){outline:none}.mo-area:hover{opacity:.9}.mo-card{background:#fff;border:1px solid #0000000d;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0000000d}.mo-tag{letter-spacing:.03em;text-transform:uppercase;color:#fff;border-radius:999px;padding:2px 10px;font-size:10.5px;font-weight:700;display:inline-block}.mo-screen .mo-card-text{color:#5a6072;margin-top:10px;font-size:13px;line-height:1.6}.mo-progress{align-items:center;gap:6px;margin-top:12px;display:flex}.mo-bar{border-radius:999px;width:28px;height:6px}.mo-progress-label{color:#8a90a0;margin-left:6px;font-size:11.5px;font-weight:600}.mo-screen .mo-hint{color:#8a90a0;margin-top:12px;font-size:12px}.mo-report{margin-top:16px}.mo-report-head{color:#fff;background:#4f5bd5;border-radius:12px;padding:20px;position:relative;overflow:hidden}.mo-report-head:before,.mo-report-head:after{content:"";background:#ffffff1a;border-radius:50%;position:absolute}.mo-report-head:before{width:96px;height:96px;top:-24px;right:-16px}.mo-report-head:after{width:32px;height:32px;top:8px;right:64px}.mo-report-period{letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;font-size:11px;font-weight:600}.mo-screen .mo-report-title{margin-top:4px;font-size:19px;font-weight:700}.mo-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.mo-skill{color:#20242c;background:#fff;border:1px solid #0000000d;border-radius:12px;padding:14px}.mo-skill.is-high{color:#fff;background:#4cc47a;border-color:#0000}.mo-skill-name{font-size:12.5px;font-weight:600;line-height:1.35}.mo-dots{align-items:center;gap:4px;margin-top:8px;display:flex}.mo-dot{background:#0000001a;border-radius:50%;width:6px;height:6px}.mo-dot.is-on{background:#19c8b4}.is-high .mo-dot{background:#ffffff4d}.is-high .mo-dot.is-on{background:#fff}.mo-score{color:#8a90a0;margin-left:4px;font-size:11px;font-weight:700}.is-high .mo-score{color:#ffffffe6}.mo-agenda-scroll{margin-top:16px;overflow-x:auto}.mo-agenda{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-width:560px;display:grid}.mo-screen .mo-day{text-align:center;color:#5a6072;padding-bottom:8px;font-size:12px;font-weight:600}.mo-slots{flex-direction:column;gap:8px;display:flex}.mo-slot{color:#20242c;background:#fff;border:1px solid #0000000d;border-radius:8px;padding:10px}.mo-slot.is-break{color:#8a90a0;background:#0000000d;border-color:#0000}.mo-slot.is-hi{color:#0c3a34;background:#19c8b4;border-color:#0000}.mo-slot-title{font-size:11.5px;font-weight:600;line-height:1.25}.mo-screen .mo-slot-time{color:#8a90a0;margin-top:4px;font-size:10.5px}.mo-screen .is-hi .mo-slot-time{color:#0c3a34b3}@media (max-width:900px){.mo-wheel-tab{grid-template-columns:1fr}}@media (max-width:640px){.mosaico{margin-bottom:36px}.mo-device{border-radius:26px;margin-top:28px;padding:10px}.mo-screen{border-radius:18px}.mo-topbar{padding:12px 16px}.mo-sidebar{display:none}.mo-main{padding:16px}.mo-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}
