@layer theme,base,components,animations,utilities;@layer base{*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*{margin:0}html{tab-size:4}body,dialog,[popover]{font-family:var(--font-sans);font-size:var(--text-regular);line-height:var(--leading-normal);color:var(--foreground)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{max-width:100%}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.25;&:first-child{margin-block-start:0}}h1{font-size:var(--text-1);margin:var(--space-10) 0 var(--space-6)}h2{font-size:var(--text-2);margin:var(--space-8) 0 var(--space-5)}h3{font-size:var(--text-3);margin:var(--space-6) 0 var(--space-4)}h4{font-size:var(--text-4);margin:var(--space-5) 0 var(--space-3)}h5{font-size:var(--text-5);margin:var(--space-4) 0 var(--space-2)}h6{font-size:var(--text-regular);margin:var(--space-4) 0 var(--space-2)}p{margin-block-end:var(--space-4);&:last-child{margin-block-end:0}}a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast);&:hover{color:rgb(from var(--primary) r g b / .8)}}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}small{font-size:var(--text-7)}code{font-family:var(--font-mono);font-size:.875em;padding:calc(var(--space-1) / 2) var(--space-1);background-color:var(--faint);border-radius:var(--radius-small)}pre{font-family:var(--font-mono);padding:var(--space-4);background-color:var(--faint);border-radius:var(--radius-medium);overflow-x:auto;margin-block-end:var(--space-4);code{padding:0;background:none;border-radius:0}}blockquote{border-inline-start:4px solid var(--border);padding-inline-start:var(--space-4);margin:var(--space-4) 0;color:var(--muted-foreground);font-style:italic}hr{border:none;border-top:1px solid var(--border);margin:var(--space-2) 0}ul,ol{padding-inline-start:var(--space-6);margin-block-end:var(--space-4)}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-block-end:var(--space-1)}mark{background-color:rgb(from var(--warning) r g b / .3);padding:calc(var(--space-1) / 2) var(--space-1);border-radius:var(--radius-small)}[hidden]{display:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}:disabled{opacity:.5;cursor:not-allowed}}@layer theme{:root{color-scheme:light dark;--background: light-dark(#fff, #09090b);--foreground: light-dark(#09090b, #fafafa);--card: light-dark(#fff, #18181b);--card-foreground: light-dark(#09090b, #fafafa);--primary: light-dark(#574747, #fafafa);--primary-foreground: light-dark(#fafafa, #18181b);--secondary: light-dark(#f4f4f5, #27272a);--secondary-foreground: light-dark(#574747, #fafafa);--muted: light-dark(#f4f4f5, #27272a);--muted-foreground: light-dark(#71717a, #a1a1aa);--faint: light-dark(#fafafa, #1e1e21);--faint-foreground: light-dark(#a1a1aa, #71717a);--accent: light-dark(#f4f4f5, #27272a);--danger: light-dark(#d32f2f, #f4807b);--danger-foreground: light-dark(#fafafa, #18181b);--success: light-dark(#008032, #6cc070);--success-foreground: light-dark(#fafafa, #18181b);--warning: light-dark(#a65b00, #f0a030);--warning-foreground: #09090b;--border: light-dark(#d4d4d8, #52525b);--input: light-dark(#d4d4d8, #52525b);--ring: light-dark(#574747, #d4d4d8);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-18: 4.5rem;--radius-small: .125rem;--radius-medium: .375rem;--radius-large: .75rem;--radius-full: 9999px;--bar-height: .5rem;--font-sans: system-ui, sans-serif;--font-mono: ui-monospace, Consolas, monospace;--text-1: clamp(1.75rem, 1.5rem + 1.1vw, 2.25rem);--text-2: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);--text-3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--text-5: 1.125rem;--text-6: 1rem;--text-7: .875rem;--text-8: .75rem;--text-regular: var(--text-6);--leading-normal: 1.5;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 600;--shadow-small: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-medium: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-large: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 50;--z-modal: 200}}@layer animations{.animate-pop-in{opacity:1;transform:perspective(1000px) rotateX(0) translateZ(0);transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),overlay .15s cubic-bezier(.4,0,.2,1) allow-discrete,display .15s cubic-bezier(.4,0,.2,1) allow-discrete;@starting-style{opacity:0;transform:perspective(1000px) rotateX(-15deg) translateZ(-80px)}&[data-state=closing]{opacity:0;transform:perspective(1000px) rotateX(-15deg) translateZ(-80px)}&[data-state=closing]::backdrop{opacity:0}}dialog::backdrop{opacity:1;transition:opacity .15s cubic-bezier(.4,0,.2,1);@starting-style{opacity:0}}.animate-slide-in{opacity:1;transform:translate(0);transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);@starting-style{opacity:0;transform:translate(100%)}&[data-state=closing]{opacity:0;transform:translate(100%)}}}@layer base{:is(button,[type=submit],[type=reset],[type=button],a.button),::file-selector-button{--_hov: color-mix(in srgb, var(--primary), white 25%);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-7);font-weight:var(--font-medium);line-height:var(--leading-normal);white-space:nowrap;text-decoration:none;background-color:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-medium);border:1px solid;border-color:rgb(from #fff r g b / .15) rgb(from #000 r g b / .2) rgb(from #000 r g b / .2) rgb(from #fff r g b / .15);transition:background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);&:not(:disabled){cursor:pointer}&:hover:not(:disabled){background-color:var(--_hov)}&:active:not(:disabled){transform:translate(1px,1px)}&[data-variant=secondary]{--_hov: color-mix(in srgb, var(--secondary), black 10%);background-color:var(--secondary);color:var(--secondary-foreground);border-color:rgb(from #fff r g b / .5) rgb(from #000 r g b / .1) rgb(from #000 r g b / .1) rgb(from #fff r g b / .5)}&[data-variant=danger]{--_hov: color-mix(in srgb, var(--danger), black 15%);background-color:var(--danger);color:var(--danger-foreground)}&:is(.outline,.ghost){--_hov: var(--accent);background-color:transparent;color:var(--foreground);&[data-variant=danger]{--_hov: color-mix(in srgb, var(--danger), transparent 90%);color:var(--danger)}&[data-variant=secondary]{--_hov: color-mix(in srgb, var(--secondary), transparent 80%);color:var(--secondary-foreground)}}&.outline{border-color:var(--border);&[data-variant=danger]{border-color:var(--danger)}&[data-variant=secondary]{border-color:var(--secondary)}}&.ghost{border-color:transparent}&.small{padding:var(--space-1) var(--space-3);font-size:var(--text-8)}&.large{height:3rem;padding:0 var(--space-6);font-size:var(--text-regular)}&.icon{width:2.5rem;padding:0;&.small{width:2rem}&.large{width:3rem}}}::file-selector-button{background-color:transparent;color:var(--foreground);border:1px solid var(--border)}::file-selector-button:hover{background-color:var(--accent)}}@layer components{menu.buttons{list-style-type:none;padding-inline-start:0;display:inline-flex;>li{&:first-child>*{border-start-start-radius:var(--radius-medium);border-end-start-radius:var(--radius-medium)}&:last-child>*{border-start-end-radius:var(--radius-medium);border-end-end-radius:var(--radius-medium)}>*{border-radius:0}&:not(:last-child)>*{border-inline-end:1px solid rgb(from var(--primary-foreground) r g b / .2)}}}}@layer base{label{display:block;font-size:var(--text-7);font-weight:var(--font-medium);&:has(input:where([type=checkbox],[type=radio])){display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-normal)}}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),textarea,select){width:100%;margin-block-start:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-7);line-height:var(--leading-normal);background-color:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-medium);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);&::placeholder{color:var(--muted-foreground)}&:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px rgb(from var(--ring) r g b / .2);z-index:1}&:disabled{background-color:var(--muted)}&:is([aria-invalid=true],:user-invalid){border-color:var(--danger);&:focus{box-shadow:0 0 0 2px rgb(from var(--danger) r g b / .2)}}}textarea{height:auto;min-height:5rem;padding:var(--space-3);resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-inline-end:var(--space-6)}input:where([type=checkbox],[type=radio]){appearance:none;width:1rem;height:1rem;margin:0;position:relative;background-color:var(--background);border:1px solid var(--input);transition:background-color var(--transition-fast),border-color var(--transition-fast);&:checked{background-color:var(--primary);border-color:var(--primary);&:after{content:"";position:absolute;inset:0;background-color:var(--primary-foreground);mask-position:center;mask-repeat:no-repeat;mask-size:100%}}}input[type=checkbox]{border-radius:var(--radius-small);&:checked:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}&[role=switch]{--switch-height: calc(var(--bar-height) * 3);--switch-inset: 2px;--switch-thumb: calc(var(--switch-height) - var(--switch-inset) * 3);width:calc(var(--switch-height) * 2);height:var(--switch-height);border-radius:var(--radius-full);background-color:var(--input);&:before{content:"";position:absolute;top:50%;left:var(--switch-inset);transform:translateY(-50%);width:var(--switch-thumb);height:var(--switch-thumb);background-color:var(--background);border-radius:var(--radius-full);transition:transform var(--transition);box-shadow:var(--shadow-small)}&:checked{background-color:var(--primary);&:after{content:none}&:before{transform:translateY(-50%) translate(var(--switch-height))}}}}input[type=radio]{border-radius:var(--radius-full);&:checked:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E")}}:where(input:where([type=checkbox],[type=radio],[type=range]),select):not(:disabled),label:has(input:where([type=checkbox],[type=radio]):not(:disabled)){cursor:pointer}input[type=range]{width:100%;height:var(--bar-height);appearance:none;background:var(--muted);border-radius:var(--radius-full);&::-webkit-slider-thumb{appearance:none;width:1.25rem;height:1.25rem;background:var(--primary);border-radius:var(--radius-full);transition:transform var(--transition-fast);&:hover{transform:scale(1.1)}}&::-moz-range-thumb{width:1.25rem;height:1.25rem;background:var(--primary);border:none;border-radius:var(--radius-full)}}fieldset{border:1px solid var(--border);border-radius:var(--radius-medium);padding:var(--space-4);margin-block-end:var(--space-4)}legend{font-size:var(--text-7);font-weight:var(--font-medium);padding:0 var(--space-2)}}@layer components{fieldset.group{display:flex;align-items:stretch;border:none;padding:0;margin:0;>:is(input,textarea,select){flex:1;margin-block-start:0;&:not(:focus){border-inline-end-color:transparent}}>:is(input,textarea,select,button){border-radius:0;&:first-child{border-radius:var(--radius-medium) 0 0 var(--radius-medium)}&:last-child{border-radius:0 var(--radius-medium) var(--radius-medium) 0}}>legend{float:inline-start;display:inline-flex;align-items:center;padding:0 var(--space-3);line-height:var(--leading-normal);font-weight:var(--font-normal);color:var(--muted-foreground);background-color:var(--muted);border:1px solid var(--input);border-inline-end:none;border-radius:var(--radius-medium) 0 0 var(--radius-medium)}}[data-field]{margin-block-end:var(--space-4);[data-hint],.error{font-size:var(--text-8);font-weight:var(--font-normal);color:var(--muted-foreground);margin-block-start:var(--space-1)}.error{display:none}&[data-field=error] .error{display:block;color:var(--danger)}}}@layer base{.table{min-width:320px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-7)}thead{border-bottom:1px solid var(--border)}th,td{overflow-wrap:break-word}th{padding:var(--space-3) var(--space-2);text-align:start;font-weight:var(--font-medium);color:var(--muted-foreground)}td{padding:var(--space-3) var(--space-2)}tbody tr{border-bottom:1px solid var(--border);transition:background-color var(--transition-fast);&:last-child{border-bottom:none}&:hover{background-color:rgb(from var(--muted) r g b / .5)}}}@layer base{progress{appearance:none;width:100%;height:var(--bar-height);border:none;border-radius:var(--radius-full);overflow:hidden;background-color:var(--muted);&::-webkit-progress-bar{background-color:var(--muted);border-radius:var(--radius-full)}&::-webkit-progress-value{background-color:var(--primary);border-radius:var(--radius-full);transition:width var(--transition)}&::-moz-progress-bar{background-color:var(--primary);border-radius:var(--radius-full)}}meter{appearance:none;width:100%;height:var(--bar-height);border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--muted);&::-webkit-meter-bar{background:var(--muted);border:none;border-radius:var(--radius-full);height:var(--bar-height)}&::-webkit-meter-optimum-value,&::-webkit-meter-suboptimum-value,&::-webkit-meter-even-less-good-value{border-radius:var(--radius-full)}&::-webkit-meter-optimum-value{background:var(--success)}&::-webkit-meter-suboptimum-value{background:var(--warning)}&::-webkit-meter-even-less-good-value{background:var(--danger)}&::-moz-meter-bar{background:var(--success);border-radius:var(--radius-full)}&:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--warning)}&:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--danger)}}}@layer components{[aria-busy=true]{&:before{content:"";display:inline-block;inset:0;margin:auto;width:1.5rem;height:1.5rem;border:2px solid var(--muted);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;text-align:center}&[data-spinner~=small]:before{width:1rem;height:1rem}&[data-spinner~=large]:before{width:2rem;height:2rem;border-width:3px}&[data-spinner~=overlay]{position:relative;>*{opacity:.3;pointer-events:none}&:before{position:absolute;inset:0;margin:auto;z-index:1}}}@keyframes spin{to{transform:rotate(360deg)}}}@layer components{:root{--grid-cols: 12;--grid-gap: 1.5rem;--container-max: 1280px;--container-pad: 1rem}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.row{display:grid;grid-template-columns:repeat(var(--grid-cols),1fr);gap:var(--grid-gap);width:100%}.col,[class*=col-]{grid-column-end:span var(--span, var(--grid-cols))}.col-1{--span: 1}.col-2{--span: 2}.col-3{--span: 3}.col-4{--span: 4}.col-5{--span: 5}.col-6{--span: 6}.col-7{--span: 7}.col-8{--span: 8}.col-9{--span: 9}.col-10{--span: 10}.col-11{--span: 11}.col-12{--span: 12}.offset-1{grid-column-start:2}.offset-2{grid-column-start:3}.offset-3{grid-column-start:4}.offset-4{grid-column-start:5}.offset-5{grid-column-start:6}.offset-6{grid-column-start:7}.col-end{grid-column-start:span var(--span, 1);grid-column-end:-1}@media(max-width:768px){.row{--grid-cols: 4;--grid-gap: 1rem}.col,[class*=col-]{--span: 4}[class*=offset-]{grid-column-start:auto}}}@layer components{.card{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);padding:var(--space-6);overflow:hidden}}@layer components{[role=alert]{position:relative;display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-medium);font-size:var(--text-7);&[data-variant]{border:none}&[data-variant=error],&[data-variant=danger]{color:var(--danger);background-color:light-dark(color-mix(in srgb,var(--danger) 8%,transparent),color-mix(in srgb,var(--danger) 20%,transparent));& a{color:var(--danger)}}&[data-variant=success]{color:var(--success);background-color:light-dark(color-mix(in srgb,var(--success) 8%,transparent),color-mix(in srgb,var(--success) 20%,transparent));& a{color:var(--success)}}&[data-variant=warning]{color:var(--warning);background-color:light-dark(color-mix(in srgb,var(--warning) 8%,transparent),color-mix(in srgb,var(--warning) 20%,transparent));& a{color:var(--warning)}}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-4);font-size:var(--text-8);font-weight:var(--font-medium);line-height:var(--leading-normal);background-color:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-full);&.secondary{background-color:var(--secondary);color:var(--secondary-foreground)}&.outline{background-color:transparent;color:var(--foreground);border:1px solid var(--border)}&.success{color:var(--success);background-color:light-dark(color-mix(in srgb,var(--success) 10%,transparent),color-mix(in srgb,var(--success) 30%,transparent))}&.warning{color:var(--warning);background-color:light-dark(color-mix(in srgb,var(--warning) 10%,transparent),color-mix(in srgb,var(--warning) 30%,transparent))}&.danger{color:var(--danger);background-color:light-dark(color-mix(in srgb,var(--danger) 10%,transparent),color-mix(in srgb,var(--danger) 30%,transparent))}}}@layer components{details{border:1px solid var(--border);border-radius:var(--radius-medium);overflow:hidden;+details{margin-top:-1px;border-start-start-radius:0;border-start-end-radius:0}&:has(+details){border-end-start-radius:0;border-end-end-radius:0}&[open] summary{border-bottom:1px solid var(--border)}}summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4);font-weight:var(--font-medium);cursor:pointer;user-select:none;transition:background-color var(--transition-fast);&:hover{background-color:var(--muted)}&::-webkit-details-marker,&::marker{display:none}&:after{content:"";width:1em;height:1em;flex-shrink:0;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;transition:transform var(--transition-fast)}details[open] &:after{transform:rotate(180deg)}}details>*:not(summary){margin:var(--space-4)}}@layer components{[role=tablist]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background-color:var(--muted);border-radius:var(--radius-medium)}[role=tab]{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-7);font-weight:var(--font-medium);white-space:nowrap;background-color:transparent;color:var(--foreground);border:none;border-radius:calc(var(--radius-medium) - 2px);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);&:hover{color:var(--muted-foreground)}&[aria-selected=true]{background-color:var(--background);box-shadow:var(--shadow-small)}}[role=tabpanel]{padding:var(--space-4) 0;&:focus-visible{outline:none}}}@layer components{dialog{position:fixed;inset:0;z-index:var(--z-modal);width:min(100% - 2rem,32rem);max-height:85vh;margin:auto;padding:0;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-large);overflow:hidden;opacity:0;transform:scale(.95);transition:opacity .15s ease,transform .15s ease,overlay .15s ease allow-discrete,display .15s ease allow-discrete;&[open]{opacity:1;transform:scale(1)}@starting-style{&[open]{opacity:0;transform:scale(.95)}}&::backdrop{background-color:#0000;transition:background-color .15s ease,overlay .15s ease allow-discrete,display .15s ease allow-discrete}&[open]::backdrop{background-color:#00000080}@starting-style{&[open]::backdrop{background-color:#0000}}>header,>form>header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-6);padding-block-end:0;>h1,>h2,>h3,>h4,>h5,>h6{margin-block-end:0}>p{font-size:var(--text-7);color:var(--muted-foreground);margin-block-end:0}}>p,>div,>section,>form>p,>form>div,>form>section{padding:var(--space-6);overflow-y:auto}>footer,>form>footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-6);padding-block-start:0}}}@layer components{ot-dropdown{[popover]{position:fixed;margin:0;min-width:12rem;background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-medium);opacity:0;transform:translateY(-4px);transition:opacity .15s ease-out,transform .15s ease-out,display .15s allow-discrete,overlay .15s allow-discrete;&:popover-open{opacity:1;transform:translateY(0)}@starting-style{&:popover-open{opacity:0;transform:translateY(-4px)}}}[role=menuitem]{display:flex;align-items:center;justify-content:start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-7);text-align:start;color:var(--foreground);background:none;border:none;border-radius:var(--radius-small);cursor:pointer;&:hover,&:focus{background-color:var(--accent);outline:none}}}}@layer components{.toast-container{position:fixed;display:flex;flex-direction:column;pointer-events:none;margin:0;padding:0;border:none;background:transparent;overflow:visible;&::backdrop{display:none}&[data-placement=top-left]{inset:var(--space-4) auto auto var(--space-4)}&[data-placement=top-center]{inset:var(--space-4) auto auto 50%;transform:translate(-50%)}&[data-placement=top-right]{inset:var(--space-4) var(--space-4) auto auto}&[data-placement=bottom-left]{inset:auto auto var(--space-4) var(--space-4);flex-direction:column-reverse}&[data-placement=bottom-center]{inset:auto auto var(--space-4) 50%;transform:translate(-50%);flex-direction:column-reverse}&[data-placement=bottom-right]{inset:auto var(--space-4) var(--space-4) auto;flex-direction:column-reverse}}.toast{--transition: .3s;--transition-in: calc(var(--transition) - 50ms);padding:var(--space-5) var(--space-4);max-width:28rem;min-width:20rem;pointer-events:auto;background-color:var(--card);border:1px solid var(--border);border-inline-start-width:var(--space-1);border-inline-start-style:solid;border-radius:var(--radius-medium);box-shadow:var(--shadow-small);transition:opacity var(--transition-in),transform var(--transition-in),margin var(--transition-in);line-height:1;.toast-title{font-weight:600;margin:0 0 var(--space-3) 0}.toast-message{color:var(--muted-foreground)}&[data-variant=success]{border-inline-start-color:var(--success);.toast-title{color:var(--success)}}&[data-variant=danger]{border-inline-start-color:var(--danger);.toast-title{color:var(--danger)}}&[data-variant=warning]{border-inline-start-color:var(--warning);.toast-title{color:var(--warning)}}>[data-close]{margin-inline-start:auto;background:none;border:none;padding:0;cursor:pointer;opacity:.5;&:hover{opacity:1}}margin:var(--space-2) 0;&[data-entering]{opacity:0;transform:translateY(-1rem)}&[data-exiting]{opacity:0;margin:0;padding-block:0;max-height:0;overflow:hidden;transition:opacity var(--transition),margin var(--transition),padding var(--transition),max-height var(--transition)}}}@layer components{[data-sidebar-layout]{--topnav-offset: 0px;display:grid;grid-template-columns:14rem 1fr;min-height:100dvh;gap:var(--space-4);&:has(nav[data-topnav]){--topnav-offset: var(--space-12);>main [id]{scroll-margin-block-start:calc(var(--space-12) + var(--space-6))}}>main{min-width:0;margin-block-start:var(--topnav-offset);padding-block-start:var(--space-8)}>aside[data-sidebar]{position:sticky;top:var(--topnav-offset);z-index:1;height:calc(100dvh - var(--topnav-offset));align-self:start;background-color:var(--background);border-inline-end:1px solid var(--border);box-shadow:var(--shadow-medium);display:flex;flex-direction:column;>:is(header,footer){flex-shrink:0;padding:var(--space-3)}>footer{margin-block-start:auto}>nav{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-2);font-size:var(--text-7);ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1);li{margin:0}}a{display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--foreground);text-decoration:none;border-radius:var(--radius-small);transition:background-color var(--transition-fast);&:is(:hover,[aria-current]){background-color:var(--accent)}}details{border:none;overflow:visible;+details{margin-top:0}&[open] summary{border-bottom:none}>ul{margin-inline-start:var(--space-4);padding:var(--space-1) 0}}summary{justify-content:flex-start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);&:after{width:.75rem;height:.75rem;margin-inline-start:auto}}}}}nav[data-topnav]{position:fixed;inset:0 0 auto;z-index:5;min-height:var(--space-12);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background-color:var(--background);border-bottom:1px solid var(--border);box-shadow:var(--shadow-small);a{text-decoration:none}}:is([data-sidebar-toggle],[data-sidebar-header]){display:none}[data-sidebar-toggle]{padding:0 var(--space-1);background:none;border:1px solid var(--border);border-radius:var(--radius-small)}@media(min-width:769px){[data-sidebar-layout=always]{transition:grid-template-columns var(--transition);[data-sidebar-toggle]{display:inline-block}>aside[data-sidebar]{transform:translate(0);opacity:1;transition:transform var(--transition),opacity var(--transition),visibility var(--transition)}&[data-sidebar-open]{grid-template-columns:0px 1fr;gap:0;>aside[data-sidebar]{overflow:hidden;min-width:0;transform:translate(-100%);opacity:0;visibility:hidden;border-inline-end:none}}}}@media(max-width:768px){[data-sidebar-layout]{grid-template-columns:1fr;>aside[data-sidebar]{position:fixed;left:0;width:16rem;transform:translate(-100%);transition:transform var(--transition);box-shadow:var(--shadow-large)}&[data-sidebar-open]>aside[data-sidebar]{transform:translate(0)}}[data-sidebar-toggle]{display:inline-block}[data-sidebar-header]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}}}@layer components{[role=status].skeleton{--_c: light-dark( color-mix(in srgb, var(--muted) 30%, white), color-mix(in srgb, var(--muted) 90%, var(--foreground)) );margin-block-end:var(--space-3);background:var(--muted);border-radius:var(--radius-medium);animation:anim 2s infinite;background-size:200% 100%;background-image:linear-gradient(90deg,var(--muted) 0%,var(--_c) 50%,var(--muted) 100%);&.box{width:4rem;height:4rem}&.line{height:1rem;width:100%}}[role=status].skeleton:last-child{margin-block-end:0}@keyframes anim{0%{background-position:200% 0}to{background-position:-200% 0}}}@layer components{[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{position:absolute;inset-inline-start:50%;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:1000}[data-tooltip]:after{content:attr(data-tooltip);inset-block-end:calc(100% + 10px);transform:translate(-50%) translateY(4px);padding:var(--space-2) var(--space-3);font-size:var(--text-7);line-height:1;white-space:nowrap;background:var(--foreground);color:var(--background);border-radius:var(--radius-medium)}[data-tooltip]:before{content:"";inset-block-end:calc(100% - 5px);transform:translate(-50%) translateY(4px);border:8px solid transparent;border-top-color:var(--foreground)}[data-tooltip]:is(:hover,:focus-visible):before,[data-tooltip]:is(:hover,:focus-visible):after{opacity:1;visibility:visible;transition-delay:.7s;transform:translate(-50%) translateY(0)}}@layer utilities{.align-left{text-align:start}.align-center{text-align:center}.align-right{text-align:end}.text-light{color:var(--muted-foreground)}.text-lighter{color:var(--faint-foreground)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.hstack{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;align-content:flex-start;height:auto}.vstack{display:flex;flex-direction:column;gap:var(--space-3)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mt-2{margin-block-start:var(--space-2)}.mt-4{margin-block-start:var(--space-4)}.mt-6{margin-block-start:var(--space-6)}.mb-2{margin-block-end:var(--space-2)}.mb-4{margin-block-end:var(--space-4)}.mb-6{margin-block-end:var(--space-6)}.p-4{padding:var(--space-4)}.w-100{width:100%}ul,ol{&.unstyled{list-style:none;padding-inline-start:0;margin-inline-start:0}}}:root{--color-bg: #F5F5F0;--color-surface: #FFFFFF;--color-primary: #1A1A1A;--color-accent: #E85D04;--color-accent-light: #F48C06;--color-muted: #8A8A8A;--color-border: #E5E5E0;--shadow-sm: 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;background:var(--color-bg);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-primary);line-height:1.5;margin:0}main{min-height:calc(100vh - 140px)}nav{display:flex;justify-content:flex-start;align-items:center;padding:1rem 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.site-logo{text-decoration:none;font-weight:700;font-size:1.2rem;color:var(--color-primary);letter-spacing:-.02em}.site-logo span{color:var(--color-accent)}nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0}nav a{text-decoration:none;color:var(--color-muted);font-weight:500;font-size:.9rem;transition:color .2s}nav a:hover{color:var(--color-accent)}.hero{background:radial-gradient(circle at 12% 18%,rgba(244,140,6,.2),transparent 34%),radial-gradient(circle at 86% 12%,rgba(232,93,4,.15),transparent 36%),var(--color-surface);padding:4rem 1.5rem 3rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light))}.hero:after{content:"";position:absolute;right:-60px;bottom:-75px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f48c062e,#e85d040a);filter:blur(.2px)}.hero-content{max-width:540px;margin:0 auto;position:relative;z-index:1}.hero-badge{display:inline-block;background:#e85d0414;color:var(--color-accent);padding:.35rem .85rem;border-radius:50px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;border:1px solid rgba(232,93,4,.24)}.hero h1{margin:0 0 .75rem;line-height:1.15;font-weight:800;letter-spacing:-.03em;font-size:2.5rem}.hero h1 span{display:block}.hero h1 .highlight{color:var(--color-accent)}.hero .tagline{font-size:1.05rem;color:#575757;margin-bottom:2rem;line-height:1.7}.hero-selector{display:flex;justify-content:center;margin-bottom:2rem}.hero-selector :global(.selector-wrapper){max-width:320px}.hero-selector :global(.dropdown-select){background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary);font-size:.95rem;padding:.9rem 3rem .9rem 1.25rem;border-radius:var(--radius-sm);transition:all .2s ease}.hero-selector :global(.dropdown-select):hover{background:#fafafa;border-color:var(--color-accent)}.hero-selector :global(.dropdown-select):focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #e85d041a}.hero-selector :global(.dropdown-arrow){color:var(--color-muted)}.hero-stats{display:flex;justify-content:center;align-items:center;gap:2.5rem;margin-top:.4rem}.continue-wrap{padding:1rem 1.2rem .35rem}.continue-card{max-width:760px;margin:0 auto;padding:1rem 1.2rem;border-radius:var(--radius-md);border:1px solid rgba(232,93,4,.24);background:linear-gradient(135deg,#fffbf5f2,#fff2dff2);box-shadow:0 12px 26px #e85d041a}.continue-label{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#b5530d}.continue-card h2{margin:.32rem 0 .25rem;font-size:1.2rem;line-height:1.25}.continue-card p{margin:0;color:#5b5b5b}.continue-card footer{margin-top:.8rem;padding:0;background:transparent}.continue-card a[role=button]{display:inline-block;padding:.48rem .78rem;border-radius:8px;border:1px solid rgba(232,93,4,.34);background:#fff;color:#9f3f00;font-weight:700;text-decoration:none}.stat-item{text-align:center;text-decoration:none;display:block;padding:.75rem 1.25rem;border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.stat-item:before{content:"";position:absolute;inset:0;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);z-index:-1;transition:all .3s ease}.stat-item:hover{transform:translateY(-4px)}.stat-item:hover:before{border-color:var(--color-accent);box-shadow:0 8px 24px #e85d0426}.stat-item:hover .stat-num{color:var(--color-accent)}.stat-num{display:block;font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1;transition:color .3s ease}.stat-label{font-size:.75rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem;transition:color .3s ease}.stat-item:hover .stat-label{color:var(--color-primary)}.stat-divider{width:1px;height:28px;background:var(--color-border)}.how-it-works{padding:3rem 1.5rem;text-align:center;background:var(--color-bg)}.section-title{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin:0 0 2rem;letter-spacing:-.02em}.steps{display:flex;justify-content:center;align-items:stretch;gap:0;flex-wrap:wrap;max-width:700px;margin:0 auto}.step{flex:1 1 150px;max-width:180px;padding:1.5rem 1.25rem;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 .35rem;transition:all .2s ease}.step:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.step-number{width:24px;height:24px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;margin:0 auto .85rem;transition:transform .2s ease}.step:hover .step-number{transform:scale(1.1)}.step h3{font-size:.9rem;color:var(--color-primary);margin:0 0 .2rem;font-weight:600}.step p{font-size:.8rem;color:var(--color-muted);margin:0}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-border)}.feature{background:var(--color-surface);padding:1.5rem 1.25rem;text-align:center;transition:all .2s ease}.feature:hover{background:#fafaf8;transform:translateY(-1px)}.feature-icon{width:22px;height:22px;margin-bottom:.6rem;color:var(--color-primary)}.feature-1 .feature-icon{color:var(--color-accent)}.feature-2 .feature-icon{color:var(--color-primary)}.feature-3 .feature-icon{color:var(--color-accent)}.feature-4 .feature-icon{color:var(--color-primary)}.feature h3{font-size:.85rem;color:var(--color-primary);margin:0 0 .15rem;font-weight:600}.feature p{font-size:.75rem;color:var(--color-muted);margin:0}.cta{text-align:center;padding:3rem 1.5rem;background:var(--color-surface)}.cta h2{font-size:1.25rem;color:var(--color-primary);margin:0 0 .4rem;font-weight:700}.cta p{font-size:.95rem;color:var(--color-muted);margin:0}footer{text-align:center;padding:1.5rem 1rem;background:var(--color-primary);color:#ffffff80;font-size:.8rem}.selector-wrapper{position:relative;display:inline-block;width:100%}.dropdown-select{width:100%;padding:.8rem 2.5rem .8rem 1rem;font-size:.9rem;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-primary);cursor:pointer;appearance:none;transition:all .2s ease}.dropdown-select:hover{border-color:var(--color-accent)}.dropdown-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #e85d041a}.dropdown-arrow{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.6rem;color:var(--color-muted)}.page-header{text-align:center;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;color:var(--color-primary);margin-bottom:.4rem;font-weight:700}.page-header p{color:var(--color-muted);font-size:.95rem}.selection-page{padding:1.5rem 1rem;max-width:1040px;margin:0 auto}.journey-main{position:relative;overflow:hidden;isolation:isolate}.journey-main>*{position:relative;z-index:1}.journey-main:before,.journey-main:after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:.5;z-index:0}.journey-main:before{width:420px;height:420px;top:56px;left:-160px;background:radial-gradient(circle at 36% 36%,#f48c0638,#e85d0405);animation:journey-float-a 14s ease-in-out infinite}.journey-main:after{width:360px;height:360px;right:-160px;bottom:96px;background:radial-gradient(circle at 50% 40%,#e85d0430,#f48c0605);animation:journey-float-b 16s ease-in-out infinite}.subject-selector{display:flex;justify-content:center;margin:1.5rem 0}.journey-page{position:relative}.journey-hero{margin:0 auto 1.25rem;max-width:760px;padding:1.1rem 1.2rem;border-radius:var(--radius-md);border:1px solid rgba(232,93,4,.22);background:radial-gradient(circle at 10% 20%,rgba(244,140,6,.14),transparent 36%),linear-gradient(150deg,#fffbf5f2,#fff4e5f2)}.journey-kicker{margin:0 0 .25rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#a04707;font-weight:700}.class-journey .journey-hero h1{font-size:clamp(1.6rem,2.4vw,2.05rem);letter-spacing:-.02em;margin:0 0 .4rem}.class-journey .journey-hero p{margin:.15rem auto 0;max-width:560px;color:#5d5d5d}.journey-chips{margin-top:.6rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem}.journey-chip{font-size:.73rem;padding:.24rem .46rem;border-radius:999px;border:1px solid rgba(232,93,4,.24);background:#e85d0417;color:#9a3f00;font-weight:600}.chapter-hero-card{max-width:860px;text-align:left;padding:1.15rem 1.2rem 1.1rem;border:1px solid rgba(26,26,26,.08);background:linear-gradient(180deg,#fff,#fcfcfa);box-shadow:0 10px 22px #1a1a1a0d;position:relative;overflow:hidden}.chapter-hero-card:after{content:"";position:absolute;left:1.2rem;right:1.2rem;top:0;height:2px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#f48c06eb,#e85d0480)}.chapter-hero-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.chapter-track-label{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#a14500;border:1px solid rgba(232,93,4,.2);border-radius:999px;background:#f48c060f;padding:.18rem .5rem;font-weight:700}.chapter-journey .journey-hero h1{margin:.1rem 0 .32rem;font-size:clamp(1.8rem,2.7vw,2.35rem);line-height:1.1;letter-spacing:-.03em}.chapter-hero-copy{margin:0;max-width:650px;color:#636363;font-size:.98rem}.chapter-hero-metrics{margin-top:.92rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.58rem}.chapter-hero-metric{border:1px solid rgba(26,26,26,.08);border-radius:12px;background:#fff;padding:.6rem .68rem .56rem;min-height:78px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 1px #1a1a1a08 inset}.chapter-hero-value{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:800;color:#9b3d00;line-height:1.05}.chapter-hero-label{margin-top:.18rem;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:#8a6753}.journey-tools{margin:.8rem auto 1.3rem;display:flex;flex-direction:column;align-items:center;gap:.8rem}.continue-inline{max-width:400px;width:100%;text-align:center;padding:.85rem;border:1px solid rgba(232,93,4,.24);border-radius:12px;background:#fff7ecbf}.continue-inline-label{margin:0 0 .45rem;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:#9f3f00}.continue-inline a[role=button]{display:inline-block;padding:.42rem .75rem;border-radius:8px;border:1px solid rgba(232,93,4,.34);background:#fff;text-decoration:none;color:#9f3f00;font-weight:600}.grid{display:grid;gap:1rem}.grid.col-3{grid-template-columns:repeat(3,1fr)}.subject-grid-layout .card-item{height:100%}.card-item{background:linear-gradient(165deg,#fffffffa,#fffaf4f2);border:1px solid rgba(232,93,4,.15);border-radius:var(--radius-md);padding:1.1rem 1rem 1rem;text-align:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden;box-shadow:0 8px 20px #e85d040f}.card-item:hover{border-color:var(--color-accent);box-shadow:0 14px 28px #e85d0429;transform:translateY(-4px)}.card-item:before{content:"";position:absolute;inset:auto -20% -48%;height:120px;background:radial-gradient(circle at center,rgba(232,93,4,.08),transparent 66%);opacity:0;transition:opacity .2s ease;pointer-events:none}.card-item:hover:before{opacity:1}.card-item:after{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#f48c06e6,#e85d048c)}.card-item header{margin-bottom:.62rem}.card-item h3{font-size:1.03rem;font-weight:600;margin:0;color:var(--color-primary)}.card-item p{font-size:.85rem;color:var(--color-muted);margin:.25rem 0 0}.card-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}.card-meta-chip{font-size:.72rem;line-height:1;padding:.25rem .42rem;border-radius:999px;border:1px solid rgba(232,93,4,.25);background:#e85d0414;color:#9f3f00}.card-item footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(232,93,4,.14);background:transparent}.card-item a{display:inline-block;color:#9f3f00;text-decoration:none;font-weight:700;font-size:.81rem;letter-spacing:.01em;padding:.36rem .64rem;border-radius:999px;background:#e85d041a;border:1px solid rgba(232,93,4,.25)}.card-item a:hover{background:#e85d042e;text-decoration:none}.card-item.is-last-subject{border-color:#e85d0480;box-shadow:0 16px 30px #e85d0433;transform:translateY(-2px)}.card-item.is-last-subject:after{background:linear-gradient(90deg,#f48c06,#e85d04)}.card-item.card-subject{text-align:left;align-items:flex-start;display:flex;flex-direction:column;min-height:198px}.card-item.card-subject header{width:100%;margin-bottom:.55rem}.card-item.card-subject h3{font-size:1.12rem;letter-spacing:-.01em;line-height:1.25}.card-item.card-subject p{margin-top:.2rem;font-size:.84rem;color:#656565}.card-item.card-subject .badge{margin-top:.55rem;background:#e85d041a;color:#9a3f00;border:1px solid rgba(232,93,4,.24)}.card-item.card-subject footer{width:100%;margin-top:auto;padding-top:.72rem;display:flex;justify-content:flex-start}.card-item.card-subject a{font-size:.8rem;letter-spacing:.01em}.coming-soon{text-align:center;padding:3rem 1.5rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:360px;margin:1.5rem auto}.coming-soon-icon{width:40px;height:40px;margin:0 auto .75rem;color:var(--color-muted)}.coming-soon-icon svg{width:100%;height:100%}.coming-soon h3{font-size:1.1rem;color:var(--color-primary);margin:0 0 .4rem;font-weight:600}.coming-soon p{font-size:.85rem;color:var(--color-muted);margin:0}.comic-reader{max-width:800px;margin:0 auto;padding:1rem}.reader-fs-progress{position:fixed;right:.85rem;top:50%;transform:translateY(-50%);width:8px;height:52vh;max-height:420px;min-height:200px;border-radius:999px;background:#e85d0433;overflow:hidden;z-index:130;opacity:0;pointer-events:none;transition:opacity .2s ease}.reader-fs-progress-fill{position:absolute;left:0;right:0;bottom:0;height:1%;border-radius:inherit;background:linear-gradient(180deg,var(--color-accent-light),var(--color-accent));transition:height .2s ease}.reader-viewport{display:flex;flex-direction:column;align-items:center;gap:1rem}.reader-viewport.fullscreen-view{position:fixed;inset:0;background:#000;justify-content:center;padding:0;gap:0;z-index:120}.comic-reader.is-fullscreen .reader-fs-progress{opacity:1}.reader-viewport.fullscreen-view .comic-panel,.reader-viewport:not(.fullscreen-view) .comic-panel{display:flex;align-items:center;justify-content:center;width:100%;min-height:calc(100vh - 180px);padding:0}.reader-viewport.fullscreen-view .comic-panel img,.reader-viewport:not(.fullscreen-view) .comic-panel img{max-width:100%;max-height:calc(100vh - 200px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:var(--shadow-md)}.comic-panel{position:relative;width:100%;max-width:700px}.comic-panel img{display:block;width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.chapter-complete-card{position:fixed;left:50%;top:50%;margin:0;padding:1rem 1.05rem;width:min(92vw,560px);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.45);background:#ffffff38;backdrop-filter:blur(12px);box-shadow:0 14px 38px #00000040;opacity:0;transform:translate(-50%,-46%) scale(.98);transition:opacity .22s ease,transform .22s ease;z-index:160}.chapter-complete-card.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.chapter-complete-card.is-bursting{animation:completion-pop .65s ease}.completion-celebration{position:relative;width:88px;height:88px;margin:0 auto .4rem;display:grid;place-items:center}.celebration-ring{position:absolute;inset:8px;border-radius:50%;border:2px dashed rgba(232,93,4,.35);animation:celebration-spin 9s linear infinite}.celebration-icon{position:absolute;width:42px;height:42px;opacity:0;transform:scale(.7);transition:opacity .24s ease,transform .24s ease;color:var(--color-accent)}.chapter-complete-card.theme-stars .icon-star,.chapter-complete-card.theme-trophy .icon-trophy,.chapter-complete-card.theme-splash .icon-splash{opacity:1;transform:scale(1)}.celebration-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--color-accent);opacity:.78}.dot-1{top:2px;left:40px}.dot-2{top:16px;right:8px}.dot-3{top:44px;right:2px}.dot-4{bottom:10px;right:14px}.dot-5{bottom:6px;left:22px}.dot-6{top:36px;left:2px}.completion-celebration.is-bursting .celebration-dot{animation:celebration-drift .7s ease}.chapter-complete-card h3{margin:0;font-size:1.12rem;text-align:center}.chapter-complete-card p{margin:.35rem 0 .7rem;font-size:.88rem;color:#1a1a1ad9;text-align:center}.chapter-complete-card footer{display:flex;justify-content:center;gap:.55rem;background:transparent;padding:0}.chapter-complete-card footer button,.chapter-complete-card footer a[role=button]{margin:0;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(232,93,4,.32);background:#fff;color:#9f3f00;text-decoration:none;font-weight:600;font-size:.82rem;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.chapter-complete-card footer button:hover,.chapter-complete-card footer a[role=button]:hover{transform:translateY(-1px);background:#e85d0414}.comic-reader.is-fullscreen .chapter-complete-card{background:#1a1a1a6b;border-color:#ffffff47}.comic-reader.is-fullscreen .chapter-complete-card h3,.comic-reader.is-fullscreen .chapter-complete-card p{color:#fffffff5}@keyframes celebration-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes celebration-drift{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.35);opacity:1}to{transform:scale(.8);opacity:.4}}@keyframes completion-pop{0%{transform:translate(-50%,-50%) scale(.94)}45%{transform:translate(-50%,-50%) scale(1.03)}to{transform:translate(-50%,-50%) scale(1)}}.reader-controls{position:sticky;bottom:0;background:linear-gradient(180deg,#fffffff5,#fff8eefa);backdrop-filter:blur(10px);border-top:1px solid rgba(232,93,4,.22);padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;z-index:10}.reader-progress-wrap{display:flex;flex-direction:column;gap:.35rem}.reader-progress{font-size:.95rem;font-weight:600}.reader-milestones{display:flex;align-items:center;gap:.35rem}.reader-progress-track{width:170px;height:5px;border-radius:999px;background:#e85d0429;overflow:hidden}.reader-progress-fill{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent-light),var(--color-accent));transition:width .2s ease}.milestone-chip{position:relative;font-size:.68rem;padding:.08rem .45rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);background:var(--color-surface);transition:all .2s ease}.milestone-chip.is-reached{border-color:#e85d0494;background:linear-gradient(135deg,#f48c0633,#e85d0426);color:#b14700;transform:translateY(-1px)}.milestone-chip.is-bursting{animation:milestone-burst .45s ease}.milestone-chip.is-bursting:after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(232,93,4,.28);animation:milestone-ring .45s ease}@keyframes milestone-burst{0%{transform:translateY(-1px) scale(1)}35%{transform:translateY(-1px) scale(1.18)}to{transform:translateY(-1px) scale(1)}}@keyframes milestone-ring{0%{opacity:.6;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}.reader-hints{font-size:.75rem;opacity:.6}.reader-reward{position:fixed;left:50%;bottom:5.25rem;padding:.6rem .95rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.28);background:linear-gradient(135deg,#e85d04eb,#f48c06e0);color:#fff;font-size:.86rem;font-weight:600;text-align:center;white-space:nowrap;box-shadow:0 14px 34px #00000047;opacity:0;transform:translate(-50%,14px) scale(.97);transition:opacity .22s ease,transform .22s ease;pointer-events:none;z-index:140}.reader-reward.is-visible{opacity:1;transform:translate(-50%) scale(1)}.reader-reward.is-success{background:linear-gradient(135deg,#1da35b,#2fbf71)}.reader-hints kbd{display:inline-block;padding:.1rem .3rem;border-radius:3px;border:1px solid var(--color-border);font-size:.65rem;background:var(--color-bg)}@media(max-width:768px){.hero h1{font-size:2rem}.hero{padding:3rem 1rem 2.5rem}.hero-stats{gap:1.5rem}.stat-num{font-size:1.4rem}.steps{flex-direction:column;align-items:center}.step{max-width:100%;margin:.25rem 0;width:100%}.features{grid-template-columns:repeat(2,1fr)}nav{padding:1rem}nav ul{display:none}.grid.col-3{grid-template-columns:1fr}.selection-page{padding:1rem .75rem}.journey-hero{padding:.95rem .85rem}.chapter-hero-card{padding:.95rem .85rem .9rem}.chapter-hero-top{flex-wrap:wrap;justify-content:flex-start}.chapter-journey .journey-hero h1{font-size:clamp(1.55rem,7vw,1.9rem)}.chapter-hero-copy{font-size:.9rem}.chapter-hero-metrics{gap:.45rem}.chapter-hero-metric{min-height:72px;padding:.52rem .52rem .48rem}.journey-main:before{width:220px;height:220px;left:-110px}.journey-main:after{width:190px;height:190px;right:-110px}.journey-chips{gap:.35rem}.reader-controls{padding:.55rem .75rem}.reader-fs-progress{right:.45rem;width:7px;height:38vh;min-height:150px}.reader-hints{width:100%;order:3}.reader-reward{bottom:5.6rem;max-width:calc(100vw - 1.5rem);white-space:normal}.chapter-complete-card footer{flex-wrap:wrap}}@media(max-width:480px){.reader-fs-progress{right:.3rem;width:6px;height:30vh;min-height:120px}.features{grid-template-columns:1fr}.hero-stats{flex-direction:column;gap:1rem}.stat-divider{display:none}}@keyframes journey-float-a{0%{transform:translate(0)}50%{transform:translate(22px,-10px)}to{transform:translate(0)}}@keyframes journey-float-b{0%{transform:translate(0)}50%{transform:translate(-20px,12px)}to{transform:translate(0)}}
