/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:"Asta Sans", "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:var(--radius-xl);--radius-2xl:var(--radius-2xl);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-500:oklch(58% .092 252);--color-primary-600:oklch(49% .084 252);--radius-full:var(--radius-full)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}}:root{color-scheme:light;--fd-space-1:.25rem;--fd-space-2:.5rem;--fd-space-3:.75rem;--fd-space-4:1rem;--fd-space-5:1.25rem;--fd-space-6:1.5rem;--fd-space-8:2rem;--fd-space-10:2.5rem;--fd-space-12:3rem;--fd-space-16:4rem;--fd-space-20:5rem;--fd-space-24:6rem;--fd-radius-sm:6px;--fd-radius-md:10px;--fd-radius-lg:14px;--fd-radius-xl:20px;--fd-radius-2xl:28px;--fd-radius-full:9999px;--fd-duration-fast:.14s;--fd-duration-surface:.24s;--fd-duration-route:.3s;--fd-duration-emphasis:.5s;--fd-duration-loading:1.2s;--fd-easing-standard:cubic-bezier(.2, 0, 0, 1);--fd-easing-entrance:cubic-bezier(0, 0, .2, 1);--fd-easing-exit:cubic-bezier(.4, 0, 1, 1);--fd-easing-emphasis:cubic-bezier(.34, 1.56, .64, 1);--accent-landing:oklch(62% .055 32);--accent-landing-soft:oklch(94% .02 32);--accent-auth:oklch(56% .082 155);--accent-auth-soft:oklch(95% .018 155);--accent-hymn:oklch(58% .085 252);--accent-hymn-soft:oklch(95% .016 252);--theme-color-light:#f7f4ee;--theme-color-dark:#15181f;--theme-transition-duration:.3s;--hanoon-easing-entrance:var(--fd-easing-entrance);--hanoon-easing-exit:var(--fd-easing-exit);--hanoon-easing-standard:var(--fd-easing-standard);--hanoon-easing-spring:var(--fd-easing-emphasis);--hanoon-duration-instant:80ms;--hanoon-duration-fast:var(--fd-duration-fast);--hanoon-duration-normal:var(--fd-duration-surface);--hanoon-duration-slow:.4s;--hanoon-duration-entrance:var(--fd-duration-emphasis);--hanoon-duration-route:var(--fd-duration-route);--hanoon-duration-loading:var(--fd-duration-loading);--hanoon-stagger-step:50ms;--space-1:var(--fd-space-1);--space-2:var(--fd-space-2);--space-3:var(--fd-space-3);--space-4:var(--fd-space-4);--space-5:var(--fd-space-5);--space-6:var(--fd-space-6);--space-8:var(--fd-space-8);--space-10:var(--fd-space-10);--space-12:var(--fd-space-12);--space-16:var(--fd-space-16);--space-20:var(--fd-space-20);--space-24:var(--fd-space-24);--radius-sm:var(--fd-radius-sm);--radius-md:var(--fd-radius-md);--radius-lg:var(--fd-radius-lg);--radius-xl:var(--fd-radius-xl);--radius-2xl:var(--fd-radius-2xl);--radius-full:var(--fd-radius-full);--shadow-sm:0 1px 3px oklch(40% .01 60/.06), 0 1px 2px oklch(40% .01 60/.04);--shadow-md:0 4px 12px oklch(35% .012 60/.08), 0 2px 4px oklch(35% .012 60/.04);--shadow-lg:0 8px 24px oklch(30% .015 60/.1), 0 4px 8px oklch(30% .015 60/.05);--shadow-xl:0 16px 40px oklch(25% .018 60/.14), 0 6px 12px oklch(25% .018 60/.06);--z-base:0;--z-raised:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-toast:50;--z-safe-area:60;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-surface:#f7f4ee;--safe-area-border:oklch(86% .01 75);--app-shell-bg:#f7f4ee;--app-shell-elevated-bg:oklch(99% .004 66);--app-shell-glass-bg:oklch(100% 0 0/.84);--app-shell-glass-blur:18px;--app-shell-border:var(--border-subtle);--app-shell-divider:oklch(88% .008 64);--nav-height:3.5rem;--nav-height-compact:2.875rem;--nav-item-height:2.375rem;--nav-item-radius:9999px;--nav-gap:.375rem;--nav-active-bg:oklch(56% .085 252/.16);--nav-active-text:oklch(43% .1 252);--nav-inactive-text:var(--text-muted);--nav-track-bg:oklch(96% .008 66/.88);--motion-route-duration:var(--fd-duration-route);--motion-route-easing:var(--hanoon-easing-standard);--motion-surface-duration:var(--fd-duration-surface);--motion-surface-easing:var(--hanoon-easing-standard);--motion-emphasis-duration:var(--fd-duration-emphasis);--motion-emphasis-easing:var(--hanoon-easing-spring);--motion-press-scale:.97;--motion-route-progress-color:oklch(56% .085 252);--text-display-size:clamp(1.75rem, 1.25rem + 2.5vw, 2.75rem);--text-display-leading:1.2;--text-display-weight:700;--text-display-tracking:-.01em;--text-heading-size:clamp(1.25rem, 1rem + 1.25vw, 1.75rem);--text-heading-leading:1.3;--text-heading-weight:600;--text-heading-tracking:-.005em;--text-title-size:clamp(1.0625rem, 1rem + .3vw, 1.25rem);--text-title-leading:1.4;--text-title-weight:600;--text-title-tracking:0;--text-body-size:1rem;--text-body-leading:1.6;--text-body-weight:400;--text-body-tracking:0;--text-caption-size:.875rem;--text-caption-leading:1.5;--text-caption-weight:400;--text-caption-tracking:.01em;--text-overline-size:.75rem;--text-overline-leading:1.4;--text-overline-weight:500;--text-overline-tracking:.05em;--text-body-leading-kr:1.75;--text-lyrics-leading:2;--surface-content:oklch(99.5% .003 65);--text-lyrics:oklch(22% .015 60);--glass-bg:oklch(100% 0 0/.65);--glass-blur:18px;--glass-border:oklch(100% 0 0/.25);--skeleton-base:oklch(94% .008 65);--skeleton-shine:oklch(98% .004 65);--focus-ring-color:oklch(56% .085 252);--focus-ring-width:2px;--focus-ring-offset:2px;--fab-size:56px;--fab-offset-x:1.25rem;--fab-offset-y:1.25rem;--fab-bg:oklch(30% .02 60);--fab-color:oklch(95% .005 70);--fab-shadow:0 6px 20px oklch(25% .018 60/.18), 0 2px 6px oklch(25% .018 60/.1);--fab-elevated-offset:4.5rem;--sheet-bg:var(--surface-raised);--sheet-border:var(--border-subtle);--sheet-radius:20px;--sheet-shadow:0 -8px 32px oklch(25% .015 60/.12), 0 -2px 8px oklch(25% .015 60/.06);--sheet-handle-bg:oklch(80% .008 65);--sheet-handle-width:36px;--sheet-handle-height:4px;--sheet-max-height:70vh;--sheet-backdrop:oklch(12% .01 252/.44);--surface-hover:oklch(93% .01 66);--surface-pressed:oklch(90% .014 65);--surface-disabled:oklch(96% .004 66);--text-disabled:oklch(72% .006 65);--overlay-bg:oklch(15% .01 60/.5);--surface-base:#fff;--surface-raised:#fff;--surface-muted:oklch(96% .008 66);--surface-emphasis:oklch(93% .012 65);--surface-inverse:oklch(28% .02 60);--border-subtle:oklch(90% .007 65);--border-strong:oklch(80% .012 62);--border-focus:oklch(56% .085 252);--text-primary:oklch(30% .02 60);--text-secondary:oklch(45% .012 60);--text-muted:oklch(58% .012 62);--text-inverse:oklch(95% .005 70);--state-info:oklch(56% .09 252);--state-success:oklch(62% .115 152);--state-warning:oklch(72% .13 82);--state-danger:oklch(60% .145 22);--feedback-info-bg:oklch(96% .02 250);--feedback-info-text:oklch(42% .09 250);--feedback-info-border:oklch(88% .04 250);--feedback-success-bg:oklch(96% .02 152);--feedback-success-text:oklch(44% .11 152);--feedback-success-border:oklch(88% .045 152);--feedback-warning-bg:oklch(97% .025 82);--feedback-warning-text:oklch(45% .1 82);--feedback-warning-border:oklch(90% .05 82);--feedback-danger-bg:oklch(96% .025 22);--feedback-danger-text:oklch(43% .105 22);--feedback-danger-border:oklch(88% .05 22);--sem-surface-base:var(--surface-base);--sem-surface-raised:var(--surface-raised);--sem-surface-muted:var(--surface-muted);--sem-surface-emphasis:var(--surface-emphasis);--sem-surface-content:var(--surface-content);--sem-text-primary:var(--text-primary);--sem-text-secondary:var(--text-secondary);--sem-text-muted:var(--text-muted);--sem-border-subtle:var(--border-subtle);--sem-border-strong:var(--border-strong);--sem-focus-ring:var(--focus-ring-color);--sem-shell-bg:var(--app-shell-bg);--sem-shell-border:var(--app-shell-border);--sem-safe-area-surface:var(--safe-area-surface);--sem-safe-area-border:var(--safe-area-border);--sem-feedback-success-bg:var(--feedback-success-bg);--sem-feedback-danger-bg:var(--feedback-danger-bg)}.dark{color-scheme:dark;--fab-bg:oklch(93% .006 70);--fab-color:oklch(20% .01 60);--fab-shadow:0 6px 20px oklch(5% .005 60/.4), 0 2px 6px oklch(5% .005 60/.25);--sheet-shadow:0 -8px 32px oklch(5% .005 60/.35), 0 -2px 8px oklch(5% .005 60/.2);--sheet-handle-bg:oklch(40% .008 60);--sheet-backdrop:oklch(5% .005 60/.65);--surface-hover:oklch(26% .012 60);--surface-pressed:oklch(22% .014 60);--surface-disabled:oklch(18% .005 60);--text-disabled:oklch(40% .006 60);--overlay-bg:oklch(5% .005 60/.7);--shadow-sm:0 1px 3px oklch(10% .005 60/.2), 0 1px 2px oklch(10% .005 60/.15);--shadow-md:0 4px 12px oklch(8% .005 60/.3), 0 2px 4px oklch(8% .005 60/.2);--shadow-lg:0 8px 24px oklch(5% .005 60/.4), 0 4px 8px oklch(5% .005 60/.25);--shadow-xl:0 16px 40px oklch(3% .005 60/.5), 0 6px 12px oklch(3% .005 60/.3);--surface-base:oklch(15% .01 60);--surface-raised:oklch(20% .012 60);--surface-muted:oklch(24% .012 60);--surface-emphasis:oklch(30% .015 60);--surface-inverse:oklch(93% .006 70);--surface-content:oklch(17% .008 60);--app-shell-bg:oklch(18% .014 258);--app-shell-elevated-bg:oklch(18% .011 60);--app-shell-glass-bg:oklch(13% .01 60/.82);--app-shell-border:oklch(28% .01 60);--app-shell-divider:oklch(30% .02 255);--safe-area-surface:oklch(18% .014 258);--safe-area-border:oklch(30% .02 255);--border-subtle:oklch(28% .012 60);--border-strong:oklch(38% .014 60);--border-focus:oklch(72% .07 252);--text-primary:oklch(93% .006 70);--text-secondary:oklch(82% .01 66);--text-muted:oklch(70% .012 64);--text-inverse:oklch(20% .01 60);--text-lyrics:oklch(96% .004 70);--glass-bg:oklch(13% .01 60/.7);--glass-blur:20px;--glass-border:oklch(100% 0 0/.08);--skeleton-base:oklch(22% .008 60);--skeleton-shine:oklch(28% .005 60);--focus-ring-color:oklch(72% .07 252);--nav-active-bg:oklch(72% .07 252/.26);--nav-active-text:oklch(88% .05 252);--nav-inactive-text:oklch(72% .012 64);--nav-track-bg:oklch(20% .01 60/.88);--motion-route-progress-color:oklch(72% .07 252);--state-info:oklch(74% .095 250);--state-success:oklch(78% .1 152);--state-warning:oklch(82% .105 82);--state-danger:oklch(76% .11 22);--feedback-info-bg:oklch(27% .03 250);--feedback-info-text:oklch(83% .07 250);--feedback-info-border:oklch(44% .055 250);--feedback-success-bg:oklch(26% .028 152);--feedback-success-text:oklch(84% .075 152);--feedback-success-border:oklch(44% .055 152);--feedback-warning-bg:oklch(29% .03 82);--feedback-warning-text:oklch(86% .075 82);--feedback-warning-border:oklch(47% .058 82);--feedback-danger-bg:oklch(26% .03 22);--feedback-danger-text:oklch(84% .08 22);--feedback-danger-border:oklch(44% .06 22)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}.focus\:not-sr-only:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:2px}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:background-color var(--theme-transition-duration,.3s),color var(--theme-transition-duration,.3s),border-color var(--theme-transition-duration,.3s),box-shadow var(--theme-transition-duration,.3s),fill var(--theme-transition-duration,.3s),stroke var(--theme-transition-duration,.3s)!important}@media(prefers-reduced-motion:reduce){html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition-duration:.01ms!important}}html.large-text{font-size:125%}.skeleton{background:linear-gradient(90deg,#efeae6,#f4f1ee 40%,#efeae6) 0 0/200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite hanoon-shimmer}.dark .skeleton{background:linear-gradient(90deg,#1d1a17,#262322 40%,#1d1a17) 0 0/200% 100%}.hanoon-toast{bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));z-index:9999;color:#f1eeeb;animation:hanoon-fade-up .3s var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both;background:#362c24;border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #38382e26}@media(min-width:640px){.hanoon-toast{bottom:1.5rem}}.hanoon-toast.hanoon-toast-exit{animation:hanoon-toast-exit .2s var(--hanoon-easing-exit,cubic-bezier(.4, 0, 1, 1)) both}.dark .hanoon-toast{color:#1a1512;background:#e7e4e0}.hanoon-toast-success{background:var(--feedback-success-bg);color:var(--feedback-success-text);border:1px solid var(--feedback-success-border)}.hanoon-toast-error{background:var(--feedback-danger-bg);color:var(--feedback-danger-text);border:1px solid var(--feedback-danger-border)}.text-display{font-size:var(--text-display-size);line-height:var(--text-display-leading);font-weight:var(--text-display-weight);letter-spacing:var(--text-display-tracking)}.text-heading{font-size:var(--text-heading-size);line-height:var(--text-heading-leading);font-weight:var(--text-heading-weight);letter-spacing:var(--text-heading-tracking)}.text-title{font-size:var(--text-title-size);line-height:var(--text-title-leading);font-weight:var(--text-title-weight);letter-spacing:var(--text-title-tracking)}.text-body{font-size:var(--text-body-size);line-height:var(--text-body-leading);font-weight:var(--text-body-weight);letter-spacing:var(--text-body-tracking)}.text-caption{font-size:var(--text-caption-size);line-height:var(--text-caption-leading);font-weight:var(--text-caption-weight);letter-spacing:var(--text-caption-tracking)}.text-overline{font-size:var(--text-overline-size);line-height:var(--text-overline-leading);font-weight:var(--text-overline-weight);letter-spacing:var(--text-overline-tracking);text-transform:uppercase}.hanoon-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--hanoon-duration-fast,.15s) var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1)),border-color var(--hanoon-duration-fast,.15s) var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1))}.hanoon-card:hover{box-shadow:var(--shadow-md)}.hanoon-card-interactive{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--hanoon-duration-normal,.25s) var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1)),border-color var(--hanoon-duration-normal,.25s) var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1)),transform var(--hanoon-duration-normal,.25s) var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1))}.hanoon-card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.hanoon-btn{border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--hanoon-duration-fast,.15s),box-shadow var(--hanoon-duration-fast,.15s),transform 80ms ease-out;border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.hanoon-btn:active{transform:scale(.97)}.hanoon-btn:disabled{opacity:.5;cursor:not-allowed}.hanoon-btn:disabled:active{transform:none}.hanoon-btn-primary{color:#f1eeeb;box-shadow:var(--shadow-sm);background:#362c24}.hanoon-btn-primary:hover{box-shadow:var(--shadow-md)}.dark .hanoon-btn-primary{color:#1a1512;background:#eae7e4}.hanoon-btn-secondary{background:var(--surface-muted);color:var(--text-primary)}.hanoon-btn-secondary:hover{background:var(--surface-emphasis)}.hanoon-btn-ghost{color:var(--text-secondary);background:0 0}.hanoon-btn-ghost:hover{background:var(--surface-muted);color:var(--text-primary)}.hanoon-btn-sm{min-height:36px;font-size:var(--text-caption-size);padding:.375rem .875rem}.hanoon-btn-md{min-height:44px;font-size:var(--text-body-size);padding:.625rem 1.25rem}.hanoon-btn-lg{min-height:52px;font-size:var(--text-title-size);padding:.75rem 1.5rem}.hanoon-input{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-base);width:100%;color:var(--text-primary);font-size:var(--text-body-size);transition:border-color var(--hanoon-duration-fast,.15s),box-shadow var(--hanoon-duration-fast,.15s);outline:none;padding:.625rem 1rem}.hanoon-input::placeholder{color:var(--text-muted)}.hanoon-input:focus{border-color:#a25e2b;box-shadow:0 0 0 3px #a25e2b1f}.dark .hanoon-input:focus{border-color:#c6916e;box-shadow:0 0 0 3px #c6916e26}.hanoon-chip{border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-overline-size);align-items:center;padding:.25rem .625rem;font-weight:500;display:inline-flex}.hanoon-tab{border-radius:var(--radius-full);font-size:var(--text-caption-size);color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--hanoon-duration-fast,.15s),color var(--hanoon-duration-fast,.15s),border-color var(--hanoon-duration-fast,.15s),box-shadow var(--hanoon-duration-fast,.15s),transform 80ms ease-out;padding:.375rem .875rem;font-weight:500}.hanoon-tab:hover{background:var(--surface-emphasis);border-color:var(--border-strong)}.hanoon-tab:active{transform:scale(.95)}.hanoon-tab-active,.hanoon-tab[aria-selected=true]{color:#fff;box-shadow:var(--shadow-sm);background:#a25e2b;border-color:#884c1e}.hanoon-tab-active:hover,.hanoon-tab[aria-selected=true]:hover{background:#884c1e}.hanoon-tab-active:active,.hanoon-tab[aria-selected=true]:active{transform:scale(.95)}.hanoon-badge{border-radius:var(--radius-full);background:var(--surface-emphasis);min-width:1.5rem;height:1.5rem;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.hanoon-divider{background:var(--border-subtle);border:none;height:1px;margin:0}.hanoon-overlay{z-index:var(--z-overlay,30);background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);position:fixed;inset:0}.hanoon-feedback-success{background:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);color:var(--feedback-success-text);border-radius:var(--radius-md);font-size:var(--text-caption-size);padding:.375rem .75rem}.hanoon-feedback-danger{background:var(--feedback-danger-bg);border:1px solid var(--feedback-danger-border);color:var(--feedback-danger-text);border-radius:var(--radius-md);font-size:var(--text-caption-size);padding:.375rem .75rem}.hanoon-feedback-warning{background:var(--feedback-warning-bg);border:1px solid var(--feedback-warning-border);color:var(--feedback-warning-text);border-radius:var(--radius-md);font-size:var(--text-caption-size);padding:.375rem .75rem}.hanoon-feedback-info{background:var(--feedback-info-bg);border:1px solid var(--feedback-info-border);color:var(--feedback-info-text);border-radius:var(--radius-md);font-size:var(--text-caption-size);padding:.375rem .75rem}.hanoon-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur,18px));border:1px solid var(--glass-border);border-radius:var(--radius-xl)}.hanoon-reading-surface{background:var(--surface-content);border-radius:var(--radius-lg);padding:var(--space-5)}.hanoon-skeleton{background:linear-gradient(90deg,var(--skeleton-base) 0%,var(--skeleton-shine) 40%,var(--skeleton-base) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite hanoon-shimmer}.hanoon-focus-ring:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset,2px)}.hanoon-mini-player{z-index:var(--z-sticky,20);padding-bottom:var(--safe-area-bottom);background:var(--app-shell-glass-bg);-webkit-backdrop-filter:blur(var(--app-shell-glass-blur,18px));border-top:1px solid var(--border-subtle);position:fixed;bottom:0;left:0;right:0}.hanoon-section-card{transition:background-color var(--hanoon-duration-fast,.15s)}@media(min-width:640px){.hanoon-section-card{padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-sm)}}.shell,.hanoon-shell{width:min(1120px,100%);padding-inline:var(--space-4);margin-inline:auto}.rail,.hanoon-rail{border-radius:var(--radius-xl);border:1px solid var(--app-shell-border);background:var(--app-shell-elevated-bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.375rem;padding:.75rem;display:flex}.hanoon-safe-area-cover{height:var(--safe-area-top);z-index:var(--z-safe-area,60);pointer-events:none;background:var(--safe-area-surface,var(--app-shell-bg));border-bottom:1px solid var(--safe-area-border,transparent);position:fixed;top:0;left:0;right:0}.safe-area-sync,.hanoon-safe-area-sync{background:var(--safe-area-surface,var(--app-shell-bg));color:inherit}.hanoon-topbar{z-index:var(--z-sticky,20);padding-top:var(--safe-area-top);border-bottom:1px solid var(--safe-area-border,var(--app-shell-border));background:var(--app-shell-glass-bg);-webkit-backdrop-filter:blur(var(--app-shell-glass-blur,18px));position:sticky;top:0}.hanoon-tab-rail{align-items:center;gap:var(--nav-gap);scrollbar-width:none;-ms-overflow-style:none;padding:.375rem .125rem .25rem;display:flex;overflow-x:auto}.hanoon-tab-rail::-webkit-scrollbar{display:none}.hanoon-tab-pill{min-height:var(--nav-item-height);border-radius:var(--nav-item-radius);color:var(--nav-inactive-text);white-space:nowrap;transition:background-color var(--motion-surface-duration) var(--motion-surface-easing),color var(--motion-surface-duration) var(--motion-surface-easing),transform var(--hanoon-duration-fast) var(--hanoon-easing-standard);justify-content:center;align-items:center;padding:0 .875rem;text-decoration:none;display:inline-flex}.hanoon-tab-pill:hover{background:var(--surface-hover);color:var(--text-secondary)}.hanoon-tab-pill[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active-text)}.hanoon-tab-pill:active{transform:scale(var(--motion-press-scale))}.hanoon-route-progress,.route-progress{height:2px;z-index:var(--z-toast,50);pointer-events:none;position:fixed;top:0;left:0;right:0}.hanoon-route-progress:before,.route-progress:before{content:"";background:var(--motion-route-progress-color);transform-origin:0;width:30%;height:100%;animation:1.1s linear infinite hanoon-route-progress-indeterminate;display:block}.hanoon-shimmer{background:var(--surface-muted);position:relative;overflow:hidden}.hanoon-shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.6s ease-in-out infinite hanoon-shimmer;position:absolute;inset:0}.hanoon-fab{bottom:calc(var(--fab-offset-y) + var(--safe-area-bottom));right:var(--fab-offset-x);z-index:var(--z-overlay,30);width:var(--fab-size);height:var(--fab-size);background:var(--fab-bg);color:var(--fab-color);box-shadow:var(--fab-shadow);cursor:pointer;transition:transform var(--hanoon-duration-fast,.14s) var(--hanoon-easing-standard),box-shadow var(--hanoon-duration-fast,.14s) var(--hanoon-easing-standard);-webkit-tap-highlight-color:transparent;will-change:transform;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.floating-menu-button,.hanoon-floating-menu-button{bottom:calc(var(--fab-offset-y) + var(--safe-area-bottom));right:var(--fab-offset-x);z-index:var(--z-overlay,30);width:var(--fab-size);height:var(--fab-size);background:var(--fab-bg);color:var(--fab-color);box-shadow:var(--fab-shadow);border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed}.hanoon-fab:hover{box-shadow:var(--shadow-lg)}.hanoon-fab:active{transform:scale(var(--motion-press-scale,.97))}.hanoon-fab svg{width:24px;height:24px;transition:transform var(--hanoon-duration-normal,.24s) var(--hanoon-easing-spring)}.hanoon-fab.is-open svg{transform:rotate(90deg)scale(.9)}.hanoon-fab-elevated{bottom:calc(var(--fab-elevated-offset) + var(--safe-area-bottom))}.hanoon-sheet-backdrop{z-index:calc(var(--z-overlay,30) - 1);background:var(--sheet-backdrop);opacity:0;pointer-events:none;transition:opacity var(--hanoon-duration-fast,.14s) var(--hanoon-easing-standard);position:fixed;inset:0}.hanoon-sheet-backdrop.is-open{opacity:1;pointer-events:auto}.hanoon-sheet{z-index:var(--z-overlay,30);max-height:var(--sheet-max-height);background:var(--sheet-bg);border-top-left-radius:var(--sheet-radius);border-top-right-radius:var(--sheet-radius);box-shadow:var(--sheet-shadow);transition:transform var(--hanoon-duration-normal,.24s) var(--hanoon-easing-entrance);padding-bottom:var(--safe-area-bottom);will-change:transform;touch-action:none;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.command-sheet,.hanoon-command-sheet{z-index:var(--z-overlay,30);max-height:var(--sheet-max-height);background:var(--sheet-bg);border-top-left-radius:var(--sheet-radius);border-top-right-radius:var(--sheet-radius);box-shadow:var(--sheet-shadow);transition:transform var(--motion-surface-duration,.24s) var(--motion-surface-easing);padding-bottom:var(--safe-area-bottom);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.command-sheet.is-open,.hanoon-command-sheet.is-open,.hanoon-sheet.is-open{transform:translateY(0)}.hanoon-sheet-handle{cursor:grab;justify-content:center;padding:.75rem 0 .5rem;display:flex}.hanoon-sheet-handle:before{content:"";width:var(--sheet-handle-width);height:var(--sheet-handle-height);border-radius:var(--radius-full);background:var(--sheet-handle-bg)}.hanoon-sheet-body{overscroll-behavior:contain;max-height:calc(var(--sheet-max-height) - 2.5rem);padding:0 1.25rem 1.25rem;overflow-y:auto}.hanoon-theme-toggle{top:calc(var(--safe-area-top) + .6rem);z-index:var(--z-sticky,20);border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;min-height:2.25rem;box-shadow:var(--shadow-sm);transition:background-color var(--hanoon-duration-fast,.14s),color var(--hanoon-duration-fast,.14s),border-color var(--hanoon-duration-fast,.14s),box-shadow var(--hanoon-duration-fast,.14s);align-items:center;gap:.4rem;padding:0 .75rem;font-size:.8rem;display:inline-flex;position:fixed;right:.75rem}.hanoon-theme-toggle:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.hanoon-theme-toggle svg{width:1rem;height:1rem}.hanoon-skip-link:focus{top:calc(var(--safe-area-top) + .5rem);z-index:var(--z-toast,50);background:var(--surface-raised);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-caption-size);padding:.45rem .8rem;position:fixed;left:.75rem}body.hanoon-menu-open{touch-action:none;overflow:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}.hanoon-route-progress:before,.hanoon-shimmer:after{animation:none!important}.hanoon-fab svg,.hanoon-sheet,.hanoon-sheet-backdrop{transition:none!important}}@keyframes hanoon-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hanoon-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hanoon-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes hanoon-slide-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes hanoon-route-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hanoon-route-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes hanoon-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-2px)}40%,80%{transform:translate(2px)}}@keyframes hanoon-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes hanoon-spin{to{transform:rotate(360deg)}}@keyframes hanoon-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes hanoon-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes hanoon-scale-tap{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes hanoon-bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes hanoon-tab-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes hanoon-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@keyframes hanoon-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes hanoon-overlay-exit{0%{opacity:1}to{opacity:0}}@keyframes hanoon-drawer-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes hanoon-check-draw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes hanoon-toast-exit{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(8px)}}@keyframes hanoon-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes hanoon-route-progress-indeterminate{0%{opacity:.3;transform:translate(-120%)scaleX(.25)}45%{opacity:.95;transform:translate(25%)scaleX(1)}to{opacity:.1;transform:translate(360%)scaleX(.45)}}@keyframes hanoon-loading-breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes hanoon-content-appear{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes hanoon-route-slide-forward{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes hanoon-route-slide-back{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes hanoon-success-pulse{0%{box-shadow:0 0 #499a6366}70%{box-shadow:0 0 0 10px #499a6300}to{box-shadow:0 0 #499a6300}}@keyframes hanoon-fab-enter{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes hanoon-icon-morph{0%{opacity:1;transform:rotate(0)scale(1)}40%{opacity:.6;transform:rotate(45deg)scale(.85)}to{opacity:1;transform:rotate(90deg)scale(1)}}@keyframes hanoon-mini-player-enter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:hanoon-fade-in var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-fade-up{animation:hanoon-fade-up var(--hanoon-duration-entrance,.46s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-scale-in{animation:hanoon-scale-in var(--hanoon-duration-normal,.25s) var(--hanoon-easing-spring,cubic-bezier(.34, 1.56, .64, 1)) both}.animate-shake{animation:hanoon-shake var(--hanoon-duration-fast,.15s) ease-in-out}.animate-pulse{animation:2s ease-in-out infinite hanoon-pulse}.animate-spin{animation:1s linear infinite hanoon-spin}.motion-route-enter{animation:hanoon-route-enter var(--hanoon-duration-route,.3s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.motion-route-exit{animation:hanoon-route-exit var(--hanoon-duration-route,.3s) var(--hanoon-easing-exit,cubic-bezier(.4, 0, 1, 1)) both}.motion-loading{animation:hanoon-loading-breathe var(--hanoon-duration-loading,1.2s) ease-in-out infinite}.animate-slide-up{animation:hanoon-slide-up var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-slide-down{animation:hanoon-slide-down var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-bounce-in{animation:hanoon-bounce-in var(--hanoon-duration-slow,.4s) var(--hanoon-easing-spring,cubic-bezier(.34, 1.56, .64, 1)) both}.animate-overlay-enter{animation:hanoon-overlay-enter var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-overlay-exit{animation:hanoon-overlay-exit var(--hanoon-duration-fast,.15s) var(--hanoon-easing-exit,cubic-bezier(.4, 0, 1, 1)) both}.animate-drawer-enter{animation:hanoon-drawer-enter var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-check{stroke-dasharray:24;stroke-dashoffset:24px;animation:hanoon-check-draw var(--hanoon-duration-normal,.25s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-tab-enter{animation:hanoon-tab-enter var(--hanoon-duration-fast,.15s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-route-progress{animation:1.1s linear infinite hanoon-route-progress-indeterminate}.animate-content-appear{animation:hanoon-content-appear var(--hanoon-duration-entrance,.5s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.animate-success-pulse{animation:.6s ease-out hanoon-success-pulse}.animate-mini-player-enter{animation:hanoon-mini-player-enter var(--hanoon-duration-normal,.25s) var(--hanoon-easing-spring,cubic-bezier(.34, 1.56, .64, 1)) both}.animate-fab-enter{animation:hanoon-fab-enter var(--hanoon-duration-slow,.4s) var(--hanoon-easing-spring,cubic-bezier(.34, 1.56, .64, 1)) both}.press-feedback{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.press-feedback:active{transition:transform 80ms ease-out;transform:scale(.96)}.transition-base{transition-property:color,background-color,border-color,opacity;transition-duration:var(--hanoon-duration-fast,.15s);transition-timing-function:var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1))}.transition-interactive{transition-property:color,background-color,border-color,box-shadow,transform,opacity;transition-duration:var(--hanoon-duration-normal,.25s);transition-timing-function:var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1))}.transition-elevation{transition-property:box-shadow,transform;transition-duration:var(--hanoon-duration-normal,.25s);transition-timing-function:var(--hanoon-easing-standard,cubic-bezier(.2, 0, 0, 1))}.loading-skeleton,.skeleton{background:linear-gradient(90deg,#efeae6,#f4f1ee 40%,#efeae6) 0 0/200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite hanoon-shimmer}.dark .loading-skeleton,.dark .skeleton{background:linear-gradient(90deg,#1d1a17,#262322 40%,#1d1a17) 0 0/200% 100%}.stagger-children>*{opacity:0;animation:hanoon-fade-up var(--hanoon-duration-entrance,.46s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1)) both}.stagger-children>:first-child{animation-delay:calc(var(--hanoon-stagger-step,50ms) * 0)}.stagger-children>:nth-child(2){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 1)}.stagger-children>:nth-child(3){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 2)}.stagger-children>:nth-child(4){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 3)}.stagger-children>:nth-child(5){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 4)}.stagger-children>:nth-child(6){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 5)}.stagger-children>:nth-child(7){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 6)}.stagger-children>:nth-child(8){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 7)}.stagger-children>:nth-child(9){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 8)}.stagger-children>:nth-child(10){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 9)}.stagger-children>:nth-child(11){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 10)}.stagger-children>:nth-child(12){animation-delay:calc(var(--hanoon-stagger-step,50ms) * 11)}::view-transition-old(root){animation:hanoon-route-exit var(--hanoon-duration-route,.3s) var(--hanoon-easing-exit,cubic-bezier(.4, 0, 1, 1))}::view-transition-new(root){animation:hanoon-route-enter var(--hanoon-duration-route,.3s) var(--hanoon-easing-entrance,cubic-bezier(0, 0, .2, 1))}html[data-nav-direction=forward] ::view-transition-new(root){animation-name:hanoon-route-slide-forward}html[data-nav-direction=back] ::view-transition-new(root){animation-name:hanoon-route-slide-back}@media(prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-up,.animate-scale-in,.animate-shake,.animate-pulse,.animate-spin,.animate-slide-up,.animate-slide-down,.animate-bounce-in,.animate-tab-enter,.animate-overlay-enter,.animate-overlay-exit,.animate-drawer-enter,.animate-check,.animate-content-appear,.animate-success-pulse,.animate-fab-enter,.animate-mini-player-enter,.motion-route-enter,.motion-route-exit,.motion-loading,.loading-skeleton,.skeleton,.stagger-children>*{opacity:1!important;animation:none!important;transform:none!important}.press-feedback:active{transform:none!important}.transition-base,.transition-interactive,.transition-elevation{transition-duration:.01ms!important}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}:root{--landing-glow-primary:oklch(66% .09 252/.28);--landing-glow-secondary:oklch(74% .09 72/.2);--landing-glow-accent:oklch(70% .08 252/.14);--landing-panel-bg:oklch(100% 0 0/.72);--landing-panel-bg-dark:oklch(16% .015 252/.76);--landing-panel-border:oklch(90% .008 65/.8);--landing-shadow:0 24px 80px oklch(20% .03 252/.2)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}html{background:var(--app-shell-bg)}body{color:var(--text-primary);background:radial-gradient(circle at 8% -12%,var(--landing-glow-primary),transparent 42%),radial-gradient(circle at 94% -8%,var(--landing-glow-secondary),transparent 48%),linear-gradient(160deg,#fffdfb,#f9f4ef 50%,#fcfaf7);-webkit-font-smoothing:antialiased;transition:background-color var(--motion-surface-duration) var(--motion-surface-easing),color var(--motion-surface-duration) var(--motion-surface-easing);font-family:Noto Serif KR,Georgia,serif;line-height:1.75}.dark body{background:radial-gradient(circle at 8% -12%,#2f557d38,#0000 44%),radial-gradient(circle at 94% -8%,#76572e2e,#0000 52%),linear-gradient(160deg,#06090e,#090e13 45%,#040609)}.dark body:before{opacity:.08}body:before{content:"";pointer-events:none;z-index:-1;opacity:.2;background-image:linear-gradient(90deg,#a89c921a 1px,#0000 1px),linear-gradient(#a89c921a 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 30% -10%,#000 0%,#0000 70%);mask-image:radial-gradient(circle at 30% -10%,#000,#0000 70%)}a{color:inherit}.hero{min-height:100svh;padding:calc(var(--safe-area-top) + 4rem) 1.25rem 3rem;place-items:center;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(28px);pointer-events:none;border-radius:9999px;position:absolute}.hero:before{background:radial-gradient(circle,#f28c5a57,#0000 70%);width:52vmax;height:52vmax;animation:14s ease-in-out infinite landing-float-slow;top:-22vmax;left:-18vmax}.hero:after{background:radial-gradient(circle,#41b59c47,#0000 70%);width:46vmax;height:46vmax;animation:16s ease-in-out infinite landing-float-reverse;bottom:-20vmax;right:-16vmax}#hero-content{z-index:1;text-align:center;max-width:760px;position:relative}.hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:var(--landing-panel-bg);border:1px solid var(--landing-panel-border);-webkit-backdrop-filter:blur(8px);border-radius:9999px;align-items:center;gap:.5rem;padding:.4rem .85rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.74rem;display:inline-flex}.hero-title{letter-spacing:.15em;color:#0e2034;margin-top:1.2rem;font-size:clamp(3.1rem,9.5vw,6.4rem);font-weight:800;line-height:.98}.dark .hero-title{color:#e7dcd0;text-shadow:0 0 38px oklch(70% .08 55/.18)}.hero-sub{letter-spacing:.45em;text-transform:uppercase;color:var(--text-muted);margin-top:.25rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.9rem}.hero-slogan{color:var(--text-secondary);margin:1rem 0 1.6rem;font-size:clamp(1.05rem,1.8vw,1.4rem);font-style:italic}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.hero-btn{min-height:46px;transition:transform var(--hanoon-duration-fast) var(--hanoon-easing-standard),box-shadow var(--motion-surface-duration) var(--motion-surface-easing),background-color var(--motion-surface-duration) var(--motion-surface-easing),color var(--motion-surface-duration) var(--motion-surface-easing);border-radius:9999px;justify-content:center;align-items:center;padding:.7rem 1.15rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.hero-btn:hover{transform:translateY(-2px)}.hero-btn-primary{color:#fff;box-shadow:var(--landing-shadow);background:linear-gradient(140deg,#507daf,#406690,#956b33)}.hero-btn-primary:hover{box-shadow:var(--landing-shadow),0 0 24px #a25e2b59}.hero-btn-secondary{background:var(--landing-panel-bg);color:var(--text-primary);border:1px solid var(--landing-panel-border);-webkit-backdrop-filter:blur(8px)}.scroll-hint{color:var(--text-muted);flex-direction:column;align-items:center;margin-top:2rem;animation:2s ease-in-out infinite hanoon-scroll-bounce;display:inline-flex}.scroll-hint svg{width:1.2rem;height:1.2rem}@keyframes hanoon-scroll-bounce{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}@keyframes landing-float-slow{0%,to{transform:translate(0)}50%{transform:translate(20px,14px)}}@keyframes landing-float-reverse{0%,to{transform:translate(0)}50%{transform:translate(-24px,-12px)}}.section{max-width:860px;margin:0 auto;padding:4.5rem 1.5rem}.section>:first-child{margin-top:0}.section-divider{text-align:center}.section-divider span{background:linear-gradient(90deg,transparent,var(--border-strong),transparent);width:min(16vw,116px);height:1px;display:inline-block}h2{text-align:center;margin:0 0 1.4rem;font-size:clamp(1.42rem,2.2vw,2rem)}.name-origin,.wordplay,.services{background:var(--landing-panel-bg);border:1px solid var(--landing-panel-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);border-radius:22px;padding:1.8rem}.dark .name-origin,.dark .wordplay,.dark .services{background:var(--landing-panel-bg-dark)}.name-origin{text-align:center}.name-breakdown{justify-content:center;gap:.35rem;margin-bottom:.75rem;font-size:clamp(1.7rem,3.6vw,2.35rem);font-weight:700;display:flex}.name-breakdown .annotation{color:var(--text-muted);font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.7rem;font-weight:500;display:block}.name-origin p{color:var(--text-secondary);margin:0}.verse{background:var(--landing-panel-bg);border:1px solid var(--landing-panel-border);border-left:0 solid var(--color-primary-500);box-shadow:var(--shadow-sm);transition:border-left-width var(--hanoon-duration-entrance) var(--hanoon-easing-entrance),transform var(--hanoon-duration-fast) var(--hanoon-easing-standard);border-radius:0 18px 18px 0;margin-bottom:.85rem;padding:1.15rem 1.2rem}.dark .verse{background:var(--landing-panel-bg-dark)}.verse.visible{border-left-width:4px}.verse p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.95rem}.verse .ref{text-align:right;color:var(--text-muted);font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.77rem}.verse-note{text-align:center;color:var(--text-secondary);margin:1.1rem 0 0;font-size:.91rem}.meaning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.meaning-card{border:1px solid var(--landing-panel-border);background:var(--landing-panel-bg);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--hanoon-duration-normal) var(--hanoon-easing-standard),box-shadow var(--hanoon-duration-normal) var(--hanoon-easing-standard);border-radius:16px;padding:1.15rem}.dark .meaning-card{background:var(--landing-panel-bg-dark)}.meaning-card{position:relative;overflow:hidden}.meaning-card:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--hanoon-duration-normal);background:linear-gradient(135deg,#c9934b,#517dae,#4f9c8e);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.meaning-card:hover:before{opacity:1}.meaning-card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-3px)}.meaning-card .lang{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.75rem}.meaning-card .word{margin:.25rem 0;font-size:1.24rem;font-weight:700}.meaning-card .def{color:var(--text-secondary);font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.85rem}.wordplay-sub{color:var(--text-secondary);margin:0;font-size:.94rem}.wordplay-list{flex-wrap:wrap;justify-content:center;gap:.62rem;margin-top:1rem;display:flex}.wordplay-list span{border:1px solid var(--landing-panel-border);background:var(--surface-muted);color:var(--text-secondary);transition:transform var(--hanoon-duration-fast),border-color var(--hanoon-duration-fast);border-radius:999px;padding:.45rem .92rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.9rem;display:inline-block}.wordplay-list span:hover{border-color:var(--border-strong);transform:translateY(-2px)}.wordplay-note{color:var(--text-muted);margin-top:1rem;font-size:.86rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.service-card{border:1px solid var(--landing-panel-border);background:var(--landing-panel-bg);box-shadow:var(--shadow-sm);transition:transform var(--hanoon-duration-normal) var(--hanoon-easing-standard),box-shadow var(--hanoon-duration-normal) var(--hanoon-easing-standard),border-color var(--hanoon-duration-normal) var(--hanoon-easing-standard);border-radius:16px;padding:1.25rem 1.15rem;text-decoration:none;position:relative;overflow:hidden}.dark .service-card{background:var(--landing-panel-bg-dark)}.service-card:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--hanoon-duration-normal);background:linear-gradient(130deg,#be8e4f,#4c77a8,#499688);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.service-card:hover:before{opacity:1}.service-card:hover{box-shadow:var(--landing-shadow),0 0 20px var(--landing-glow-accent);border-color:#0000;transform:translateY(-4px)}.service-name{margin-bottom:.25rem;font-size:1.06rem;font-weight:700}.service-desc{color:var(--text-secondary);font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.8rem}.service-cta{color:var(--color-primary-600);transition:letter-spacing var(--hanoon-duration-fast);margin-top:.8rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.84rem;font-weight:600}.service-card:hover .service-cta{letter-spacing:.05em}footer{border-top:1px solid var(--border-subtle);text-align:center;padding:3rem 1.5rem calc(2.4rem + var(--safe-area-bottom));color:var(--text-muted);font-size:.8rem}.footer-acronym{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-top:.5rem;font-family:Asta Sans,Noto Sans KR,system-ui,sans-serif;font-size:.69rem}.reveal{opacity:0;transition:opacity var(--hanoon-duration-entrance) var(--hanoon-easing-entrance),transform var(--hanoon-duration-entrance) var(--hanoon-easing-entrance);transform:translateY(14px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity var(--hanoon-duration-entrance) var(--hanoon-easing-entrance),transform var(--hanoon-duration-entrance) var(--hanoon-easing-entrance);transform:translate(-14px)}.reveal-left.visible{opacity:1;transform:translate(0)}.stagger-item{opacity:0;filter:blur(2px);transition:opacity var(--hanoon-duration-normal) var(--hanoon-easing-entrance),transform var(--hanoon-duration-normal) var(--hanoon-easing-entrance),filter var(--hanoon-duration-normal) var(--hanoon-easing-entrance);transform:translateY(10px)}.stagger-item.visible{opacity:1;filter:blur();transform:translateY(0)}.stagger-item:first-child{transition-delay:calc(var(--hanoon-stagger-step) * 0)}.stagger-item:nth-child(2){transition-delay:calc(var(--hanoon-stagger-step) * 1)}.stagger-item:nth-child(3){transition-delay:calc(var(--hanoon-stagger-step) * 2)}.stagger-item:nth-child(4){transition-delay:calc(var(--hanoon-stagger-step) * 3)}.stagger-item:nth-child(5){transition-delay:calc(var(--hanoon-stagger-step) * 4)}.stagger-item:nth-child(6){transition-delay:calc(var(--hanoon-stagger-step) * 5)}@media(max-width:860px){.section{padding:3rem 1rem}.service-grid{grid-template-columns:1fr}}@media(max-width:640px){.hero{padding-top:calc(var(--safe-area-top) + 3rem)}.hero-title{letter-spacing:.12em}.meaning-grid{grid-template-columns:1fr}.name-origin,.wordplay,.services{padding:1.25rem}.hero-actions{gap:.55rem}.hero-btn{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.stagger-item{opacity:1!important;transition:none!important;transform:none!important}.hero:before,.hero:after,.scroll-hint{animation:none!important}.service-card:hover,.meaning-card:hover,.wordplay-list span:hover,.hero-btn:hover{transform:none!important}.service-card:hover .service-cta{letter-spacing:inherit!important}.verse{border-left-width:3px!important;transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
