:root{--font-black-han-sans:"Black Han Sans",sans-serif;--font-jua:"Jua",sans-serif;--font-gaegu:"Gaegu",cursive,sans-serif;--bg-cream:#fff8e7;--primary-orange:#ff8c42;--primary-pink:#ff6b9d;--primary-blue:#4ecdc4;--primary-purple:#a78bfa;--primary-purple-deep:#6d28d9;--primary-yellow:#ffd93d;--primary-green:#6bcb77;--primary-green-deep:#2f7d46;--text-dark:#2d3436;--text-light:#636e72;--text-muted:#59636f;--surface-base:#fff;--surface-elevated:#fffffff2;--surface-muted:#f8fafc;--border-subtle:#e2e8f0;--danger-text:#b42336;--danger-surface:#c02645;--control-track:#6b7280;--badge-danger-start:#c92a42;--badge-danger-end:#a91732;--touch-target-min:44px;--screen-gutter:14px;--focus-ring-color:#35216d;--focus-ring-width:3px;--focus-ring-offset:3px;--shadow-small:0 2px 8px #0000000d;--shadow-medium:0 4px 16px #00000017;--shadow-large:0 20px 60px #0003;--card-shadow:var(--shadow-medium);--bounce:cubic-bezier(.68,-.55,.265,1.55)}html{scrollbar-width:none;-ms-overflow-style:none;height:100%;font-size:clamp(100%,1.5vw + 80%,130%);overflow:hidden}html::-webkit-scrollbar{display:none}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0}::-webkit-scrollbar{display:none}:where(button,a[href],input:not([type=hidden]):not([hidden]),select,textarea,summary,[role=button],[role=tab],[role=switch]){min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);touch-action:manipulation}:where(button,a[href],input:not([type=hidden]):not([hidden]),select,textarea,summary,[role=button],[role=tab],[role=switch]):focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}body{font-family:var(--font-jua),sans-serif;background:var(--bg-cream);color:var(--text-dark);-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;height:100dvh;display:flex;overflow:hidden}body::-webkit-scrollbar{display:none}.bg-decorations{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-circle{opacity:.15;border-radius:50%;position:absolute}.bg-circle:first-child{background:var(--primary-pink);width:300px;height:300px;top:-50px;right:-80px}.bg-circle:nth-child(2){background:var(--primary-blue);width:200px;height:200px;bottom:10%;left:-60px}.bg-circle:nth-child(3){background:var(--primary-yellow);width:250px;height:250px;top:40%;right:-100px}.bg-circle:nth-child(4){background:var(--primary-green);width:180px;height:180px;bottom:-40px;left:30%}.app-shell{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}html.app-fullscreen,html.app-fullscreen body{overscroll-behavior:none;height:100lvh;overflow:hidden}html.app-fullscreen .app-shell{z-index:9999;background:inherit;overscroll-behavior:none;width:100%;padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;inset:0}html.app-fullscreen .app-fullscreen-hide{display:none}.fullscreen-minimal-bar{z-index:30;width:100%;padding:calc(8px + env(safe-area-inset-top,0px))max(16px,env(safe-area-inset-right,0px))8px max(16px,env(safe-area-inset-left,0px));pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.fullscreen-minimal-bar>button{pointer-events:auto}.fullscreen-minimal-bar-without-back{justify-content:flex-end}.fullscreen-minimal-bar .fullscreen-minimal-back{justify-content:flex-start;min-width:108px}.fullscreen-minimal-back-icon{flex-shrink:0;width:24px;height:24px}.fullscreen-minimal-bar .fullscreen-minimal-exit{color:#6f4bd3;border-color:#6f4bd32e;justify-content:center;min-width:92px}.fullscreen-minimal-bar .fullscreen-label{display:inline}@media (max-width:600px){.fullscreen-minimal-bar{padding:calc(6px + env(safe-area-inset-top,0px))max(12px,env(safe-area-inset-right,0px))6px max(12px,env(safe-area-inset-left,0px))}.fullscreen-minimal-bar .fullscreen-minimal-back{width:auto;min-width:100px;padding-inline:12px;font-size:.9rem}.fullscreen-minimal-bar .fullscreen-minimal-exit{width:auto;min-width:82px;padding-inline:12px}}.global-top-shell{z-index:20;background:color-mix(in srgb,var(--surface-base)82%,transparent);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #6f4bd31a;flex:none;width:100%;position:relative;box-shadow:0 4px 16px #4834740f}.top-bar{z-index:20;background:0 0;flex-shrink:0;align-items:center;gap:12px;min-height:64px;padding:8px 16px;display:flex;position:relative}.whitenoise-main-area{--whitenoise-shell-width:1080px}.whitenoise-main-area .top-bar{width:100%;max-width:none;margin-inline:0}.section-state{text-align:center;width:min(100%,680px);min-height:clamp(220px,42vh,420px);color:var(--text-dark);background:color-mix(in srgb,var(--surface-base)90%,transparent);box-shadow:var(--card-shadow);border:2px solid #6f4bd31f;border-radius:clamp(18px,4vw,28px);flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:auto;padding:clamp(24px,6vw,48px);display:flex}.section-state-compact{min-height:150px;box-shadow:none;padding:20px}.section-state-icon{width:1.9em;height:1.9em;color:var(--primary-purple-deep);background:color-mix(in srgb,var(--primary-purple)16%,transparent);border-radius:999px;place-items:center;font-size:clamp(1.4rem,3vw,1.75rem);line-height:1;display:grid}.section-state-error .section-state-icon{color:var(--danger-text);background:color-mix(in srgb,var(--danger-text)12%,transparent)}.section-state-empty .section-state-icon{color:var(--primary-green-deep);background:color-mix(in srgb,var(--primary-green)20%,transparent)}.section-state-disabled .section-state-icon{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted)14%,transparent)}.section-state-title{font-family:var(--font-jua),sans-serif;font-size:clamp(1.15rem,3vw,1.5rem)}.section-state-message{max-width:42rem;color:var(--text-muted);word-break:keep-all;font-size:clamp(.95rem,2.4vw,1.1rem);line-height:1.55}.section-state-error{border-color:color-mix(in srgb,var(--danger-text)28%,transparent);background:color-mix(in srgb,var(--danger-text)4%,var(--surface-base))}.section-state-disabled{background:color-mix(in srgb,var(--primary-purple)5%,var(--surface-base))}.section-state-action{min-height:var(--touch-target-min);background:var(--primary-purple);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:10px 20px}.section-state-action:disabled{cursor:wait;opacity:.68}@media (min-width:1401px){.whitenoise-main-area{--whitenoise-shell-width:1320px}.whitenoise-main-area .top-bar{padding-inline:max(20px,calc((100% - var(--whitenoise-shell-width))/2));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.whitenoise-main-area .top-bar-title{grid-column:2}.whitenoise-main-area .header-auth{grid-column:3;justify-self:end;margin-left:0}}.top-bar-back-btn{background:color-mix(in srgb,var(--surface-base)90%,transparent);min-width:68px;min-height:48px;box-shadow:var(--shadow-small);color:#6f4bd3;font-family:var(--font-jua),sans-serif;white-space:nowrap;cursor:pointer;border:1.5px solid #6f4bd32e;border-radius:16px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 13px;font-size:.95rem;line-height:1;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.top-bar-back-btn:hover{background:var(--surface-base);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.top-bar-back-btn:active{transform:scale(.97)}.top-bar-back-btn:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.top-bar-back-icon-chip{background:color-mix(in srgb,var(--primary-purple)20%,var(--surface-base));border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.top-bar-back-icon{flex:none;width:22px;height:22px}@media (max-width:600px){.top-bar-back-btn{border-radius:14px;width:48px;min-width:48px;padding:0;font-size:1.15rem}.top-bar-back-icon-chip{width:34px;height:34px}.top-bar-back-icon{width:25px;height:25px}.top-bar-back-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.top-bar-title{flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;padding:4px 12px;display:flex;overflow:hidden}.top-bar-title-inner{justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex;overflow:hidden}.top-bar-title-inner>h1{color:#2d3436;font-family:var(--font-jua),sans-serif;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;margin:0;font-size:clamp(1rem,2vw,1.25rem);font-weight:400;line-height:1.2;overflow:hidden}.home-icon.top-bar-title-icon{flex-shrink:0;width:clamp(24px,3vw,30px);height:clamp(24px,3vw,30px)}.content{--content-pad:24px;z-index:10;width:100%;max-width:100%;padding:0 max(var(--content-pad),env(safe-area-inset-right,0px))calc(80px + env(safe-area-inset-bottom,0px))max(var(--content-pad),env(safe-area-inset-left,0px));overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden auto}.content::-webkit-scrollbar{display:none}@media (max-width:699px){:root{--screen-gutter:10px}}html.app-fullscreen .content{padding-top:calc(60px + env(safe-area-inset-top,0px))}@media (max-width:600px){html.app-fullscreen .content{padding-top:calc(56px + env(safe-area-inset-top,0px))}}.section{flex-direction:column;flex:none;animation:.5s fadeInUp;display:flex;overflow-x:clip}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.section{opacity:1;transform:none;animation:none!important}.quiz-option.correct,.quiz-option.wrong,.ms-option-correct,.ms-option-wrong,.ms-feedback-correct,.ms-feedback-wrong,.quiz-feedback,.feedback-toast,.trophy-complete,.celebration-modal{opacity:1!important;transition:none!important;animation:none!important}}
.ui-skeleton,.home-skeleton{background:var(--surface-muted);display:block;position:relative;overflow:hidden}.ui-skeleton{border-radius:12px}.ui-skeleton:after,.home-skeleton:after{content:"";background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--surface-base)74%,transparent)50%,transparent 80%);animation:1.35s ease-in-out infinite contentSkeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes contentSkeletonShimmer{to{transform:translate(100%)}}.content-skeleton{flex-shrink:0;width:100%;min-width:0;max-width:1200px;margin:0 auto;padding:24px 0}.skeleton-content{pointer-events:none;width:100%;min-width:0}.skeleton-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.skeleton-heading>div{gap:12px;width:min(65%,440px);min-width:0;display:grid}.skeleton-eyebrow{width:48%;height:14px}.skeleton-title{width:70%;height:26px}.skeleton-line{width:90%;height:16px}.skeleton-action{border-radius:14px;width:130px;max-width:30%;height:44px}.skeleton-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.skeleton-panel{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:24px;min-width:0;padding:24px}.skeleton-item{flex-direction:column;align-items:center;gap:20px;display:flex}.skeleton-art{border-radius:18px;width:100%;height:130px}.skeleton-item-copy{gap:12px;width:100%;min-width:0;display:grid}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:64px;height:64px}.skeleton-list{gap:12px;display:grid}.skeleton-list .skeleton-item{flex-direction:row}.content-skeleton-list .skeleton-item-copy{max-width:640px}.content-skeleton-profile .skeleton-item-copy>span{margin-inline:auto}.content-skeleton-profile .skeleton-title{width:55%}.content-skeleton-compact{padding:12px 0}.content-skeleton-compact .skeleton-panel{border-radius:18px;padding:18px}.content-skeleton-compact .skeleton-art{height:86px}.content-skeleton-compact .skeleton-heading{margin-bottom:16px}.skeleton-quiz{justify-items:center;gap:24px;width:min(100%,760px);margin-inline:auto;display:grid}.skeleton-quiz>.skeleton-art{width:min(70%,280px);height:clamp(130px,22vh,220px)}.skeleton-progress{border-radius:999px;width:100%;height:10px}.skeleton-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.skeleton-answer{height:70px}.content-skeleton-album{max-width:1120px;padding:0}.skeleton-month{align-items:center;gap:16px;margin:30px 0 20px;display:flex}.skeleton-month .skeleton-title{width:140px}.skeleton-circle{border-radius:50%;width:44px;height:44px}.skeleton-album-layout{grid-template-columns:minmax(0,1fr) 288px;align-items:start;gap:24px;display:grid}.skeleton-summary{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.skeleton-summary .skeleton-title{width:28%}.skeleton-summary .skeleton-line{width:40%}.skeleton-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;gap:8px;margin-bottom:8px;display:grid}.skeleton-weekday{width:20px;height:13px}.skeleton-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.skeleton-date{border-radius:16px;height:88px}.skeleton-album-detail{gap:24px;display:grid}.skeleton-album-detail .skeleton-art{height:190px}.content-skeleton-profile.content-skeleton-compact .skeleton-card-grid{grid-template-columns:minmax(0,1fr)}.content-skeleton-profile.content-skeleton-compact .skeleton-item{flex-direction:row}.content-skeleton-profile.content-skeleton-compact .skeleton-item-copy>span{margin-inline:0}@media (max-width:900px){.skeleton-album-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.skeleton-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skeleton-panel{border-radius:20px;padding:18px}.skeleton-art{height:105px}}@media (max-width:600px){.content-skeleton{padding-top:16px}.content-skeleton-album{padding:0}.skeleton-heading{gap:12px}.skeleton-title{height:22px}.skeleton-weekday-row,.skeleton-date-grid{gap:4px}.skeleton-date{border-radius:12px;height:60px}.skeleton-album-layout>.skeleton-panel{padding:16px 8px}.skeleton-summary{flex-direction:column;align-items:flex-start;gap:12px;min-height:60px;margin-bottom:20px}.skeleton-summary .skeleton-title{width:45%}.skeleton-summary .skeleton-line{width:70%}.skeleton-answer-grid{gap:12px}.skeleton-answer{height:60px}}@media (prefers-reduced-motion:reduce){.ui-skeleton:after,.home-skeleton:after{animation:none;display:none}}
.header{flex-shrink:0;align-items:center;margin:0;padding:0;display:inline-flex}.logo-container{-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;height:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#ffffffbf;border:1.5px solid #ffffffe6;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 2px 10px #0000000d,inset 0 1px 1px #fffc}.logo-container:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.logo-container:hover{box-shadow:var(--shadow-medium);background:var(--surface-elevated);border-color:#fff;transform:translateY(-2px)}.logo-container:active{transform:scale(.97)}.logo-badge{background:linear-gradient(135deg,#c2185b 0%,#ad1535 50%,#6a1b9a 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;animation:3s ease-in-out infinite badgePulse;display:flex;position:relative;box-shadow:0 2px 6px #ff2a6d4d,inset 0 1px 2px #fff9}@keyframes badgePulse{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)scale(1.04)}75%{transform:rotate(4deg)scale(1.04)}}.logo-badge-text{font-family:var(--font-jua),sans-serif;color:#fff;text-shadow:0 1px 2px #0003;font-size:14px;font-weight:700;line-height:1}.logo-badge-sparkle{filter:drop-shadow(0 0 2px #ffe600e6);font-size:9px;animation:2s ease-in-out infinite sparkleTwinkle;position:absolute;top:-4px;right:-4px}@keyframes sparkleTwinkle{0%,to{opacity:.85;transform:scale(.9)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(15deg)}}.logo-brand{align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.logo-text{font-family:var(--font-jua),sans-serif;letter-spacing:-.3px;background:linear-gradient(135deg,#c2410c 0%,#be123c 55%,#a21caf 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 2px #ff5e361f);-webkit-background-clip:text;background-clip:text;font-size:1.15rem;line-height:1}.logo-sparkle{transform-origin:bottom;font-size:.95rem;animation:2.5s ease-in-out infinite musicBob;display:inline-block}@keyframes musicBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(10deg)}}@media (max-width:820px){.top-bar .top-bar-title{padding-inline:6px}}@media (max-width:360px){.logo-container{min-height:var(--touch-target-min);height:var(--touch-target-min);gap:2px;padding:0 3px}.logo-text{font-size:1rem}.logo-badge{border-radius:6px;width:22px;height:22px}.logo-badge-text{font-size:12px}.logo-container .logo-generated-music{width:14px;height:14px;display:inline-block}.top-bar .top-bar-title{padding-inline:2px}.top-bar-title-inner{gap:4px}.top-bar-title-inner>h1{font-size:.9rem}.home-icon.top-bar-title-icon{width:20px;height:20px}}.app-header{width:100%;min-height:64px;padding:calc(8px + env(safe-area-inset-top,0px))max(12px,env(safe-area-inset-right,0px))8px max(12px,env(safe-area-inset-left,0px));gap:8px}.app-header-leading,.app-header-actions{flex:none;align-items:center;gap:8px;display:flex}.app-header-home{justify-content:space-between}.app-header:not(.app-header-home) .header{display:none}.app-header:not(.app-header-home){grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr);display:grid}.app-header:not(.app-header-home) .app-header-actions{justify-self:end}.app-header .app-header-actions{margin-left:0;right:auto}.app-header .logo-container,.app-header .top-bar-back-btn,.profile-menu-trigger{min-width:48px;height:48px;min-height:48px}.profile-menu-trigger{border:1px solid color-mix(in srgb,var(--primary-purple)24%,var(--border-subtle));background:var(--surface-base);color:#4f378f;width:48px;box-shadow:var(--shadow-small);cursor:pointer;touch-action:manipulation;border-radius:999px;flex:0 0 48px;place-items:center;padding:0;display:inline-grid;overflow:hidden}.profile-menu-trigger>svg{width:25px;height:25px}.profile-trigger-avatar,.profile-trigger-fallback{object-fit:cover;border-radius:999px;width:40px;height:40px}.profile-trigger-fallback{background:var(--surface-muted);place-items:center;display:grid}.profile-menu-trigger:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.profile-menu-trigger:active{transform:scale(.96)}.app-header .top-bar-title-icon{width:40px;height:40px}.dynamic-sound-header-visual{flex:0 0 32px;place-items:center;display:grid}.dynamic-sound-header-visual .sound-svg-icon{width:100%;height:100%}@media (max-width:700px){.app-header,.app-header-leading,.app-header-actions{gap:6px}.app-header .top-bar-title{padding-inline:2px}}@media (max-width:360px){.app-header{padding-inline:max(6px,env(safe-area-inset-left,0px))}.app-header:not(.app-header-home) .top-bar-title-icon{display:none}.app-header:not(.app-header-home) .top-bar-title-inner>h1{font-size:.875rem}}
.primary-tab-bar{z-index:40;width:100%;padding:6px max(8px,env(safe-area-inset-right,0px))calc(6px + env(safe-area-inset-bottom,0px))max(8px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--surface-base)94%,transparent);-webkit-backdrop-filter:blur(18px);border-top:1px solid #6f4bd31f;flex:none;position:relative;box-shadow:0 -5px 18px #48347412}.primary-tab-bar-inner{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100%,720px);margin-inline:auto;display:grid}.primary-tab-link{min-width:0;min-height:56px;color:var(--text-muted);font-family:var(--font-jua),sans-serif;text-align:center;touch-action:manipulation;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:clamp(.8125rem,2.6vw,.95rem);line-height:1.1;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:flex}.primary-tab-link .navigation-visual{width:28px;height:28px}.primary-tab-link.is-current{border-color:color-mix(in srgb,var(--primary-purple)20%,transparent);background:color-mix(in srgb,var(--primary-purple)10%,var(--surface-base));color:#4f378f}.primary-tab-link:active{transform:scale(.97)}.primary-tab-link:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}@media (min-width:768px){.primary-tab-bar{padding-top:8px}.primary-tab-link{min-height:64px;font-size:1rem}.primary-tab-link .navigation-visual{width:32px;height:32px}}@media (hover:hover) and (pointer:fine){.primary-tab-link:hover{border-color:color-mix(in srgb,var(--primary-purple)18%,transparent);background:color-mix(in srgb,var(--primary-purple)7%,var(--surface-base));color:#4f378f}}@media (orientation:landscape) and (max-height:520px){.primary-tab-bar{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.primary-tab-link{flex-direction:row;gap:5px;min-height:48px}.primary-tab-link .navigation-visual{width:24px;height:24px}}
.sidebar-backdrop{-webkit-backdrop-filter:blur(5px);z-index:90;opacity:0;pointer-events:none;background:#00000073;border:0;padding:0;transition:opacity .25s;position:fixed;inset:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.sidebar{-webkit-backdrop-filter:blur(24px);border-right:2px solid var(--surface-elevated);z-index:100;background:#fffffffa;border-radius:0 24px 24px 0;flex-direction:column;width:360px;max-width:90vw;transition:transform .3s cubic-bezier(.34,1.3,.64,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:8px 0 36px #00000029}.sidebar.open{transform:translate(0)}.sidebar-header{background:#ffffffd9;border:1.5px solid #0000000d;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;margin:8px 12px 4px;padding:8px 10px;display:flex;box-shadow:0 2px 8px #00000008}.sidebar-logo{-webkit-user-select:none;user-select:none;cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:8px;margin:-4px -6px;padding:4px 6px;text-decoration:none;transition:transform .2s,background .2s;display:flex}.sidebar-logo:hover{background:#0000000a}.sidebar-logo:active{transform:scale(.96)}.sidebar-logo:focus-visible,.sidebar-close:focus-visible,.sidebar-home-btn:focus-visible,.study-chip:focus-visible,.category-tab-btn:focus-visible,.sidebar-card:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.sidebar-close{width:var(--touch-target-min);height:var(--touch-target-min);color:var(--text-dark,#2d3436);cursor:pointer;background:#0000000f;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.sidebar-close:hover{color:var(--danger-text);background:#ff475726;transform:rotate(90deg)scale(1.1)}.sidebar-close:active{transform:rotate(90deg)scale(.9)}.sidebar-top-actions{border-bottom:1px solid #0000000d;flex-direction:column;gap:8px;padding:4px 12px 10px;display:flex}.sidebar-home-btn{border:1.5px solid var(--border-subtle);background:var(--surface-base);min-height:52px;color:var(--text-dark);box-shadow:var(--shadow-small);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;gap:12px;width:100%;padding:8px 12px;text-decoration:none;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.sidebar-home-btn:hover{border-color:color-mix(in srgb,var(--primary-purple)45%,var(--border-subtle));background:var(--surface-muted);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.sidebar-home-btn:active{transform:scale(.97)}.sidebar-home-btn.active{border-color:var(--primary-purple);background:color-mix(in srgb,var(--primary-purple)10%,var(--surface-base));box-shadow:var(--shadow-small)}.home-icon.home-btn-icon{width:28px;height:28px}.home-btn-text{flex-direction:column;flex:1;min-width:0;display:flex}.home-btn-title{font-family:var(--font-jua),sans-serif;font-size:1rem;font-weight:700;line-height:1.2}.sidebar-study-room{background:linear-gradient(135deg,#f0f4ffe6,#f8f0ffe6);border:1.5px solid #d2dcffcc;border-radius:16px;flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.study-room-header{font-family:var(--font-jua),sans-serif;color:#4b5563;align-items:center;gap:4px;padding-left:2px;font-size:.82rem;display:flex}.home-icon.study-room-icon{width:18px;height:18px}.study-room-title{font-weight:700}.study-room-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.study-chip{min-height:var(--touch-target-min);border:1.5px solid var(--sidebar-card-border,transparent);background:var(--sidebar-card-background,var(--surface-base));cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 1px 4px #0000000a}.study-chip:hover{transform:translateY(-2px);box-shadow:0 3px 8px #00000014}.study-chip:active{transform:scale(.95)}.home-icon.study-chip-icon{width:24px;height:24px}.study-chip-label{font-family:var(--font-jua),sans-serif;color:#374151;font-size:.8125rem}.study-chip.active{color:#fff;background:linear-gradient(135deg,#6d28d9,#5b21b6);border-color:#0000;box-shadow:0 3px 10px #8b5cf666}.study-chip.active .study-chip-label{color:#fff;font-weight:700}.sidebar-category-tabs{border:1px solid var(--border-subtle);background:var(--surface-muted);scrollbar-width:none;border-radius:16px;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:4px;margin:0 12px 8px;padding:4px;display:grid;overflow-x:hidden}.sidebar-category-tabs::-webkit-scrollbar{display:none}.category-tab-btn{min-width:0;min-height:var(--touch-target-min);color:#4b5563;font-family:var(--font-jua),sans-serif;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-size:.84rem;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.category-tab-btn:hover{background:color-mix(in srgb,var(--surface-base)70%,transparent)}.category-tab-btn:active{transform:scale(.95)}.category-tab-btn.active{background:var(--surface-base);color:#5f42b8;box-shadow:var(--shadow-small);font-weight:700}.home-icon.category-tab-icon{width:20px;height:20px}.category-tab-label{font-size:inherit}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#00000026 transparent;flex-direction:column;flex:1;gap:0;padding:0 12px 48px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px;display:block}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.sidebar-group{flex-direction:column;gap:0;display:flex}.sidebar-cards-grid{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.sidebar-card{border:1px solid var(--border-subtle);border-left:4px solid var(--sidebar-card-accent,var(--border-subtle));background:var(--surface-base);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;min-height:56px;box-shadow:none;color:inherit;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;text-decoration:none;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.sidebar-card:hover{background:var(--surface-muted);box-shadow:var(--shadow-small);transform:translateY(-1px)}.sidebar-card:active{transform:scale(.95)}.sidebar-card-icon{background:var(--surface-muted);width:40px;height:40px;box-shadow:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.45rem;display:flex}.home-icon.sidebar-navigation-icon{filter:drop-shadow(0 2px 4px #1f29371f);width:30px;height:30px}.sidebar-card-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-card-title{font-family:var(--font-jua),sans-serif;color:#1f2937;white-space:normal;font-size:.95rem;font-weight:700;line-height:1.25}.sidebar-card-meta{flex:none;align-items:center;gap:5px;display:inline-flex}.sidebar-card-badge{font-family:var(--font-jua),sans-serif;background:var(--surface-muted);height:26px;color:var(--text-muted);box-shadow:none;pointer-events:none;z-index:2;border-radius:999px;align-items:center;padding:0 8px;font-size:.8125rem;font-weight:700;display:inline-flex;position:static}.sidebar-card.active{border-color:color-mix(in srgb,var(--primary-purple)55%,var(--border-subtle));border-left-color:var(--primary-purple);background:color-mix(in srgb,var(--primary-purple)10%,var(--surface-base));box-shadow:var(--shadow-small)}.sidebar-card.active .sidebar-card-title{color:#4f378f}.sidebar-card.active .sidebar-card-icon{background:var(--surface-base)}.sidebar-card-current{color:#4f378f;font-family:var(--font-jua),sans-serif;font-size:.8125rem}@media (max-width:480px){.sidebar{width:min(340px,94vw)}.sidebar-cards-grid{grid-template-columns:minmax(0,1fr);gap:6px}.sidebar-category-tabs{gap:3px;padding-inline:8px}.category-tab-btn{gap:3px;padding-inline:4px;font-size:.8rem}.home-icon.category-tab-icon{width:16px;height:16px}.sidebar-card{gap:6px;min-height:54px;padding:7px 9px}.sidebar-card-icon{width:32px;height:32px;font-size:1.3rem}.home-icon.sidebar-navigation-icon{width:27px;height:27px}.sidebar-card-title{font-size:.86rem}}@media (max-width:360px){.sidebar-category-tabs{padding-inline:4px}.category-tab-btn{gap:2px;padding-inline:2px;font-size:.75rem}.home-icon.category-tab-icon{width:14px;height:14px}}
.home-container{flex-direction:column;gap:20px;max-width:1160px;margin:0 auto;padding:16px 12px 48px;display:flex}.home-icon{background-color:#0000;flex:none;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}.home-icon-image{object-fit:contain;display:block}.navigation-icon-fallback{background:linear-gradient(145deg,var(--surface-muted),var(--border-subtle));color:#94a3b8;border:1px solid #64748b38;border-radius:30%;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 2px 5px #4755691f}.navigation-icon-fallback:before{content:"";border:2px solid;border-radius:50%;width:38%;height:38%}.system-icon{flex:none;width:1em;height:1em;display:inline-block}.logo-generated-music{filter:drop-shadow(0 3px 5px #43382d2e);width:30px;height:30px}.generated-voice-icon{width:27px;height:27px}.generated-panel-mark{width:34px;height:34px}.home-hero-card{animation:heroIn .6s var(--bounce)both;background:radial-gradient(circle at 8% 16%,#ffd2783d,#0000 30%),linear-gradient(135deg,#fffffffa,#fff8ecfa);border:2px solid #ffe3ec;border-radius:24px;flex-direction:column;gap:16px;padding:clamp(22px,4vw,38px);display:flex}@keyframes heroIn{0%{opacity:0;transform:translateY(-16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.home-hero-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.home-hero-profile{align-items:center;gap:15px;display:flex}.home-hero-avatar-wrap{flex-shrink:0;width:68px;height:68px;position:relative}.home-hero-avatar-img{object-fit:cover;border:3px solid #ff2a6d;border-radius:50%;width:100%;height:100%;box-shadow:0 4px 12px #ff2a6d33}.home-hero-avatar-emoji{background:#fff0f5;border:3px solid #ff2a6d;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.2rem;display:flex;box-shadow:0 4px 12px #ff2a6d26}.home-hero-level-badge{color:#fff;background-color:var(--home-level-color);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.85rem;animation:1.5s ease-in-out infinite alternate badgePop;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #00000026}@keyframes badgePop{0%{transform:scale(1)}to{transform:scale(1.12)}}.home-hero-text{flex-direction:column;gap:5px;display:flex}.home-hero-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.home-hero-name{font-family:var(--font-jua),sans-serif;color:#222;letter-spacing:-.5px;font-size:clamp(1.45rem,3vw,1.85rem)}.home-hero-age{color:#da741e;background:#fff1df;border-radius:12px;padding:3px 9px;font-size:.9rem;font-weight:700}.home-hero-title-tag{font-family:var(--font-jua),sans-serif;border:1.5px solid var(--home-level-color);background:color-mix(in srgb,var(--surface-base)82%,transparent);color:var(--home-level-color);border-radius:14px;padding:2px 10px;font-size:.82rem}.home-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,570px);margin-top:24px;display:grid}.home-stat-chip{background:var(--surface-base);cursor:pointer;min-height:78px;transition:all .25s var(--bounce);box-shadow:var(--shadow-small);border:1px solid;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 8px;display:flex}.home-stat-chip:hover{box-shadow:var(--shadow-medium);transform:translateY(-3px)scale(1.03)}.home-stat-chip .stat-icon{font-size:1.2rem}.home-stat-chip .stat-label{font-family:var(--font-jua),sans-serif;color:#555;justify-content:center;align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.home-stat-chip .stat-value{font-family:var(--font-jua),sans-serif;font-size:1.3rem;font-weight:700;line-height:1}.home-hero-loading{min-height:390px}.home-hero-loading-text{width:min(100%,440px)}.home-skeleton-avatar{border-radius:50%;flex:0 0 68px;width:68px;height:68px}.home-skeleton-kicker{border-radius:999px;width:124px;height:14px}.home-skeleton-name{border-radius:10px;width:min(72%,270px);height:30px;margin-top:6px}.home-skeleton-title{border-radius:10px;width:min(92%,430px);height:28px;margin-top:8px}.home-hero-loading-stats{pointer-events:none}.home-skeleton-stat{border-radius:18px;min-height:78px}.home-quick-actions-loading{pointer-events:none}.home-skeleton-action{border-radius:15px;min-height:48px}.chip-learning{background:#f0f7ff;border-color:#74b9ff}.chip-learning .stat-value{color:#0984e3}.chip-mastered{background:#f0fdf9;border-color:#55efc4}.chip-mastered .stat-value{color:#00b894}.chip-trophy{background:#fffdf2;border-color:#ffeaa7}.chip-trophy .stat-value{color:#d63031}.home-quick-actions{border-top:1px dashed #dda97247;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:24px;padding-top:18px;display:grid}.quick-btn{border:1px solid var(--quick-action-border,#dfb9958f);background:var(--quick-action-background,var(--surface-base));color:#444;min-height:48px;font-family:var(--font-jua),sans-serif;cursor:pointer;transition:all .2s var(--bounce);box-shadow:var(--shadow-small);border-radius:15px;justify-content:center;align-items:center;gap:6px;padding:9px 8px;font-size:.92rem;text-decoration:none;display:flex}.quick-btn:hover{color:#d96833;box-shadow:var(--shadow-medium);background:#fff8f1;border-color:#ff9a63;transform:translateY(-2px)}.quick-emoji{font-size:1.1rem}.section-header-compact{flex-wrap:wrap;align-items:center;gap:8px;padding-left:2px;display:flex}.section-header-emoji{font-size:1.5rem}.section-header-title{font-family:var(--font-jua),sans-serif;color:#2d3436;letter-spacing:-.5px;margin:0;font-size:clamp(1.2rem,3.2vw,1.45rem)}.section-header-subtitle{font-family:var(--font-gaegu),cursive;color:#888;font-size:1rem}.home-groups{flex-direction:column;gap:24px;margin-top:6px;display:flex}.home-group{animation:homeGroupIn .5s var(--bounce)both;animation-delay:var(--home-group-delay,0s)}@keyframes homeGroupIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.home-group-header{align-items:center;gap:8px;margin-bottom:12px;padding-left:4px;display:flex}.home-group-emoji{font-size:1.5rem}.home-group-title{font-size:clamp(1.15rem,3vw,1.45rem);font-family:var(--font-jua),sans-serif;letter-spacing:-.5px;color:var(--home-group-color,var(--text-dark));margin:0}.home-group-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.home-card{appearance:none;background:var(--home-card-background,var(--surface-base));text-align:center;width:100%;box-shadow:var(--shadow-small);cursor:pointer;transition:all .3s var(--bounce);border:1px solid var(--home-card-border,transparent);animation:homeCardIn .5s var(--bounce)both;animation-delay:var(--home-card-delay,0s);color:inherit;font:inherit;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:20px 12px 16px;display:flex;position:relative;overflow:hidden}.home-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-6px)scale(1.03)}.home-card:hover .home-card-generated-icon{animation:homeEmojiPop .5s var(--bounce)}.home-card-badge{font-family:var(--font-jua),sans-serif;background:var(--surface-base);color:#333;z-index:1;border:1px solid #0000000f;border-radius:10px;align-items:center;height:26px;padding:0 8px;font-size:.8125rem;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #00000014}@keyframes homeCardIn{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes homeEmojiPop{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.35)rotate(-10deg)}60%{transform:scale(.9)rotate(5deg)}to{transform:scale(1)rotate(0)}}.home-card-visual{justify-content:center;align-items:center;min-width:0;height:clamp(56px,8vh,76px);margin-bottom:8px;display:flex;overflow:hidden}.home-card-generated-icon{filter:drop-shadow(0 4px 10px #0000001f);width:clamp(58px,8vh,76px);height:clamp(58px,8vh,76px);animation:2.5s ease-in-out infinite wiggle;display:block}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.home-card-title{color:#333;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 4px;font-size:clamp(1rem,2.8vw,1.3rem);display:block}.home-card p{font-family:var(--font-gaegu),cursive;color:var(--text-light);margin:0;font-size:clamp(.8rem,2vw,.98rem)}@media (min-width:1024px){.home-card{padding:24px 16px}.home-card-generated-icon{width:76px;height:76px}.home-card-title{font-size:1.4rem}.home-card p{font-size:1.1rem}.home-group-title{font-size:1.6rem}}.home-hero-card{box-shadow:var(--shadow-medium);border:1px solid #e8b47357;border-radius:30px;position:relative;overflow:hidden}.home-hero-main{grid-template-columns:minmax(0,1fr) minmax(270px,370px);grid-template-areas:"copy art";align-items:stretch;gap:clamp(24px,5vw,56px);display:grid}.home-hero-copy{flex-direction:column;grid-area:copy;justify-content:center;min-width:0;display:flex}.home-hero-kicker{color:#e47623;font-family:var(--font-jua),sans-serif;letter-spacing:.02em;margin:0;font-size:.88rem}.home-hero-text h2{color:#2d3436;max-width:480px;font-family:var(--font-jua),sans-serif;letter-spacing:-.025em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;margin:8px 0 0;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:400;line-height:1.35}.home-hero-art{background:#faecd7;border:1px solid #fffffff0;border-radius:24px;grid-area:art;min-height:238px;overflow:hidden;box-shadow:inset 0 0 0 1px #b889451f,0 12px 24px #83613321}.home-hero-art img{object-fit:cover;object-position:72% 50%;width:100%;height:100%;display:block;transform:scale(1.01)}.home-level-icon,.home-stat-icon{width:22px;height:22px}.quick-icon.navigation-visual{--navigation-visual-size:28px;filter:drop-shadow(0 3px 4px #43382d24)}.section-header-icon,.home-group-icon{filter:drop-shadow(0 4px 6px #43382d29);width:38px;height:38px}.home-card:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}a.home-card,a.adventure-card,a.guest-action-btn,a.home-stat-chip{text-decoration:none}a.home-stat-chip{color:var(--text-dark)}@media (max-width:899px){.home-hero-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"art""copy"}.home-hero-art{min-height:210px}.home-hero-art img{object-position:68% 50%}.home-hero-stats{width:100%}}@media (max-width:600px){.home-container{gap:20px;padding:12px 0 36px}.home-hero-card{border-radius:24px;padding:17px}.home-hero-main{gap:17px}.home-hero-art{border-radius:19px;min-height:166px}.home-hero-profile{gap:11px}.home-hero-avatar-wrap{width:58px;height:58px}.home-hero-loading{min-height:540px}.home-skeleton-avatar{flex-basis:58px;width:58px;height:58px}.home-skeleton-stat{border-radius:14px;min-height:70px}.home-skeleton-action{min-height:46px}.home-hero-name{font-size:1.35rem}.home-hero-text h2{margin-top:6px;font-size:1.2rem}.home-hero-stats{gap:6px;margin-top:18px}.home-stat-chip{border-radius:14px;min-height:70px;padding:7px 4px}.home-stat-chip .stat-label{font-size:.7rem}.home-stat-chip .stat-value{font-size:1.12rem}.home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:18px;padding-top:14px}.quick-btn{min-height:46px;font-size:.84rem}.home-group-cards{gap:10px}.home-card{border-radius:18px;padding:16px 8px 13px}}@media (prefers-reduced-motion:reduce){.home-hero-card,.home-card,.home-group,.home-skeleton:after{animation:none}}.home-guest-banner{border:1px solid var(--border-subtle);background:var(--surface-elevated);box-shadow:var(--shadow-medium);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(96px,28%);grid-template-areas:"copy art""actions actions";align-items:center;gap:12px;padding:16px;display:grid}.guest-banner-copy{grid-area:copy;min-width:0}.guest-banner-text h2{color:var(--text-dark);font-family:var(--font-jua),sans-serif;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 8px;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:400;line-height:1.25}.guest-banner-text p{color:var(--text-light);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:max(16px,.9rem);line-height:1.4}.home-guest-banner .guest-hero-art{border-radius:18px;min-width:0;height:112px;min-height:0}.guest-banner-actions{flex-wrap:wrap;grid-area:actions;gap:8px;display:flex}.guest-action-btn{border:1px solid var(--border-subtle);min-width:0;min-height:48px;font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:max(16px,.9rem);line-height:1.3;display:inline-flex}.guest-action-btn>span:not(.navigation-visual){word-break:keep-all;overflow-wrap:anywhere}.guest-action-btn.primary{color:var(--surface-base);background:var(--focus-ring-color);border-color:var(--focus-ring-color);flex:1 0 auto}.guest-action-btn.secondary{color:var(--text-dark);background:var(--surface-base);flex:none}.guest-action-btn:hover{box-shadow:var(--shadow-medium)}.guest-action-btn:active{transform:translateY(1px)}.guest-action-icon.navigation-visual{--navigation-visual-size:28px;flex:0 0 28px}.guest-action-icon.system-icon{width:20px;height:20px}.home-adventure-section{gap:10px;display:grid}.home-adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.adventure-card{border:1px solid var(--border-subtle);background:var(--surface-elevated);min-width:0;min-height:88px;color:var(--text-dark);box-shadow:var(--shadow-small);font:inherit;text-align:left;cursor:pointer;border-radius:18px;align-items:center;gap:8px;padding:12px 10px;display:flex}.adventure-visual{flex:0 0 36px;width:36px;height:36px}.adventure-visual>.adventure-card-icon{--navigation-visual-size:100%;width:100%;height:100%}.adventure-body{flex:1;min-width:0}.adventure-title,.adventure-description{word-break:keep-all;overflow-wrap:anywhere;display:block}.adventure-title{margin-top:3px;font-size:max(16px,.95rem);line-height:1.25}.adventure-description{color:var(--text-muted);font-size:max(13px,.72rem);line-height:1.3}.adventure-action-tag{color:var(--text-muted);flex:none;font-size:1.25rem}.adventure-card:hover{border-color:var(--primary-purple);box-shadow:var(--shadow-medium)}.adventure-card:active{transform:translateY(1px)}.guest-action-btn:focus-visible,.adventure-card:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (min-width:640px){.home-guest-banner{grid-template-columns:minmax(0,1fr) minmax(180px,28%);grid-template-areas:"copy art""actions art";gap:12px 24px;padding:20px 24px}.home-guest-banner .guest-hero-art{height:156px}.guest-action-btn.primary{flex:0 auto}.adventure-card{gap:12px;min-height:92px;padding:14px 18px}.adventure-visual{flex-basis:48px;width:48px;height:48px}}@media (max-width:360px){.guest-action-btn.primary,.guest-action-btn.secondary{flex:1 0 100%}.adventure-action-tag{display:none}}
.learn-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;gap:14px;width:100%;min-width:0;margin-top:14px;display:grid}.hangul-grid,.hangul-grid-consonants{grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;width:100%;max-width:1020px;margin:16px auto 0;display:grid}.hangul-grid-vowels{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:100%;max-width:820px;margin:16px auto 0;display:grid}.hangul-grid-alphabet{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;width:100%;max-width:1020px;margin:16px auto 0;display:grid}.learn-card{text-align:center;cursor:default;-webkit-user-select:none;user-select:none;box-sizing:border-box;aspect-ratio:1/1.1;width:100%;min-width:0;max-width:250px;transition:transform .2s var(--bounce),box-shadow .2s ease,border-color .2s ease;animation:cardPopIn .45s var(--bounce)both;background:linear-gradient(#fff 0%,#faf8f5 100%);border:2px solid #fff;border-radius:24px;flex-direction:column;justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;padding:14px 10px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px #e8e2d5,0 10px 20px #0000000d}.word-card-main{width:100%;min-width:0;min-height:0;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1;align-items:center;padding:0;display:flex}.word-card-main:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:-4px}.sortable-word-card{width:100%;min-width:0;position:relative}.sortable-word-card .learn-card{height:100%}.word-card-drag-handle{z-index:6;color:#51495f;cursor:grab;touch-action:none;background:#fffffff5;border:1px solid #d8d1e3;border-radius:13px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.15rem;display:inline-flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #41335a14}.word-card-drag-handle:active{cursor:grabbing}.word-card-drag-handle:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:2px}.word-card-drag-handle:disabled{opacity:.45;cursor:default}.learn-card:hover{transform:translateY(-4px);box-shadow:0 10px #e8e2d5,0 16px 28px #00000014}.learn-card:hover .char{animation:charJelly .6s var(--bounce)}.learn-card:active{transform:translateY(4px)scale(.97);box-shadow:0 2px #e8e2d5,0 4px 10px #00000014}.learn-card.selected{border-color:var(--primary-pink);background:linear-gradient(#fff5f8 0%,#ffeaf1 100%);transform:translateY(-2px)scale(1.03);box-shadow:0 6px #ff9ebb,0 0 0 4px #ff6b9d40,0 12px 28px #ff6b9d33}.word-card-speak-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.85;width:26px;height:26px;transition:transform .2s var(--bounce),background .2s ease,opacity .2s ease;pointer-events:none;z-index:2;background:#ffffffd9;border:1px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #0000000f}.learn-card.has-actions .word-card-speak-badge{left:8px;right:auto}.learn-card:hover .word-card-speak-badge{opacity:1;background:#fff;transform:scale(1.15)rotate(8deg)}.learn-card .word-add-star{z-index:3;position:absolute;top:8px;right:8px}.word-card-body{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.learn-card .char.word-card-visual{color:var(--text-dark);justify-content:center;align-items:center;font-size:clamp(2.8rem,5.2vw,4.2rem);line-height:1;display:flex}.word-card-flag-wrap{justify-content:center;align-items:center;width:100%;padding:4px 0;display:flex}.word-card-flag{border-radius:8px;display:block;box-shadow:0 3px 12px #0000001f;aspect-ratio:4/3!important;background-position:50%!important;background-size:cover!important;width:min(85%,110px)!important;height:auto!important}.learn-card .char.word-card-visual .fi,.learn-card .fi{border-radius:8px;width:1.3333em;font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:1em;display:inline-block;box-shadow:0 3px 12px #0000001f}.word-card-image{aspect-ratio:1;object-fit:contain;width:min(85%,210px);max-width:100%;max-height:140px;transition:transform .3s var(--bounce);filter:drop-shadow(0 4px 10px #0000000f)}.word-grid .word-card-image,.learn-card:not(.char-card) .word-card-image{object-fit:contain;width:min(90%,240px);height:100%;max-height:200px}@media (min-width:601px){.word-grid .word-card-image,.learn-card:not(.char-card) .word-card-image{width:min(92%,260px);max-height:215px}}.learn-card:hover .word-card-image{transform:scale(1.08)}.word-grid .learn-card .char.word-card-visual{font-size:clamp(3.6rem,7.2vw,5.2rem)}.word-card-label-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:100%;min-width:0;margin-top:4px;padding:0 4px;display:flex}.learn-card .name{font-family:var(--font-jua),sans-serif;color:#2d3748;word-break:keep-all;overflow-wrap:anywhere;letter-spacing:.01em;text-align:center;background:#f4efea;border:1.5px solid #eae3da;border-radius:18px;max-width:100%;margin:0;padding:5px 14px;font-size:clamp(1.1rem,2.5vw,1.9rem);font-weight:700;line-height:1.2;transition:all .2s;box-shadow:0 2px 4px #00000008}.word-grid .learn-card .name{border-radius:20px;padding:6px 20px;font-size:clamp(1.5rem,2.8vw,2.15rem)}.learn-card.selected .name{color:#d63384;background:#ff6b9d26;border-color:#ff6b9d59}.learn-card .subtitle{color:var(--text-light);font-size:.85rem}.learn-card.char-card{aspect-ratio:1/1.08;padding:12px 8px 10px}.learn-card.char-card .char{font-size:clamp(3rem,5.8vw,4.4rem)}.learn-card.char-card .name{border-radius:14px;padding:3px 12px;font-size:clamp(1.15rem,2.2vw,1.45rem)}@media (orientation:landscape) and (max-height:500px){.hangul-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px!important}.learn-card{gap:2px;padding:8px 6px 6px}.word-card-visual,.word-card-image{width:min(56%,96px);max-height:96px}.word-card-visual{font-size:clamp(2.4rem,8vh,3.6rem)}.learn-card .name{font-size:1.15rem}}@media (orientation:landscape) and (max-height:420px){.word-card-visual,.word-card-image{width:min(48%,64px);max-height:64px}.word-card-visual{font-size:2.2rem}}@keyframes cardPopIn{0%{opacity:0;transform:scale(.3)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes charJelly{0%{transform:scale(1)}25%{transform:scale(1.25,.75)}50%{transform:scale(.85,1.15)}75%{transform:scale(1.1,.9)}to{transform:scale(1)}}.learn-card:first-child{animation-delay:20ms}.learn-card:nth-child(2){animation-delay:60ms}.learn-card:nth-child(3){animation-delay:.1s}.learn-card:nth-child(4){animation-delay:.14s}.learn-card:nth-child(5){animation-delay:.18s}.learn-card:nth-child(6){animation-delay:.22s}.learn-card:nth-child(7){animation-delay:.26s}.learn-card:nth-child(8){animation-delay:.3s}.learn-card:nth-child(9){animation-delay:.34s}.learn-card:nth-child(10){animation-delay:.38s}.learn-card:nth-child(11){animation-delay:.42s}.learn-card:nth-child(12){animation-delay:.46s}.learn-card:nth-child(13){animation-delay:.5s}.learn-card:nth-child(14){animation-delay:.54s}.learn-card:nth-child(15){animation-delay:.58s}.learn-card:nth-child(16){animation-delay:.62s}.learn-card:nth-child(17){animation-delay:.66s}.learn-card:nth-child(18){animation-delay:.7s}.learn-card:nth-child(19){animation-delay:.74s}.learn-card:nth-child(20){animation-delay:.78s}.detail-panel{box-shadow:var(--card-shadow);animation:panelSlideIn .5s var(--bounce);text-align:center;background:#fff;border-radius:28px;margin-top:16px;padding:24px}.detail-actions{z-index:2;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:12px;left:12px;right:12px}.detail-action-btn{font-family:var(--font-jua),sans-serif;cursor:pointer;color:#fff;transition:all .3s var(--bounce);pointer-events:auto;border:none;border-radius:50px;align-items:center;gap:4px;padding:8px 16px;font-size:clamp(.8rem,2vw,.95rem);display:inline-flex;box-shadow:0 4px 16px #0000001f}.detail-action-btn:hover{transform:translateY(-3px)scale(1.05)}.detail-action-btn:active{transform:scale(.95)}.action-bookmark{background:linear-gradient(135deg,#ffb74d,#ff9800);box-shadow:0 4px 16px #ff980059}.action-bookmark:hover{box-shadow:0 6px 24px #ff980080}.action-mastered{background:linear-gradient(135deg,#66bb6a,#43a047);box-shadow:0 4px 16px #43a04759}.action-mastered:hover{box-shadow:0 6px 24px #43a04780}.action-feedback-toast{font-family:var(--font-jua),sans-serif;color:#fff;white-space:nowrap;z-index:10;pointer-events:none;animation:feedbackToastAnim 1.8s var(--bounce)forwards;border-radius:50px;align-items:center;gap:10px;padding:14px 28px;font-size:1.1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0003}.feedback-learning{background:linear-gradient(135deg,#ffb74d,#ff9800)}.feedback-mastered{background:linear-gradient(135deg,#66bb6a,#43a047)}.feedback-emoji{animation:feedbackEmojiPop .6s var(--bounce);font-size:1.6rem}.feedback-text{letter-spacing:-.3px;font-weight:700}@keyframes feedbackToastAnim{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}25%{transform:translate(-50%,-50%)scale(1)}65%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-80%)scale(.8)}}@keyframes feedbackEmojiPop{0%{transform:scale(0)rotate(-30deg)}50%{transform:scale(1.5)rotate(10deg)}to{transform:scale(1)rotate(0)}}.detail-panel.no-anim{animation:none}.detail-panel .big-char{animation:charBounceIn .8s var(--bounce),charFloat 3s ease-in-out .8s infinite;cursor:pointer;font-size:8rem;line-height:1;transition:transform .2s;display:inline-block}.detail-panel .big-char:hover{animation:charJelly .6s var(--bounce)}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(40px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes charBounceIn{0%{opacity:0;transform:scale(0)rotate(-15deg)}60%{opacity:1;transform:scale(1.2)rotate(5deg)}to{transform:scale(1)rotate(0)}}@keyframes charFloat{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-8px)rotate(2deg)}75%{transform:translateY(4px)rotate(-2deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.detail-info{margin-top:16px}.detail-info h2{color:var(--primary-pink);font-size:1.6rem}.detail-info p{font-family:var(--font-gaegu),cursive;color:var(--text-light);margin-top:6px;font-size:1.2rem}.example-words{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:20px;display:flex}.example-word{animation:wordBubbleIn .4s var(--bounce)both;transition:all .3s var(--bounce);cursor:pointer;color:var(--text-dark);font-size:1.3rem;font:inherit;text-align:center;background:linear-gradient(135deg,#fff0f5,#f0f8ff);border:2px solid #0000;border-radius:16px;align-items:center;gap:8px;padding:12px 24px;display:flex}.example-word:first-child{animation-delay:.3s}.example-word:nth-child(2){animation-delay:.45s}.example-word:nth-child(3){animation-delay:.6s}.example-word:hover{transform:translateY(-4px)scale(1.08);box-shadow:0 8px 24px #0000001a}.example-word:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.example-word .word-emoji{transition:transform .3s var(--bounce);font-size:1.8rem}.example-word:hover .word-emoji{transform:scale(1.3)rotate(10deg)}@keyframes wordBubbleIn{0%{opacity:0;transform:scale(.5)translateY(15px)}to{opacity:1;transform:scale(1)translateY(0)}}.sound-btn{background:linear-gradient(135deg,var(--primary-blue),#00b4d8);color:#fff;font-family:var(--font-jua),sans-serif;cursor:pointer;transition:all .3s var(--bounce);border:none;border-radius:50px;align-items:center;gap:8px;margin-top:16px;padding:12px 28px;font-size:1.1rem;animation:2s ease-in-out infinite soundBtnPulse;display:inline-flex}.sound-btn:hover{animation:none;transform:scale(1.08);box-shadow:0 6px 24px #4ecdc466}.detail-btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.detail-btns .sound-btn,.detail-btns .skip-btn{margin-top:0}.skip-btn{background:linear-gradient(135deg,var(--primary-pink),var(--primary-orange));color:#fff;font-family:var(--font-jua),sans-serif;cursor:pointer;transition:all .3s var(--bounce);border:none;border-radius:50px;align-items:center;gap:8px;padding:12px 28px;font-size:1.1rem;animation:2.5s ease-in-out .5s infinite soundBtnPulse;display:inline-flex}.skip-btn:hover{animation:none;transform:scale(1.08);box-shadow:0 6px 24px #ff6b9d66}@keyframes soundBtnPulse{0%,to{transform:scale(1);box-shadow:0 0 #4ecdc466}50%{transform:scale(1.04);box-shadow:0 0 0 10px #4ecdc400}}.focus-playback-overlay{z-index:2147483000;width:100vw;height:100dvh;padding:max(18px,env(safe-area-inset-top))max(18px,env(safe-area-inset-right))max(18px,env(safe-area-inset-bottom))max(18px,env(safe-area-inset-left));color:#302b38;background:radial-gradient(circle at 12% 18%,#ffd1664d,#0000 24%),radial-gradient(circle at 88% 82%,#4ecdc438,#0000 28%),linear-gradient(145deg,#fffaf0,#fff2f7 52%,#f2fbff);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.focus-playback-header{min-height:48px;position:relative}.focus-playback-header-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 128px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.focus-playback-header h2{color:#493b5b;font-family:var(--font-jua),sans-serif;margin:0;font-size:clamp(1.45rem,4vw,2rem)}.focus-playback-close{z-index:2;color:#4f4559;cursor:pointer;background:#fff;border:1px solid #47395738;border-radius:16px;place-items:center;width:48px;height:48px;padding:0;font-size:1.25rem;display:inline-grid;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 5px 18px #40324f2e}.focus-playback-progress-row{color:#6f6579;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:min(760px,100%);margin:14px auto 0;font-weight:700;display:grid}.focus-playback-progress{background:#7d699126;border-radius:999px;height:12px;overflow:hidden}.focus-playback-progress>span{border-radius:inherit;background:linear-gradient(90deg,#ff7f72,#8f6df2);height:100%;transition:width .35s;display:block}.focus-playback-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:12px 0;display:flex;overflow-y:auto}.focus-playback-char{color:#292531;font-family:var(--font-jua),sans-serif;text-shadow:0 10px 30px #4a395e1f;font-size:clamp(8rem,34vmin,19rem);line-height:.9}.focus-playback-char.focus-playback-visual{justify-content:center;align-items:center;width:100%;display:flex}.focus-playback-visual img,.focus-playback-image{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 36px #00000029);animation:cardPopIn .35s var(--bounce);margin:0 auto;display:block;width:min(85vw,380px)!important;max-height:min(44vh,340px)!important}.focus-playback-stage>p{color:#655d6e;max-width:720px;margin:10px 0 0;font-size:clamp(1rem,2.5vw,1.45rem);line-height:1.55}.focus-playback-examples{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(14px,3vh,26px);display:flex}.focus-playback-examples button{color:#493f54;min-height:48px;font-family:var(--font-jua),sans-serif;cursor:pointer;background:#ffffffc7;border:1px solid #7d62991a;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:1.05rem;display:inline-flex;box-shadow:0 5px 16px #4c3a5e14}.focus-playback-controls{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;width:min(620px,100%);margin:0 auto;display:grid}.focus-playback-controls button{min-height:54px;font-family:var(--font-jua),sans-serif;cursor:pointer;border-radius:18px;padding:12px 18px;font-size:clamp(1rem,3vw,1.2rem)}.focus-playback-toggle{color:#fff;background:linear-gradient(135deg,#54bd65,#319d4a);border:0;box-shadow:0 8px 22px #319d4a38}.focus-playback-toggle.playing{background:linear-gradient(135deg,#ff7d70,#ef5350);box-shadow:0 8px 22px #ef535038}.focus-playback-exit{color:#51475c;background:#ffffffd6;border:1px solid #53436324}.focus-playback-nav{z-index:2147483010;-webkit-backdrop-filter:blur(6px);color:#6f6579;width:clamp(40px,5vw,46px);height:clamp(40px,5vw,46px);font-family:var(--font-jua),sans-serif;opacity:.55;cursor:pointer;background:#ffffff8c;border:1px solid #4739571f;border-radius:50%;place-items:center;padding:0;font-size:clamp(1.25rem,2.4vw,1.5rem);line-height:1;transition:opacity .2s,background .2s,color .2s,transform .15s;display:grid;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #40324f14}.focus-playback-nav-prev{left:clamp(6px,2vw,28px)}.focus-playback-nav-next{right:clamp(6px,2vw,28px)}.focus-playback-nav:hover:not(:disabled),.focus-playback-nav:focus-visible{color:#4f4559;opacity:1;background:#ffffffeb}.focus-playback-nav:active:not(:disabled){transform:translateY(-50%)scale(.94)}.focus-playback-nav:disabled{opacity:.22;cursor:not-allowed}.focus-playback-close:focus-visible,.focus-playback-nav:focus-visible,.focus-playback-examples button:focus-visible,.focus-playback-controls button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (max-width:480px){.focus-playback-overlay{padding:max(12px,env(safe-area-inset-top))max(12px,env(safe-area-inset-right))max(12px,env(safe-area-inset-bottom))max(12px,env(safe-area-inset-left))}.focus-playback-progress-row{margin-top:8px}.focus-playback-char{font-size:clamp(7rem,42vw,11rem)}.focus-playback-controls{grid-template-columns:1fr}.focus-playback-controls button{min-height:50px}}@media (orientation:landscape) and (max-height:500px){.focus-playback-overlay{padding-block:max(10px,env(safe-area-inset-top))max(10px,env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);column-gap:24px}.focus-playback-header,.focus-playback-progress-row{grid-column:1/-1}.focus-playback-progress-row{width:100%;margin-top:4px}.focus-playback-stage{grid-area:3/1;padding:4px 0}.focus-playback-char{font-size:clamp(6rem,34vh,10rem)}.focus-playback-stage>p{margin-top:3px;font-size:.92rem}.focus-playback-examples{margin-top:8px}.focus-playback-examples button{min-height:44px;padding:7px 14px}.focus-playback-controls{grid-area:3/2;grid-template-columns:1fr;align-self:center;width:100%}}@media (prefers-reduced-motion:reduce){.focus-playback-progress>span,.focus-playback-nav{transition:none}}
.challenge-section{min-height:0}.quiz-container{text-align:center;background:#fffffff0;border:2px solid #4ecdc438;border-radius:clamp(20px,4vw,30px);flex-direction:column;flex:1;gap:clamp(8px,1.8vw,14px);width:min(100%,780px);min-height:0;margin:8px auto 0;padding:clamp(14px,3vw,24px);display:flex;box-shadow:0 12px 30px #48526b1f}.quiz-state-shell{justify-content:center;align-items:stretch;display:flex}.quiz-source-warning{width:100%;color:var(--danger-text);background:#fff7f9;border:1px solid #b423363d;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;display:flex}.quiz-source-warning button{background:var(--danger-surface);color:#fff;font:inherit;border:0;border-radius:999px;padding:6px 12px}.quiz-game-hud{background:#f2fbfa;border:1px solid #d9efec;border-radius:16px;padding:10px 12px 11px}.quiz-hud-row{font-family:var(--font-jua),sans-serif;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.quiz-step{color:#57606f;font-size:clamp(.95rem,2.4vw,1.15rem)}.quiz-score-chip{color:#9a6200;background:#fff8dc;border:1px solid #ffe19a;border-radius:999px;min-width:76px;padding:5px 10px;font-size:clamp(.95rem,2.4vw,1.15rem)}.quiz-progress{background:#dcefed;border-radius:999px;height:10px;overflow:hidden}.quiz-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#25bcae,#69d8cd);height:100%;transition:width .35s;display:block}.quiz-stage{flex-direction:column;flex:1;justify-content:center;gap:clamp(8px,1.8vw,14px);min-height:0;display:flex}.quiz-question{color:#303744;font-family:var(--font-jua),sans-serif;margin:0;font-size:clamp(1.2rem,4vw,1.9rem);font-weight:400;line-height:1.35}.quiz-stimulus{justify-content:center;align-items:center;min-height:110px;display:flex}.quiz-stimulus-emoji{font-size:clamp(5.5rem,20vw,10rem);line-height:1}.quiz-stimulus-photo{object-fit:contain;filter:drop-shadow(0 8px 18px #00000026);width:auto;max-width:90%;height:clamp(140px,24vh,220px);margin:0 auto;animation:.35s cubic-bezier(.34,1.56,.64,1) quizPhotoPop;display:block}@keyframes quizPhotoPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.quiz-stimulus-flag .quiz-flag-visual{aspect-ratio:4/3;border:3px solid #e2e8ee;border-radius:12px;width:clamp(180px,50vw,340px);display:block;box-shadow:0 7px 20px #30374429}.quiz-character-image{aspect-ratio:1;place-items:center;width:clamp(130px,33vw,230px);display:grid}.quiz-character-image img{object-fit:contain;width:92%;height:92%}.quiz-options{grid-template-columns:1fr;gap:clamp(8px,1.8vw,12px);width:min(100%,560px);margin:0 auto;display:grid}.quiz-option{background:var(--surface-muted);color:#303744;min-width:0;min-height:56px;font-family:var(--font-jua),sans-serif;white-space:nowrap;text-align:center;cursor:pointer;border:3px solid #dfe6ed;border-radius:18px;justify-content:center;align-items:center;padding:12px 18px;font-size:clamp(1.4rem,4vw,2.1rem);line-height:1.25;transition:border-color .2s,background-color .2s,transform .2s;display:flex}.quiz-option.long-text{font-size:clamp(1.2rem,3.4vw,1.8rem)}.quiz-option:hover:not(:disabled){background:#f3f1ff;border-color:#6c63d9;transform:translateY(-2px)}.quiz-option:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.quiz-option:disabled{color:#303744;cursor:default;opacity:1}.quiz-option.correct{color:#128043;animation:correctBounce .5s var(--bounce);background:#eafff2;border-color:#20bf6b;box-shadow:0 4px 14px #20bf6b40,inset 0 0 0 2px #fff}.quiz-option.correct:after{content:" ✓";color:#128043;margin-left:6px;font-weight:700;display:inline-block}.quiz-option.wrong{color:var(--danger-text);background:#fff0f2;border-color:#ff4757;animation:.45s cubic-bezier(.36,.07,.19,.97) both shake;box-shadow:0 4px 14px #ff475733,inset 0 0 0 2px #fff}.quiz-option.wrong:after{content:" ✕";color:var(--danger-text);margin-left:6px;font-weight:700;display:inline-block}.quiz-feedback{color:#5d6675;min-height:26px;font-family:var(--font-jua),sans-serif;font-size:clamp(.88rem,2.5vw,1.05rem)}.quiz-options-flags{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-options-flags .quiz-option{justify-content:center;align-items:center;min-height:92px;padding:8px;display:flex}.quiz-options-flags .quiz-option.correct:after,.quiz-options-flags .quiz-option.wrong:after{background:var(--surface-base);border-radius:999px;justify-content:center;align-items:center;min-width:28px;min-height:28px;margin-left:8px;display:inline-flex}.quiz-options-flags .quiz-option-flag-visual{aspect-ratio:4/3;border-radius:7px;width:min(100%,176px);display:block}@keyframes correctBounce{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)rotate(-1deg)}40%{transform:translate(8px)rotate(1deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@media (max-width:360px){.quiz-container{border-radius:18px;gap:7px;padding:10px}.quiz-game-hud{padding:7px 9px 8px}.quiz-stimulus{min-height:88px}.quiz-stimulus-emoji{font-size:5rem}.quiz-character-image{width:112px}.quiz-option{border-width:2px;border-radius:13px;min-height:52px;padding:7px 8px}}@media (orientation:landscape) and (max-height:500px){.quiz-container{border-radius:16px;gap:5px;width:min(100%,940px);margin-top:2px;padding:8px 12px}.quiz-game-hud{border-radius:12px;padding:5px 10px 6px}.quiz-hud-row{margin-bottom:4px}.quiz-progress{height:7px}.quiz-stage{grid-template-rows:auto 1fr;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);gap:3px 14px;display:grid}.quiz-question{grid-column:1;font-size:1.02rem}.quiz-stimulus{grid-column:1;min-height:0}.quiz-stimulus-emoji{font-size:5.4rem}.quiz-stimulus-flag .quiz-flag-visual{width:min(210px,90%)}.quiz-character-image{width:112px}.quiz-options{grid-area:1/2/span 2;align-self:center;gap:8px}.quiz-option{border-width:2px;min-height:50px;padding:6px 10px;font-size:1.08rem}.quiz-options-flags .quiz-option{min-height:70px}.quiz-options-flags .quiz-option-flag-visual{width:min(100%,84px)}.quiz-feedback{min-height:20px;font-size:.82rem}}@media (min-width:880px) and (orientation:landscape),(min-width:1024px){.quiz-container{border-radius:clamp(24px,3vw,36px);justify-content:space-between;gap:clamp(12px,1.8vh,20px);width:min(100%,1160px);min-height:clamp(520px,78vh,700px);padding:clamp(20px,2.5vh,32px) clamp(24px,3vw,44px);box-shadow:0 16px 40px #48526b24}.quiz-game-hud{border-radius:20px;padding:12px 20px}.quiz-step,.quiz-score-chip{font-size:clamp(1.1rem,2vw,1.35rem)}.quiz-score-chip{padding:6px 14px}.quiz-progress{height:12px}.quiz-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(14px,2.2vh,24px);width:100%;min-height:0;display:flex}.quiz-stage:has(.quiz-stimulus){grid-template-rows:auto 1fr;grid-template-columns:minmax(360px,1.05fr) minmax(380px,1.25fr);align-items:center;gap:14px clamp(28px,4vw,56px);display:grid}.quiz-question{margin:0;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.3}.quiz-stage:has(.quiz-stimulus) .quiz-question{text-align:center;grid-area:1/1}.quiz-stimulus{background:linear-gradient(145deg,#f7fcfa 0%,#edf8f6 100%);border:2px solid #cdeee7;border-radius:24px;grid-area:2/1;justify-content:center;align-items:center;height:100%;min-height:clamp(240px,38vh,360px);padding:16px;display:flex}.quiz-stimulus-emoji{font-size:clamp(8rem,15vw,12rem)}.quiz-stimulus-photo{filter:drop-shadow(0 10px 24px #0000002e);max-width:95%;height:clamp(200px,32vh,300px)}.quiz-stimulus-flag .quiz-flag-visual{border-width:4px;border-radius:16px;width:clamp(280px,32vw,420px);box-shadow:0 10px 28px #30374433}.quiz-character-image{aspect-ratio:1;width:clamp(200px,24vw,300px)}.quiz-options{gap:clamp(14px,2.2vw,24px);width:min(100%,780px)}.quiz-stage:has(.quiz-stimulus) .quiz-options{grid-area:1/2/span 2;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:1fr;align-content:stretch;gap:clamp(10px,1.4vh,16px);width:100%;max-width:100%;height:100%;display:grid}.quiz-option{white-space:nowrap;text-align:center;border-width:4px;border-radius:20px;justify-content:center;align-items:center;height:100%;min-height:clamp(54px,8vh,80px);padding:clamp(8px,1.2vh,14px) clamp(16px,2.2vw,28px);font-size:clamp(1.85rem,3.2vw,2.6rem);line-height:1.25;display:flex;box-shadow:0 6px 16px #4ecdc424,0 4px #cad8e4}.quiz-option.long-text{font-size:clamp(1.5rem,2.5vw,2.15rem)}.quiz-option.correct{box-shadow:0 6px 20px #20bf6b4d,0 4px #1b8744}.quiz-option.wrong{box-shadow:0 6px 20px #ff475740,0 4px #c0392b}.quiz-options-flags{width:min(100%,880px);grid-template-rows:repeat(2,1fr)!important;grid-template-columns:repeat(2,1fr)!important}.quiz-options-flags .quiz-option{min-height:clamp(120px,18vh,160px);padding:14px}.quiz-options-flags .quiz-option-flag-visual{width:min(90%,180px);max-width:90%}.quiz-feedback{min-height:32px;font-size:clamp(1.1rem,1.8vw,1.35rem)}}@media (min-width:601px) and (max-width:1023px) and (orientation:portrait){.quiz-container{border-radius:28px;gap:16px;width:min(100%,820px);padding:24px}.quiz-question{font-size:clamp(1.5rem,3.5vw,2rem)}.quiz-stimulus{min-height:180px}.quiz-stimulus-photo{height:clamp(180px,26vh,260px)}.quiz-stimulus-emoji{font-size:clamp(7rem,16vw,10rem)}.quiz-stimulus-flag .quiz-flag-visual{width:clamp(240px,45vw,360px)}.quiz-character-image{width:clamp(160px,30vw,240px)}.quiz-options{gap:16px;width:min(100%,640px)}.quiz-option{border-radius:20px;min-height:72px;font-size:clamp(1.4rem,3vw,1.9rem)}.quiz-options-flags .quiz-option{min-height:110px}.quiz-options-flags .quiz-option-flag-visual{width:min(100%,126px)}.quiz-feedback{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.quiz-container.ms-shake{animation:none}.quiz-progress-fill,.quiz-option{transition:none}.quiz-option.correct,.quiz-option.wrong{animation:none}}
.content:has(>.clock-quiz-section){padding-block:var(--screen-gutter)calc(var(--screen-gutter) + env(safe-area-inset-bottom,0px))}.clock-quiz-section{flex:1 0 auto;width:100%;max-width:1040px;min-height:100%;margin:0 auto;padding:0}.clock-quiz-shell{border:2px solid color-mix(in srgb,var(--primary-blue)24%,var(--surface-base));background:color-mix(in srgb,var(--surface-base)96%,transparent);width:100%;min-height:100%;box-shadow:var(--shadow-medium);border-radius:28px;flex-direction:column;flex:1;padding:clamp(14px,2.2vw,22px);display:flex}.clock-quiz-loading{gap:20px}.clock-quiz-game-summary{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr) auto;align-items:center;gap:10px 18px;padding:2px 2px 14px;display:grid}.clock-quiz-game-title{gap:2px;min-width:0;display:grid}.clock-quiz-game-title>span{color:var(--text-muted);font-size:.78rem;font-weight:800}.clock-quiz-title{color:var(--text-dark);font-family:var(--font-jua),sans-serif;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:400;line-height:1.15;overflow:hidden}.clock-quiz-summary{gap:7px;min-width:0;display:grid}.clock-summary-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;font-weight:800;display:flex}.clock-summary-row strong{color:var(--text-dark);font-family:sans-serif;font-size:.82rem}.clock-progress{background:#e5ebef;border-radius:999px;height:9px;overflow:hidden}.clock-progress-fill{border-radius:inherit;background:linear-gradient(90deg,var(--primary-blue),var(--primary-green));height:100%;box-shadow:0 0 10px color-mix(in srgb,var(--primary-blue)45%,transparent);transition:width .25s;display:block}.clock-restart-button,.clock-adjust-row button,.clock-action-button{min-height:var(--touch-target-min);border:2px solid color-mix(in srgb,var(--primary-purple)24%,var(--border-subtle));background:var(--surface-base);color:#52358f;font:inherit;cursor:pointer;border-radius:14px;transition:transform .18s,box-shadow .18s,background .18s}.clock-restart-button{background:var(--surface-muted);color:var(--text-dark);border-width:1px;padding:8px 14px;font-size:.86rem;font-weight:800}.clock-restart-button:hover,.clock-adjust-row button:hover,.clock-action-button:hover{background:color-mix(in srgb,var(--primary-purple)7%,var(--surface-base));box-shadow:var(--shadow-small);transform:translateY(-1px)}.clock-restart-button:active,.clock-adjust-row button:active,.clock-action-button:active{transform:scale(.97)}.clock-quiz-help{color:var(--text-muted);text-align:center;word-break:keep-all;margin:12px auto 8px;font-size:.92rem;line-height:1.4}.clock-quiz-stage{flex:1;place-items:center;min-height:0;display:grid}.clock-question-card{border:3px solid color-mix(in srgb,var(--primary-blue)38%,var(--border-subtle));background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--primary-yellow)18%,transparent),transparent 28%),linear-gradient(145deg,var(--surface-base),color-mix(in srgb,var(--primary-blue)6%,var(--surface-base)));width:min(100%,820px);min-width:0;box-shadow:0 12px 28px color-mix(in srgb,var(--primary-blue)14%,transparent);border-radius:24px;padding:clamp(14px,2vw,20px);transition:border-color .2s,box-shadow .2s,transform .2s}.clock-question-card-correct{border-color:var(--primary-green);background:color-mix(in srgb,var(--primary-green)7%,var(--surface-base));box-shadow:0 10px 26px color-mix(in srgb,var(--primary-green)24%,transparent)}.clock-question-card-incorrect{border-color:var(--primary-orange);background:color-mix(in srgb,var(--primary-orange)7%,var(--surface-base));box-shadow:0 10px 26px color-mix(in srgb,var(--primary-orange)22%,transparent)}.clock-card-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.clock-question-number,.clock-card-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:32px;padding:5px 11px;display:inline-flex}.clock-question-number{background:color-mix(in srgb,var(--primary-purple)13%,var(--surface-base));color:#6141a7}.clock-card-status{border:1px solid var(--border-subtle);background:var(--surface-muted);color:var(--text-muted)}.clock-card-status-correct{border-color:color-mix(in srgb,var(--primary-green)48%,var(--surface-base));background:color-mix(in srgb,var(--primary-green)14%,var(--surface-base));color:#287439}.clock-card-status-incorrect{border-color:color-mix(in srgb,var(--primary-orange)50%,var(--surface-base));background:color-mix(in srgb,var(--primary-orange)14%,var(--surface-base));color:#9a4a17}.clock-question-layout{grid-template-columns:minmax(190px,.72fr) minmax(330px,1.28fr);align-items:center;gap:clamp(16px,3vw,34px);display:grid}.clock-question-prompt{text-align:center;justify-items:center;gap:8px;display:grid}.clock-question-prompt>p:first-child{color:var(--text-muted);font-size:1rem}.clock-target-time{color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-size:clamp(2.8rem,7vw,4.8rem);font-weight:400;line-height:1}.clock-target-time time{font-variant-numeric:tabular-nums;letter-spacing:.03em}.clock-widget{justify-items:center;gap:10px;display:grid}.clock-face{-webkit-user-select:none;user-select:none;width:min(100%,270px);height:auto;display:block;overflow:visible}.clock-face-shadow{fill:color-mix(in srgb,var(--primary-purple)18%,transparent)}.clock-face-surface{fill:var(--surface-base);stroke:color-mix(in srgb,var(--primary-purple)42%,var(--surface-base));stroke-width:4px}.clock-tick{stroke:#7b8490;stroke-width:1.5px;stroke-linecap:round}.clock-tick-major{stroke:var(--text-dark);stroke-width:3.5px}.clock-number{fill:var(--text-dark);font-family:var(--font-jua),sans-serif;font-size:17px}.clock-hand-control{cursor:grab;touch-action:none;outline:none}.clock-hand-control.is-dragging{cursor:grabbing}.clock-hand-control.is-disabled{cursor:default;pointer-events:none}.clock-hand-control:focus-visible .clock-hand-hit{stroke:color-mix(in srgb,var(--focus-ring-color)34%,transparent)}.clock-hand-hit{stroke:#0000;stroke-width:24px;stroke-linecap:round;pointer-events:stroke;touch-action:none}.clock-hour-hand,.clock-minute-hand{stroke-linecap:round;pointer-events:none}.clock-hour-hand{stroke:var(--text-dark);stroke-width:9px}.clock-minute-hand{stroke:#6f4bd3;stroke-width:5px}.clock-hour-grip{fill:var(--text-dark);stroke:var(--surface-base);stroke-width:2px;pointer-events:none}.clock-minute-grip{fill:#6f4bd3;stroke:var(--surface-base);stroke-width:2px;pointer-events:none}.clock-center-ring{fill:var(--surface-base);stroke:var(--text-dark);stroke-width:4px;pointer-events:none}.clock-center-dot{fill:var(--primary-pink);pointer-events:none}.clock-adjust-controls{gap:7px;width:min(100%,330px);display:grid}.clock-adjust-row{grid-template-columns:48px repeat(2,minmax(0,1fr));align-items:center;gap:8px;display:grid}.clock-adjust-label{color:var(--text-muted);text-align:left;font-size:.86rem}.clock-adjust-row button{padding:6px 8px}.clock-adjust-row button:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.clock-current-time{color:var(--text-muted);line-height:1.4}.clock-current-time strong{color:var(--text-dark);font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(1.3rem,3vw,1.65rem);display:block}.clock-screen-reader-result{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.clock-quiz-feedback{border:1px solid color-mix(in srgb,var(--primary-blue)30%,var(--surface-base));background:color-mix(in srgb,var(--primary-blue)8%,var(--surface-base));min-height:48px;color:var(--text-dark);text-align:center;border-radius:16px;margin-top:10px;padding:11px 16px;line-height:1.4}.clock-quiz-feedback-correct{border-color:color-mix(in srgb,var(--primary-green)48%,var(--surface-base));background:color-mix(in srgb,var(--primary-green)14%,var(--surface-base));color:#287439}.clock-quiz-feedback-incorrect{border-color:color-mix(in srgb,var(--primary-orange)48%,var(--surface-base));background:color-mix(in srgb,var(--primary-orange)12%,var(--surface-base));color:#8c4114}.clock-quiz-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,560px);margin:10px auto 0;display:grid}.clock-action-button{min-height:50px;padding:8px 14px;font-size:1rem}.clock-action-primary{color:var(--surface-base);background:linear-gradient(135deg,#6f4bd3,#8d6be3);border-color:#0000}.clock-action-primary:hover{background:linear-gradient(135deg,#6141bf,#7f5bd8)}.clock-quiz-complete{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:clamp(360px,62vh,560px);display:flex}.clock-complete-mark{background:color-mix(in srgb,var(--primary-green)18%,var(--surface-base));width:88px;height:88px;box-shadow:0 10px 24px color-mix(in srgb,var(--primary-green)24%,transparent);color:#287439;border-radius:50%;place-items:center;font-size:2.6rem;display:grid}.clock-quiz-complete>p{color:var(--text-dark);font-size:clamp(1.8rem,5vw,2.8rem)}.clock-quiz-complete>strong{color:var(--text-muted);font-size:clamp(1rem,2.5vw,1.25rem)}@media (max-width:700px){.clock-quiz-section{padding:6px 0}.clock-quiz-shell{border-radius:22px;min-height:calc(100% - 6px);padding:12px}.clock-quiz-game-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding-bottom:10px}.clock-quiz-summary{grid-area:2/1/auto/-1}.clock-restart-button{grid-area:1/2}.clock-quiz-help{margin-top:9px;font-size:.86rem}.clock-question-card{border-radius:20px;padding:12px}.clock-question-layout{grid-template-columns:minmax(0,1fr);gap:8px}.clock-question-prompt{gap:4px}.clock-target-time{font-size:clamp(2.5rem,14vw,3.7rem)}.clock-current-time strong{margin-top:0;margin-left:4px;display:inline}.clock-face{width:min(100%,250px)}}@media (max-width:380px){.clock-quiz-title{font-size:1.2rem}.clock-quiz-game-title>span{font-size:.7rem}.clock-question-number,.clock-card-status{padding-inline:8px;font-size:.86rem}.clock-face{width:min(100%,230px)}.clock-adjust-row{grid-template-columns:42px repeat(2,minmax(0,1fr));gap:6px}.clock-adjust-row button{font-size:.88rem}.clock-quiz-actions{grid-template-columns:minmax(0,1fr)}}@media (min-width:900px){.clock-widget{grid-template-columns:minmax(0,250px) minmax(230px,1fr);align-items:center}.clock-face{width:250px}.clock-adjust-controls{width:100%}}@media (orientation:landscape) and (max-height:560px) and (min-width:640px){.clock-quiz-section{padding-block:4px}.clock-quiz-shell{border-radius:18px;padding:8px 12px}.clock-quiz-game-summary{padding-bottom:7px}.clock-quiz-help{margin:5px auto;font-size:.76rem}.clock-question-card{border-radius:17px;padding:8px 12px}.clock-card-heading{margin-bottom:2px}.clock-question-number,.clock-card-status{min-height:28px;padding-block:3px;font-size:.78rem}.clock-question-layout{grid-template-columns:minmax(170px,.7fr) minmax(390px,1.3fr);gap:12px}.clock-widget{grid-template-columns:minmax(0,180px) minmax(260px,1fr);align-items:center}.clock-face{width:180px}.clock-target-time{font-size:2.7rem}.clock-adjust-controls{width:100%}.clock-quiz-feedback{min-height:42px;margin-top:5px;padding-block:8px;font-size:.82rem}.clock-quiz-actions{margin-top:5px}.clock-action-button{min-height:44px}}html.app-fullscreen .clock-quiz-section{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion:reduce){.clock-question-card,.clock-progress-fill,.clock-restart-button,.clock-adjust-row button,.clock-action-button{transition:none}.clock-quiz-section .ms-confetti-piece{animation:none;display:none}}
.maze-section{--maze-accent:#087f83;--maze-accent-soft:#eaf8f6;width:100%;max-width:1120px;padding:10px max(0px,env(safe-area-inset-right))max(36px,env(safe-area-inset-bottom))max(0px,env(safe-area-inset-left));margin:0 auto}.maze-sr-instructions,.maze-live-message{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.maze-game-layout{width:min(100%,760px);min-width:0;margin:0 auto;display:grid}.maze-board-card{border:1px solid color-mix(in srgb,var(--border-subtle)88%,transparent);background:color-mix(in srgb,var(--surface-elevated)94%,transparent);border-radius:22px;place-items:center;min-width:0;padding:clamp(10px,1.5vw,16px);display:grid;box-shadow:0 12px 38px #2d343614}.maze-game-summary{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(145px,.55fr) minmax(210px,1fr) auto;align-items:center;gap:10px 16px;width:100%;margin-bottom:clamp(10px,1.5vw,14px);padding:2px 2px clamp(10px,1.5vw,14px);display:grid}.maze-game-title{gap:2px;min-width:0;display:grid}.maze-game-title span,.maze-game-stats span{color:var(--text-muted);white-space:nowrap;font-size:.74rem;font-weight:800}.maze-game-title strong{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;font-size:1.04rem;overflow:hidden}.maze-game-stats{grid-area:1/2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.maze-game-stats p{min-width:0;min-height:var(--touch-target-min);background:var(--surface-muted);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.maze-game-stats p.is-complete{background:color-mix(in srgb,var(--primary-green)15%,var(--surface-base))}.maze-game-stats strong{color:var(--text-dark);white-space:nowrap;font-family:sans-serif;font-size:.78rem}.maze-game-stats [data-maze-time]{font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;min-width:5.1em}.maze-summary-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.maze-settings-trigger,.maze-restart-trigger{min-height:var(--touch-target-min);border:1px solid color-mix(in srgb,var(--primary-purple)44%,var(--border-subtle));background:color-mix(in srgb,var(--primary-purple)7%,var(--surface-base));box-shadow:none;color:#6553a9;cursor:pointer;font:inherit;white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:.82rem;font-weight:900;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex}.maze-restart-trigger{border-color:var(--border-subtle);background:var(--surface-muted);color:var(--text-dark);padding-inline:11px}.maze-settings-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:19px;height:19px}.maze-settings-trigger:hover,.maze-restart-trigger:hover{background:color-mix(in srgb,var(--primary-purple)13%,var(--surface-base));transform:translateY(-1px);box-shadow:0 5px 13px #6351a91f}.maze-stage{border:1px solid color-mix(in srgb,var(--primary-blue)52%,var(--border-subtle));background:radial-gradient(circle at 15% 18%,#ffffffc2 0 2px,transparent 2.5px),radial-gradient(circle at 84% 78%,#ffd93d66 0 2px,transparent 2.5px),color-mix(in srgb,var(--primary-blue)9%,var(--surface-base));border-radius:24px;place-items:center;width:min(100%,540px);min-width:0;padding:clamp(10px,1.7vw,18px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #4ecdc41a,0 14px 30px #2d34361a}.maze-board-focus{border:4px solid var(--primary-blue);background:color-mix(in srgb,var(--primary-yellow)10%,var(--surface-base));width:min(100%,30rem,max(16rem,100dvh - 24rem));min-width:0;box-shadow:inset 0 0 0 2px #ffffffb3,var(--shadow-small);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:20px;position:relative;overflow:hidden;container-type:inline-size}.maze-board-focus.is-pointer-active{cursor:grabbing}.maze-board-focus,.maze-board-focus *{-webkit-user-drag:none}.maze-board-focus.is-complete{border-color:var(--primary-green)}.maze-board-focus:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.maze-board-svg{aspect-ratio:1;width:100%;height:auto;display:block}.maze-board-background{fill:color-mix(in srgb,var(--primary-yellow)10%,var(--surface-base))}.maze-wall{stroke:var(--text-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.maze-board-focus[data-maze-size="8"] .maze-wall{stroke-width:5px}.maze-board-focus.is-dense .maze-wall{stroke-width:4px}.maze-board-feedback{z-index:2;pointer-events:none;border:6px solid #0000;border-radius:16px;animation:.24s ease-out both maze-feedback-flash;position:absolute;inset:0}.maze-board-feedback.is-move{border-color:color-mix(in srgb,var(--primary-blue)72%,transparent);background:color-mix(in srgb,var(--primary-blue)12%,transparent)}.maze-board-feedback.is-wall{border-color:color-mix(in srgb,var(--primary-orange)82%,transparent);background:color-mix(in srgb,var(--primary-orange)17%,transparent)}.maze-board-feedback.is-complete{border-color:color-mix(in srgb,var(--primary-green)84%,transparent);background:color-mix(in srgb,var(--primary-green)18%,transparent)}.maze-player-trail{fill:none;stroke:color-mix(in srgb,var(--primary-pink)72%,var(--primary-purple));stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;opacity:.58;pointer-events:none}@keyframes maze-feedback-flash{0%{opacity:.8;transform:scale(.985)}to{opacity:0;transform:scale(1)}}.maze-dense-marker-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.maze-dense-marker{box-sizing:border-box;aspect-ratio:1;border:2px solid var(--surface-base);width:clamp(16px,6cqi,24px);color:var(--text-dark);font-family:var(--font-jua);box-shadow:var(--shadow-small);place-items:center;font-size:clamp(.56rem,4cqi,.78rem);font-weight:800;line-height:1;transition:left .18s,top .18s;display:grid;position:absolute;transform:translate(-50%,-50%)}.maze-dense-marker.is-start{border-color:color-mix(in srgb,var(--primary-orange)68%,var(--surface-base));background:linear-gradient(145deg,color-mix(in srgb,var(--primary-yellow)55%,var(--surface-base)),var(--primary-yellow));color:color-mix(in srgb,var(--text-dark)76%,var(--primary-orange));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-base)72%,transparent),var(--shadow-small);border-radius:50%}.maze-dense-marker.is-goal{border-color:color-mix(in srgb,var(--maze-accent)70%,var(--surface-base));background:linear-gradient(145deg,color-mix(in srgb,var(--primary-green)45%,var(--surface-base)),var(--primary-green));color:color-mix(in srgb,var(--text-dark)74%,var(--maze-accent));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-base)72%,transparent),var(--shadow-small);border-radius:50%}.maze-dense-marker.is-player{border-color:var(--primary-pink);background:var(--surface-base);border-radius:50%;padding:1px}.maze-dense-marker>.system-icon{stroke-width:2.4px;width:70%;height:70%}.maze-dense-player-avatar{object-fit:cover;background:var(--surface-base);border-radius:50%;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.maze-dense-player-avatar.is-fallback{color:var(--text-dark);font-size:clamp(.55rem,4cqi,.76rem)}.maze-dense-marker.is-combined{aspect-ratio:auto;background:var(--surface-base);white-space:nowrap;border-radius:999px;justify-content:center;gap:1px;width:clamp(30px,10cqi,40px);height:clamp(18px,6cqi,24px);padding:1px;display:flex}.maze-dense-marker.is-combined>.system-icon,.maze-dense-marker.is-combined>.maze-dense-player-avatar{width:calc(50% - 1px);height:100%}.maze-dense-marker.is-start-player{border-color:color-mix(in srgb,var(--primary-orange)68%,var(--surface-base));color:color-mix(in srgb,var(--text-dark)76%,var(--primary-orange))}.maze-dense-marker.is-goal-player{border-color:color-mix(in srgb,var(--maze-accent)70%,var(--surface-base));color:color-mix(in srgb,var(--text-dark)74%,var(--maze-accent))}.maze-marker{filter:drop-shadow(0 4px 4px color-mix(in srgb,var(--text-dark)18%,transparent));transition:transform .18s}.maze-player-marker{will-change:transform}.maze-board-focus.is-pointer-active .maze-player-marker,.maze-board-focus.is-pointer-active .maze-dense-marker.is-player{transition:none}.maze-marker-surface{stroke:var(--surface-base);stroke-width:5px}.maze-marker-plate{fill:color-mix(in srgb,var(--surface-base)88%,transparent);stroke:color-mix(in srgb,var(--surface-base)68%,transparent);stroke-width:1.5px}.maze-start-marker .maze-marker-surface{fill:var(--primary-yellow)}.maze-goal-marker .maze-marker-surface{fill:var(--primary-green)}.maze-player-halo{fill:color-mix(in srgb,var(--primary-pink)22%,transparent);stroke:color-mix(in srgb,var(--primary-pink)35%,var(--surface-base));stroke-width:2px}.maze-player-surface{fill:var(--surface-base);stroke:var(--primary-pink);stroke-width:4px}.maze-player-marker.is-complete .maze-player-halo{fill:color-mix(in srgb,var(--primary-purple)22%,transparent);stroke:color-mix(in srgb,var(--primary-purple)35%,var(--surface-base))}.maze-player-marker.is-complete .maze-player-surface{stroke:var(--primary-purple)}.maze-start-icon,.maze-goal-icon,.maze-player-body{fill:none;stroke:var(--text-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.maze-start-icon{stroke:color-mix(in srgb,var(--text-dark)70%,var(--primary-orange))}.maze-goal-icon{stroke:color-mix(in srgb,var(--text-dark)70%,var(--maze-accent))}.maze-player-body{stroke-width:4px}.maze-player-head{fill:var(--text-dark)}.maze-player-photo{clip-path:circle(50%)}.maze-player-photo-ring{fill:none;stroke:var(--primary-pink);stroke-width:3px;pointer-events:none}.maze-player-marker.is-complete .maze-player-photo-ring{stroke:var(--primary-purple)}.maze-generation-error{border:1px solid var(--danger-surface);background:color-mix(in srgb,var(--danger-surface)9%,var(--surface-base));width:100%;color:var(--danger-text);text-align:center;border-radius:13px;margin-top:8px;padding:9px 12px;font-size:.8rem;line-height:1.4}.maze-list-section{width:100%;min-width:0;max-width:1040px;margin-inline:auto;padding-block:clamp(14px,2.5vw,28px) 36px}.maze-list-heading{text-align:center;gap:6px;margin:0 auto clamp(18px,3vw,30px);display:grid}.maze-list-heading>p:first-child{color:var(--maze-accent);font-size:.8rem;font-weight:900}.maze-list-heading h2{color:var(--text-dark);font-family:var(--font-jua),sans-serif;font-size:clamp(1.65rem,5vw,2.45rem);font-weight:400;line-height:1.1}.maze-list-heading>p:last-child{color:var(--text-muted);font-size:clamp(.92rem,2.8vw,1.05rem)}.maze-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2.2vw,18px);min-width:0;margin:0;padding:0;list-style:none;display:grid}.maze-level-grid>li{min-width:0}.maze-level-card{border:1px solid color-mix(in srgb,var(--maze-accent)30%,var(--border-subtle));background:var(--surface-base);width:100%;min-width:0;min-height:100%;box-shadow:var(--shadow-medium);color:var(--text-dark);text-align:center;touch-action:manipulation;border-radius:22px;grid-template-rows:auto auto auto 1fr auto;align-items:center;gap:6px;padding:clamp(11px,2.4vw,18px);text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.maze-level-card:active{transform:scale(.985)}.maze-level-card:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.maze-level-card-visual{place-items:center;margin-inline:auto;display:grid}.maze-level-card-visual .navigation-visual{--navigation-visual-size:clamp(60px,14vw,84px)}.maze-level-card-stage{color:var(--maze-accent);font-size:clamp(.74rem,2.3vw,.84rem);font-weight:900}.maze-level-card>strong{font-size:clamp(1rem,3.4vw,1.2rem)}.maze-level-card-desc{min-width:0;color:var(--text-muted);word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(.76rem,2.4vw,.88rem);line-height:1.35}.maze-level-card>small{color:var(--text-muted);font-size:clamp(.72rem,2.2vw,.82rem);font-weight:800}.maze-level-description{min-width:0;color:var(--text-muted);text-align:center;justify-content:center;gap:6px;margin-top:9px;font-size:.78rem;line-height:1.4;display:flex}.maze-level-description strong{color:var(--text-dark);flex:none}.maze-sound-button{border:1px solid var(--border-subtle);background:var(--surface-base);width:100%;min-height:68px;box-shadow:none;color:var(--text-dark);cursor:pointer;font:inherit;text-align:left;border-radius:15px;align-items:center;gap:10px;padding:11px 48px 11px 12px;display:flex}.maze-sound-button.is-on{border-color:var(--maze-accent);background:var(--maze-accent-soft)}.maze-sound-button.is-off{background:var(--surface-muted);color:var(--text-muted)}.maze-sound-button>span:first-child{background:var(--surface-muted);width:38px;height:38px;color:var(--maze-accent);border-radius:12px;flex:none;place-items:center;font-family:sans-serif;font-size:1rem;font-weight:900;display:grid}.maze-sound-button>span:last-child{gap:3px;min-width:0;display:grid}.maze-sound-button strong{font-size:.88rem}.maze-sound-button small{color:var(--text-muted);font-size:.7rem;line-height:1.35}.maze-settings-group{margin-top:20px}.maze-settings-group h3{color:var(--text-dark);margin-bottom:8px;font-size:.9rem}.maze-legend{color:var(--text-dark);flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.maze-legend li{align-items:center;gap:6px;display:inline-flex}.maze-legend-symbol{border:2px solid var(--surface-base);width:26px;height:26px;box-shadow:var(--shadow-small);color:var(--text-dark);border-radius:50%;flex:none;place-items:center;font-family:sans-serif;font-size:.8rem;display:grid}.maze-legend-symbol.is-start{background:var(--primary-yellow)}.maze-legend-symbol.is-player{background:var(--primary-pink)}.maze-legend-symbol.is-goal{background:var(--primary-green)}.maze-legend-symbol .system-icon{stroke-width:2.4px;width:17px;height:17px}.maze-legend-symbol .maze-dense-player-avatar{width:22px;height:22px}.maze-symbol-guide{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-top:18px}.maze-symbol-guide summary{min-height:var(--touch-target-min);color:var(--text-muted);cursor:pointer;padding:12px 2px;font-size:.8rem;font-weight:800}.maze-symbol-guide .maze-legend{padding-bottom:12px}.maze-settings-dialog,.maze-completion-dialog{background:var(--surface-base);width:min(100% - 32px,620px);max-height:min(88dvh,760px);color:var(--text-dark);border:0;border-radius:26px;margin:auto;padding:0;overflow:hidden;box-shadow:0 30px 90px #07122157}.maze-settings-dialog::backdrop,.maze-completion-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07122194}.maze-settings-shell{overscroll-behavior:contain;max-height:min(88dvh,760px);padding:22px;overflow-y:auto}.maze-settings-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.maze-settings-heading p{color:var(--primary-pink);letter-spacing:.08em;font-size:.72rem;font-weight:900}.maze-settings-heading h2{font-family:var(--font-black-han-sans);margin-top:2px;font-size:1.65rem;font-weight:400}.maze-settings-close{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--border-subtle);background:var(--surface-muted);box-shadow:none;color:var(--text-dark);cursor:pointer;font:inherit;border-radius:50%;flex:none;place-items:center;font-family:sans-serif;font-size:1.55rem;line-height:1;display:grid}.maze-settings-description{color:var(--text-muted);margin-top:8px;font-size:.88rem;line-height:1.45}.maze-settings-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.maze-settings-actions button{border:1px solid var(--border-subtle);min-height:50px;box-shadow:none;cursor:pointer;font:inherit;border-radius:15px;padding:11px 14px;font-weight:900}.maze-settings-actions .is-new{background:var(--surface-muted);color:var(--text-dark)}.maze-settings-actions .is-done{border-color:var(--maze-accent);background:var(--maze-accent);color:#fff}.maze-completion-dialog{width:min(100% - 32px,430px)}.maze-completion-shell{text-align:center;justify-items:center;padding:28px;display:grid}.maze-complete-icon{background:color-mix(in srgb,var(--primary-green)24%,var(--surface-base));width:66px;height:66px;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary-green)68%,transparent);color:var(--maze-accent);border-radius:50%;place-items:center;font-family:sans-serif;font-size:2.25rem;font-weight:900;display:grid}.maze-completion-shell>p:first-of-type{color:var(--maze-accent);margin-top:14px;font-size:.82rem;font-weight:900}.maze-completion-shell h2{font-family:var(--font-black-han-sans);margin-top:4px;font-size:clamp(1.55rem,4vw,2rem);font-weight:400}.maze-completion-shell>p:last-of-type{color:var(--text-muted);margin-top:8px;font-size:.92rem;line-height:1.5}.maze-completion-shell>button{background:var(--maze-accent);color:#fff;cursor:pointer;width:100%;min-height:52px;font:inherit;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;margin-top:22px;padding:12px 18px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #087f8338}.maze-settings-trigger:focus-visible,.maze-restart-trigger:focus-visible,.maze-sound-button:focus-visible,.maze-settings-dialog button:focus-visible,.maze-settings-dialog summary:focus-visible,.maze-completion-dialog button:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (min-width:1025px) and (min-height:760px){.maze-section{--maze-desktop-board-size:min(960px,max(360px,calc(100dvh - 352px)));max-width:1280px}.maze-game-layout{width:min(100%,max(760px,calc(var(--maze-desktop-board-size) + 224px)))}.maze-stage{width:min(100%,calc(var(--maze-desktop-board-size) + 36px))}.maze-board-focus{width:min(100%,var(--maze-desktop-board-size))}}@media (max-width:600px){.maze-section{padding-top:12px;padding-bottom:max(30px,env(safe-area-inset-bottom))}.maze-board-card{border-radius:20px;padding:8px}.maze-game-summary{grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;padding:2px 2px 10px}.maze-game-stats{grid-area:2/1/auto/-1}.maze-game-stats p{min-height:38px;padding-block:5px}.maze-settings-trigger,.maze-restart-trigger{padding-inline:10px}.maze-stage{border-radius:18px;width:min(100%,520px);padding:8px}.maze-board-focus{border-width:3px;border-radius:16px;width:min(100%,max(15rem,100dvh - 25rem))}.maze-settings-dialog{border-radius:22px;width:calc(100% - 20px);max-height:90dvh}.maze-settings-shell{max-height:90dvh;padding:17px}.maze-settings-heading h2{font-size:1.45rem}.maze-level-grid{grid-template-columns:minmax(0,1fr)}.maze-level-description{flex-direction:column;align-items:center;gap:1px}.maze-settings-actions{grid-template-columns:minmax(0,1fr)}}@media (max-width:380px){.maze-game-title strong{font-size:.95rem}.maze-settings-trigger,.maze-restart-trigger{min-height:42px;padding-inline:8px;font-size:.75rem}}@media (max-width:1024px) and (orientation:portrait){.maze-game-layout{grid-template-columns:minmax(0,1fr)}}@media (orientation:landscape) and (max-height:600px) and (min-width:560px){.maze-section{max-width:760px;padding-top:8px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.maze-game-layout{width:min(100%,760px)}.maze-board-card{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;padding:8px}.maze-game-summary{grid-column:1;grid-template-columns:minmax(120px,.45fr) minmax(190px,1fr) auto;gap:8px;margin-bottom:0;padding-bottom:8px}.maze-stage{grid-area:2/1;width:min(100%,430px);padding:7px}.maze-board-focus{width:min(100%,max(10.5rem,100dvh - 10.5rem))}.maze-settings-dialog,.maze-settings-shell{max-height:94dvh}}html.app-fullscreen .maze-section{max-width:1280px;padding-top:4px;padding-bottom:4px}html.app-fullscreen .maze-board-card{padding:8px}html.app-fullscreen .maze-game-summary{gap:6px 12px;margin-bottom:6px;padding-bottom:6px}html.app-fullscreen .maze-board-focus{width:min(100%,34rem,max(16rem,100dvh - 20rem))}.content:has(>.maze-section){padding-block:var(--screen-gutter)calc(var(--screen-gutter) + env(safe-area-inset-bottom,0px));overscroll-behavior:none;overflow-y:hidden}.content:has(>.maze-section)>.maze-section{flex:auto;height:100%;min-height:0;padding-block:0}:is(.content:has(>.maze-section) .maze-game-layout,.content:has(>.maze-section) .maze-board-card){height:100%;min-height:0}.content:has(>.maze-section) .maze-board-card{grid-template-rows:auto minmax(0,1fr)}.content:has(>.maze-section) .maze-stage{aspect-ratio:1;align-self:center;width:100%;height:auto;min-height:0;max-height:100%}.content:has(>.maze-section) .maze-board-focus{aspect-ratio:1;width:100%;max-width:100%;max-height:100%}@media (orientation:landscape){.content:has(>.maze-section) .maze-stage{width:auto;max-width:100%;height:100%}}@media (prefers-reduced-motion:reduce){.maze-marker,.maze-dense-marker,.maze-settings-trigger,.maze-restart-trigger,.maze-level-card,.maze-sound-button,.maze-settings-actions button,.maze-completion-shell>button{transition:none}.maze-board-feedback{opacity:.32;animation:none;transform:none}.maze-settings-trigger:hover,.maze-restart-trigger:hover,.maze-level-card:active{transform:none}}
