.footer{font-family:var(--font-sans);background-color:#000}.footer a{color:var(--color-celadon-500);text-decoration:none}.footer a:hover{color:var(--color-celadon-600);text-decoration:none}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-nav{font-family:var(--font-mono);align-items:center;gap:1.5rem;display:flex}.footer-bottom{justify-content:space-between;align-items:center;gap:2rem;margin-top:4rem;display:flex}.footer-bottom p{font-size:var(--text-xs)}.footer-made-with{font-family:var(--font-mono);color:#fff}.footer-popovers{align-items:baseline;gap:1rem;display:flex}.footer-tina-link{align-items:baseline;line-height:1;transition:opacity .15s;display:inline-flex;position:relative}.footer-tina-link:hover{opacity:.9}.footer-tina-icon{object-fit:contain;width:14px;height:20px;transition:opacity .15s;display:block}.footer-tina-icon-white{opacity:1}.footer-tina-icon-default{opacity:0;position:absolute;top:0;left:0}.footer-tina-link:hover .footer-tina-icon-white{opacity:0}.footer-tina-link:hover .footer-tina-icon-default{opacity:1}.footer-popover-trigger{color:var(--color-stone-400);font-size:.75rem;font-family:var(--font-mono);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:none;transition:color .15s}.footer-popover-trigger:hover{color:var(--color-stone-300)}.footer-popover-content{font-size:var(--text-xs);font-family:var(--font-sans);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:20rem;padding:.75rem}.footer-popover-text{margin:0;line-height:1.2}.footer-business-info{flex-direction:column;gap:.5rem;display:flex}.footer-business-info>div{margin:0}.footer-attributions-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.footer-attributions-list li{margin:0}.footer-popover-text a{color:var(--color-stone-200);text-underline-offset:2px;text-decoration:underline;transition:color .15s}.footer-popover-text a:hover{color:var(--color-stone-100)}@media (max-width:768px){.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}.footer-nav{flex-wrap:wrap;gap:.5rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.75rem}.footer-popovers{gap:.75rem}.footer-popover-content{max-width:calc(100vw - 2rem);padding:.5rem;font-size:.75rem}}
.theme-toggle{cursor:pointer;border-radius:var(--radius-md);border:2px solid;align-items:center;width:3rem;height:1.75rem;padding:2px;transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:1px 1.5px #000}.theme-toggle-on{background-color:#fff;border-color:#000}.theme-toggle-off{background-color:var(--color-zinc-700);border-color:var(--color-black)}.theme-toggle-knob{z-index:10;aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid #000;border:2px solid lab(0% 0 0);height:100%;transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1);position:relative;transform:translate(0)}.theme-toggle:hover .theme-toggle-knob{filter:brightness(1.07)}.theme-toggle-knob-on{background-color:var(--color-yellow-300);box-shadow:0 0 13 8px 2px #ffdd0026;transform:translate(1.25rem)}.theme-toggle-knob-off{background-color:var(--color-zinc-300);transform:translate(0)}
body .header{z-index:30;background-color:var(--header-bg,var(--background));border-bottom:2px solid var(--header-border,var(--border));font-family:var(--font-mono);min-height:var(--header-height,72px);position:sticky;top:0}body .header a{letter-spacing:.05rem;color:var(--header-link-color,var(--main-foreground));text-decoration:none}body .header a:hover{text-decoration:none}body .header{justify-content:space-between;align-items:center;display:flex;position:relative}body .header a:hover{text-decoration:none}.header-default{--header-bg:var(--background);--header-border:var(--border)}.header-transparent{--header-bg:transparent;--header-border:transparent;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-dark{--header-bg:var(--color-offblack,#1a1a1a);--header-border:var(--border);--header-link-color:var(--color-offwhite,#f5f5f5)}.header-light{--header-bg:var(--color-offwhite,#f5f5f5);--header-border:var(--border);--header-link-color:var(--color-offblack,#1a1a1a)}.header-content{justify-content:space-between;align-items:center;gap:.5rem;width:100%;max-width:1400px;margin-inline:auto;padding:.25rem 4rem;display:flex}@media (min-width:768px){.header-content[data-lesson-route=true]{padding:.5rem 3rem;padding-left:max(3rem,env(safe-area-inset-left));padding-right:max(3rem,env(safe-area-inset-right))}}@media (min-width:1024px){.header-content[data-lesson-route=true]{padding:.5rem 3rem .5rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(3rem,env(safe-area-inset-right))}}.logo-seal{width:clamp(60px,10vw,120px);height:auto}.logo-type{width:clamp(90px,15vw,180px);height:auto}.desktop-nav{display:none}.mobile-controls{align-items:center;gap:.5rem;display:flex}.hamburger-btn{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--main-foreground);box-shadow:1px 2px 0 0 var(--color-black);justify-content:center;align-items:center;padding:.15rem;display:flex}.hamburger-btn:hover{opacity:.8}.hamburger-btn-yellow{background:var(--main)}.hamburger-btn-celadon{background:var(--color-celadon-500)}.mobile-menu{background:var(--background);border-top:2px solid var(--header-border,var(--border));z-index:20;flex-direction:column;gap:1rem;padding:1rem;animation:.2s ease-out slide-down;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-menu a{color:var(--main-foreground);text-decoration:none}.mobile-menu-closing{animation:.2s ease-out slide-up}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.mobile-menu-yellow .mobile-menu-title{color:var(--main-foreground)}.mobile-menu-yellow .mobile-menu-link:hover{background-color:oklch(from var(--main)l c h/.1)}.mobile-menu-celadon .mobile-menu-title{color:var(--foreground)}.mobile-menu-celadon .dark .mobile-menu-celadon .mobile-menu-title{color:var(--color-celadon-500)}.mobile-menu-celadon .mobile-menu-link:hover{background-color:oklch(from var(--color-celadon-500)l c h/.1)}.dark .mobile-menu-celadon .mobile-menu-title{color:var(--color-celadon-500)}.mobile-menu-section{flex-direction:column;gap:0 25rem;display:flex}.mobile-menu-user-section{border-bottom:2px solid var(--border);margin-bottom:1rem;padding-bottom:1rem}.mobile-menu-title{color:var(--mobile-menu-title-color,var(--main-foreground));text-transform:uppercase;letter-spacing:.05em;padding-block:.25rem;font-size:1rem;font-weight:500}.mobile-menu-link{border-radius:var(--radius-base);color:var(--foreground);align-items:center;gap:.5rem;padding:.75rem .5rem;transition:background-color .2s;display:flex}.mobile-menu-link:hover{background-color:var(--color-offblack)}.mobile-menu-link[data-coming-soon=true]{cursor:default}.mobile-menu-link[data-coming-soon=true]:hover{background-color:#0000}.mobile-menu-link[data-coming-soon=true] .coming-soon-badge{margin-left:0;position:static}.mobile-menu-link[data-coming-soon=true]>:not(.coming-soon-badge){opacity:.6}.dark .mobile-menu-title{--mobile-menu-title-color:var(--main)}.dark .mobile-menu a{color:var(--foreground)}.list-item{color:var(--foreground);border-radius:var(--radius-base);border:2px solid #0000;padding:.75rem;line-height:1;display:block}.list-item>*+*{margin-top:.25rem}.list-item:hover{border-color:var(--border)}.list-item[data-coming-soon=true]{color:var(--color-main-foreground);cursor:default;position:relative}.list-item[data-coming-soon=true]>div{opacity:.6}.list-item[data-coming-soon=true]:hover{border-color:#0000}@keyframes badge-wiggle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.coming-soon-badge{background:var(--main);color:var(--main-foreground);font-size:.8rem;font-weight:var(--base-font-weight);border-radius:var(--radius-base);border:2px solid var(--border);box-shadow:2px 2px 0 0 var(--border);text-transform:lowercase;letter-spacing:.02em;pointer-events:none;white-space:nowrap;z-index:1;opacity:1;justify-content:center;padding:.15rem .35rem;animation:2s steps(2,end) infinite badge-wiggle;display:flex;position:absolute;top:-7px;right:10px}@media (min-width:768px){.logo-seal{width:clamp(80px,8vw,120px)}.logo-type{width:clamp(120px,12vw,180px)}}@media (min-width:1024px){.desktop-nav{display:flex}.mobile-controls,.mobile-menu{display:none}}[data-sidebar-open=true] .desktop-nav{display:none}[data-sidebar-open=true] .mobile-controls{display:flex}@media (min-width:1100px){[data-sidebar-open=true] .desktop-nav{display:flex}[data-sidebar-open=true] .mobile-controls,[data-sidebar-open=true] .mobile-menu{display:none}}
.user-menu-content a{font-family:var(--font-mono);color:var(--main-foreground)}.user-menu-content{z-index:30;min-width:14rem;box-shadow:var(--shadow-shadow)}.user-menu-label{font-family:var(--font-mono);text-transform:lowercase;padding:0}.user-menu-header{text-align:left;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:1rem;display:flex}.user-menu-avatar{width:2rem;height:2rem}.user-menu-info{text-align:left;flex:1;font-size:1.125rem;display:grid}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-weight:500;overflow:hidden}.user-menu-email{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);color:var(--main-foreground);font-size:.875rem;overflow:hidden}.menu-item{cursor:pointer;width:100%;font-family:var(--font-mono);text-transform:lowercase;align-items:center;font-size:1rem;transition:background-color .15s,color .15s;display:flex}.menu-item:hover,.menu-item:focus{background-color:var(--accent);color:var(--accent-foreground)}.menu-item-icon{width:1rem;height:1rem;margin-right:.5rem}.menu-item-icon-svg,.dark .menu-item-icon-svg{filter:brightness(0)saturate()}.menu-item-destructive{color:var(--destructive)}.menu-item-destructive:hover,.menu-item-destructive:focus{background-color:oklch(from var(--destructive)l c h/.1);color:var(--destructive)}.user-menu-avatar-badge-container{display:inline-block;position:relative}
.language-toggle{cursor:pointer;border-radius:var(--radius-md);border:2px solid var(--color-offblack);background-color:var(--color-offwhite);width:3.5rem;height:2rem;font-family:var(--font-mono),monospace;box-shadow:1px 1.5px 0 0 var(--color-offblack);justify-content:space-between;align-items:center;padding:2px;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.language-toggle:hover{box-shadow:1px 1.5px 0 0 var(--color-offblack),inset 0 0 0 1px #0000000d}.language-toggle-en,.language-toggle-ko{background-color:var(--color-background);border-color:var(--color-border)}.language-toggle-label{color:var(--color-main-foreground);z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:50%;height:100%;font-size:.9rem;font-weight:400;line-height:1;transition:opacity .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0}.language-toggle-label-en{left:0}.language-toggle-label-ko{right:0}.language-toggle-en .language-toggle-label-en,.language-toggle-ko .language-toggle-label-ko{color:var(--color-main-foreground)}.dark .language-toggle-en .language-toggle-label-en,.dark .language-toggle-ko .language-toggle-label-ko{color:var(--color-celadon-500)}.language-toggle-en .language-toggle-label-ko,.language-toggle-ko .language-toggle-label-en{opacity:.8}.dark .language-toggle-en .language-toggle-label-ko,.dark .language-toggle-ko .language-toggle-label-en{color:var(--color-foreground)}.language-toggle-en:hover .language-toggle-label-ko,.language-toggle-ko:hover .language-toggle-label-en{opacity:1}.language-toggle-knob{z-index:4;border-radius:var(--radius-sm);border:2px solid var(--color-green-500);background-color:var(--color-celadon-500);width:45%;height:calc(100% - 4px);transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}.dark .language-toggle-knob{border-color:var(--color-celadon-500);background-color:#0000}.language-toggle-knob-en{transform:translate(0)}.language-toggle-knob-ko{transform:translate(108%)}
.announcement-trigger{cursor:pointer;border-radius:var(--radius-md);border:2px solid var(--color-border);background-color:var(--color-background);width:2rem;height:2rem;font-family:var(--font-mono),monospace;box-shadow:1px 1.5px 0 0 var(--color-border);justify-content:center;align-items:center;padding:0;transition:all .1s ease-in-out;display:flex;position:relative;overflow:visible}.dark .announcement-trigger{background-color:var(--color-zinc-700)}.dark .announcement-trigger svg{color:var(--color-celadon-500)}.announcement-trigger:hover{box-shadow:none;translate:1px 1.5px}.dark .announcement-trigger:hover{background-color:var(--color-zinc-600)}.announcement-trigger:hover .bell-icon{color:var(--color-celadon-500)}.bell-icon{color:var(--color-main-foreground);transition:color .2s cubic-bezier(.4,0,.2,1)}
