@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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-border-style:solid;--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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--color-bg);--color-surface:var(--color-surface);--color-accent:var(--color-accent);--color-accent-soft:var(--color-accent-soft);--color-badge:var(--color-badge);--radius-card:var(--radius-card);--radius-media:var(--radius-media);--radius-inner:var(--radius-inner);--radius-pill:var(--radius-pill);--shadow-soft:var(--shadow-soft);--shadow-float:var(--shadow-float)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--topbar-height) + var(--space-4));font-size:100%}html,body{overflow-x:clip}body{min-height:100dvh;font-size:var(--text-base);background:radial-gradient(60rem 40rem at 85% -10%, var(--glow-a), transparent 70%), radial-gradient(50rem 36rem at -10% 30%, var(--glow-b), transparent 70%), var(--color-bg);overscroll-behavior-y:none;text-rendering:optimizelegibility;background-attachment:fixed;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance;font-weight:650;line-height:1.25}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-pill)}img{max-width:100%;height:auto}svg{flex-shrink:0}[hidden]{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}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-full{width:100%;height:100%}.flex-shrink{flex-shrink:1}.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}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.shadow-float{--tw-shadow:var(--shadow-float);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light dark;--color-bg:#eceef4;--color-surface:#f6f7fb;--color-surface-raised:#fff;--color-text:#15151c;--color-text-muted:#6c6c7c;--color-accent:#5b3df5;--color-accent-hover:#4a2ee0;--color-accent-soft:#e9e5ff;--color-accent-muted:#6f57ef;--color-on-accent:#fff;--color-accent-text:#5b3df5;--color-badge:#ffd60a;--color-badge-text:#1a1a1a;--color-danger:#ff3b30;--color-error:#c4281c;--color-success:#12865a;--color-border-accent:#5b3df5;--color-line:#281e5a14;--color-scrim:#0f0f1580;--color-glass:#f6f7fbe6;--color-fade:#eceef4;--glow-a:#5b3df51a;--glow-b:#508cff14;--font-sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.3125rem;--text-2xl:1.625rem;--text-3xl:clamp(1.75rem, 1.3rem + 2vw, 2.5rem);--radius-screen:32px;--radius-card:24px;--radius-media:20px;--radius-inner:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--shadow-soft:0 8px 24px #281e5a0f;--shadow-float:0 12px 32px #281e5a24;--shadow-lift:0 14px 30px #281e5a1a;--depth-1:0 1px 2px #281e5a0f, 0 6px 16px #281e5a0f;--depth-2:0 2px 4px #281e5a0d, 0 16px 36px #281e5a1a;--depth-inset:inset 0 1px 2px #281e5a14, 0 1px 0 #ffffffe6;--depth-focus:0 10px 24px #5b3df52e;--duration-micro:.15s;--duration-standard:.25s;--duration-screen:.35s;--ease:cubic-bezier(.2, .8, .2, 1);--content-width:1200px;--topbar-height:64px;--dock-height:64px;--dock-space:calc(var(--dock-height) + var(--space-8) + env(safe-area-inset-bottom))}@media (prefers-color-scheme:dark){:root{--color-bg:#0f0f15;--color-surface:#191922;--color-surface-raised:#22222d;--color-text:#f2f2f7;--color-text-muted:#9898a8;--color-accent:#6d52ff;--color-accent-hover:#8068ff;--color-accent-soft:#2a2350;--color-accent-muted:#6f57ef;--color-border-accent:#9c8bfa;--color-accent-text:#b2a5ff;--color-error:#ff8a80;--color-success:#4cd497;--color-line:#ffffff12;--color-scrim:#0009;--color-glass:#14141ce6;--color-fade:#0f0f15;--glow-a:#6d52ff29;--glow-b:#508cff14;--shadow-soft:0 8px 24px #00000047;--shadow-float:0 12px 32px #00000080;--shadow-lift:0 14px 30px #0006;--depth-1:0 1px 2px #0000004d, 0 6px 16px #0000004d;--depth-2:0 2px 4px #0000004d, 0 16px 36px #00000073;--depth-inset:inset 0 1px 3px #00000073;--depth-focus:0 10px 24px #6d52ff4d}}@view-transition{navigation:auto}.container{width:min(100% - 2 * var(--space-4), var(--content-width));margin-inline:auto}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-weight:600;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-size:var(--text-md);white-space:nowrap;transition:transform var(--duration-micro) var(--ease), background-color var(--duration-micro) var(--ease), opacity var(--duration-micro) var(--ease);-webkit-user-select:none;user-select:none;border:1.5px solid #0000;font-weight:650;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-outline{border-color:var(--color-border-accent);color:var(--color-accent-text);background:0 0}.btn-outline:hover{background:var(--color-accent-soft)}.btn-ghost{color:var(--color-text);background:var(--color-surface-raised)}.btn-lg{width:100%;min-height:56px;font-size:var(--text-base)}.btn-sm{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.btn[aria-disabled=true],.btn:disabled{opacity:.55;pointer-events:none}.icon-btn{border-radius:var(--radius-pill);background:var(--color-surface-raised);width:44px;height:44px;color:var(--color-text);box-shadow:var(--shadow-soft);transition:transform var(--duration-micro) var(--ease);border:0;place-items:center;display:inline-grid;position:relative}.icon-btn:active{transform:scale(.94)}.icon-btn-sm{width:36px;height:36px}.icon-btn-muted{background:var(--color-bg);box-shadow:none;color:var(--color-text-muted)}.save-btn{color:var(--color-accent-text)}.save-btn .heart-fill{opacity:0;transition:opacity var(--duration-micro) var(--ease)}.save-btn[aria-pressed=true] .heart-fill{opacity:1}.save-btn.pop svg{animation:heart-pop .32s var(--ease)}@keyframes heart-pop{40%{transform:scale(1.22)}}.badge{padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--color-badge);color:var(--color-badge-text);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:700;line-height:1.4;display:inline-flex}.count-badge{border-radius:var(--radius-pill);border:2px solid var(--color-surface-raised);background:var(--color-danger);color:#fff;text-align:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:-2px;right:-4px}.count-badge:empty{display:none}.chip-row{gap:var(--space-2);scroll-snap-type:x proximity;scrollbar-width:none;padding:var(--space-1) var(--space-4) var(--space-3);margin-inline:calc(-1 * var(--space-4));-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--space-4), #000 calc(100% - var(--space-8)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--space-4), #000 calc(100% - var(--space-8)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--space-4), #000 calc(100% - var(--space-8)), transparent);display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-text);white-space:nowrap;scroll-snap-align:start;transition:background-color var(--duration-standard) var(--ease), color var(--duration-standard) var(--ease), transform var(--duration-micro) var(--ease);flex:none;align-items:center;gap:6px;font-weight:550;display:inline-flex}.chip:active{transform:scale(.97)}.chip small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:550}.chip[aria-current=page],.chip[aria-selected=true],.chip.is-active{background:var(--color-accent);color:var(--color-on-accent)}.chip[aria-current=page] small,.chip[aria-selected=true] small,.chip.is-active small{color:#fffc}.value-chip{display:inline-flex;position:relative}.value-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.value-chip span{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--depth-1);transition:background-color var(--duration-micro) var(--ease), color var(--duration-micro) var(--ease), box-shadow var(--duration-standard) var(--ease), transform var(--duration-standard) var(--ease);align-items:center;font-weight:550;display:inline-flex}.value-chip input:checked+span{background:var(--color-accent-muted);color:var(--color-on-accent);box-shadow:var(--depth-focus);transform:translateY(-1px)}.value-chip input:focus-visible+span{outline:3px solid var(--color-accent);outline-offset:2px}.card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.inner-card{background:var(--color-surface-raised);border-radius:var(--radius-inner)}.meta-row{gap:var(--space-2);align-items:baseline;font-weight:600;display:flex}.meta-row span{color:var(--color-text-muted);font-weight:500}.section-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-head h2{font-size:var(--text-xl)}.section-head a{color:var(--color-accent-text);font-weight:650;font-size:var(--text-md);align-items:center;gap:2px;min-height:44px;display:inline-flex}.list-row{gap:var(--space-4);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);transition:transform var(--duration-standard) var(--ease), box-shadow var(--duration-standard) var(--ease);grid-template-columns:96px 1fr;align-items:center;display:grid;position:relative}.list-row:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.list-row-media{aspect-ratio:1;border-radius:var(--radius-inner);background:var(--color-surface-raised);width:96px;overflow:hidden}.list-row-media img{object-fit:cover;width:100%;height:100%}.list-row-body{gap:4px;min-width:0;display:grid}.list-row-title{font-weight:650;font-size:var(--text-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.list-row-title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.list-row-sub{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-row-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:2px;display:flex}.tag-pill{min-height:30px;padding:0 var(--space-3);border:1.5px solid var(--color-border-accent);border-radius:var(--radius-pill);color:var(--color-accent-text);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:100%;font-weight:650;display:inline-flex;overflow:hidden}.list-row .icon-btn{z-index:1;position:relative}.empty-state{justify-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;display:grid}.empty-state .icon-circle{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:72px;height:72px;color:var(--color-accent-text);place-items:center;display:grid}.empty-state p{color:var(--color-text-muted);max-width:32ch}.inline-confirm{justify-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center;animation:confirm-in var(--duration-standard) var(--ease);grid-template-columns:minmax(0,1fr);display:grid}.inline-confirm p{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}.inline-confirm div{gap:var(--space-3);display:flex}.inline-confirm .btn{min-width:108px}@keyframes confirm-in{0%{opacity:0;transform:scale(.98)}}.input-with-button{align-items:center;gap:var(--space-2);padding:6px 6px 6px var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface);min-height:60px;box-shadow:var(--shadow-soft);display:flex}.input-with-button input{min-width:0;font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1}.input-with-button:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}.input-with-button .btn{min-height:48px}.prose{overflow-wrap:break-word;font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-top:1em}.prose h2{font-size:var(--text-xl);margin-top:1.6em}.prose h3,.prose h4{font-size:var(--text-lg);margin-top:1.4em}.prose a{color:var(--color-accent-text);text-underline-offset:3px;font-weight:600;text-decoration:underline 1.5px}.prose ul,.prose ol{padding-left:1.3em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--color-accent-text)}.prose blockquote{padding:var(--space-4) var(--space-5);border-radius:var(--radius-inner);background:var(--color-surface-raised)}.prose strong{font-weight:700}@media (hover:hover){.media-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.toast{z-index:60;align-items:center;gap:var(--space-3);width:min(100% - 2 * var(--space-4), 440px);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--color-surface-raised);box-shadow:var(--shadow-float);animation:toast-in var(--duration-screen) var(--ease);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-bottom{bottom:calc(var(--dock-height) + var(--space-6) + env(safe-area-inset-bottom))}body.no-dock .toast-bottom{bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.toast-above-bar{bottom:calc(var(--space-4) + 68px + var(--space-3) + env(safe-area-inset-bottom))}.toast-top{top:calc(var(--topbar-height) + var(--space-2) + env(safe-area-inset-top))}.toast.is-leaving{opacity:0;transition:opacity var(--duration-standard) var(--ease), transform var(--duration-standard) var(--ease);transform:translate(-50%,8px)}.toast-body{flex:1;gap:2px;min-width:0;display:grid}.toast-body strong{font-weight:700}.toast-body p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.4}.toast .btn{flex:none}.toast-close{border-radius:var(--radius-pill);background:var(--color-bg);width:36px;height:36px;color:var(--color-text-muted);border:0;flex:none;place-items:center;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-screen);animation-timing-function:var(--ease)}::view-transition-old(root){animation-name:screen-out}::view-transition-new(root){animation-name:screen-in}html:active-view-transition-type(back)::view-transition-old(root){animation-name:screen-out-back}html:active-view-transition-type(back)::view-transition-new(root){animation-name:screen-in-back}::view-transition-group(*){animation-duration:var(--duration-screen);animation-timing-function:var(--ease)}@keyframes screen-out{to{opacity:0;transform:translate(-12px)}}@keyframes screen-in{0%{opacity:0;transform:translate(12px)}}@keyframes screen-out-back{to{opacity:0;transform:translate(12px)}}@keyframes screen-in-back{0%{opacity:0;transform:translate(-12px)}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.dock[data-astro-cid-dlrkusbo]{left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:50;width:min(100% - 2 * var(--space-3), 440px);view-transition-name:dock;position:fixed;transform:translate(-50%)}ul[data-astro-cid-dlrkusbo]{list-style:none}.dock[data-astro-cid-dlrkusbo] ul[data-astro-cid-dlrkusbo]{height:var(--dock-height);border-radius:var(--radius-pill);background:var(--color-glass);backdrop-filter:blur(20px)saturate(1.6);box-shadow:var(--shadow-float);justify-content:space-between;align-items:center;gap:2px;padding:0 6px;display:flex}.dock-item[data-astro-cid-dlrkusbo]{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;height:48px;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--color-text);transition:transform var(--duration-micro) var(--ease);background:0 0;border:0;font-weight:600;display:flex;position:relative}.dock-item[data-astro-cid-dlrkusbo]:active{transform:scale(.95)}.dock-item[data-astro-cid-dlrkusbo].is-active{color:var(--color-on-accent);padding:0 var(--space-4) 0 var(--space-3)}.dock-pill[data-astro-cid-dlrkusbo]{border-radius:inherit;background:var(--color-accent);view-transition-name:dock-pill;position:absolute;inset:0}.dock-icon[data-astro-cid-dlrkusbo],.dock-label[data-astro-cid-dlrkusbo]{display:inline-flex;position:relative}.dock-label[data-astro-cid-dlrkusbo]{white-space:nowrap}@media (width<=380px){.dock-label[data-astro-cid-dlrkusbo]{font-size:var(--text-sm)}.dock-item[data-astro-cid-dlrkusbo].is-active{padding-inline:var(--space-3);gap:6px}}.projects-menu[data-astro-cid-dlrkusbo]{inset:auto auto calc(var(--dock-height) + var(--space-6) + env(safe-area-inset-bottom)) 50%;width:min(100% - 2 * var(--space-4), 360px);padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-float);opacity:1;transition:opacity var(--duration-standard) var(--ease), transform var(--duration-standard) var(--ease), overlay var(--duration-standard) allow-discrete, display var(--duration-standard) allow-discrete;border:0;margin:0;position:fixed;transform:translate(-50%)}@starting-style{.projects-menu[data-astro-cid-dlrkusbo]:popover-open{opacity:0;transform:translate(-50%,12px)scale(.97)}}.projects-menu[data-astro-cid-dlrkusbo]:not(:popover-open){opacity:0;transform:translate(-50%,12px)scale(.97)}.projects-menu[data-astro-cid-dlrkusbo]::backdrop{background:var(--color-scrim);opacity:.4}.menu-title[data-astro-cid-dlrkusbo]{padding:var(--space-2) var(--space-3) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:650}.projects-menu[data-astro-cid-dlrkusbo] ul[data-astro-cid-dlrkusbo]{gap:var(--space-1);display:grid}.projects-menu[data-astro-cid-dlrkusbo] li[data-astro-cid-dlrkusbo] a[data-astro-cid-dlrkusbo]{align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-3);border-radius:var(--radius-inner);transition:background-color var(--duration-micro) var(--ease);font-weight:600;display:flex}.projects-menu[data-astro-cid-dlrkusbo] li[data-astro-cid-dlrkusbo] a[data-astro-cid-dlrkusbo]:hover,.projects-menu[data-astro-cid-dlrkusbo] li[data-astro-cid-dlrkusbo] a[data-astro-cid-dlrkusbo][aria-current=page]{background:var(--color-accent-soft)}.menu-icon[data-astro-cid-dlrkusbo]{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent-text);place-items:center;display:grid}.projects-menu[data-astro-cid-dlrkusbo] li[data-astro-cid-dlrkusbo] a[data-astro-cid-dlrkusbo][aria-current=page] .menu-icon[data-astro-cid-dlrkusbo]{background:var(--color-accent);color:var(--color-on-accent)}.projects-menu[data-astro-cid-dlrkusbo] .menu-chev{color:var(--color-text-muted);margin-left:auto}.menu-all[data-astro-cid-dlrkusbo]{min-height:48px;margin-top:var(--space-2);border-radius:var(--radius-pill);color:var(--color-accent-text);justify-content:center;align-items:center;font-weight:650;display:flex}.footer[data-astro-cid-jo6i4kqk]{gap:var(--space-3);padding:var(--space-10) 0 var(--dock-space);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;justify-items:center;display:grid}nav[data-astro-cid-jo6i4kqk]{justify-content:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text);align-items:center;font-weight:550;display:inline-flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{background:var(--color-surface-raised)}body.no-dock .footer[data-astro-cid-jo6i4kqk]{padding-bottom:calc(var(--space-14) + var(--space-10) + env(safe-area-inset-bottom))}.topbar[data-astro-cid-nazmfhjt]{z-index:40;transition:transform var(--duration-standard) var(--ease);padding-top:env(safe-area-inset-top);view-transition-name:topbar;position:sticky;top:0}.topbar[data-astro-cid-nazmfhjt].is-hidden{transform:translateY(-100%)}.topbar[data-astro-cid-nazmfhjt]:focus-within{transform:none}.topbar[data-astro-cid-nazmfhjt]:before{content:"";background:var(--color-glass);box-shadow:0 6px 18px #281e5a0f, 0 1px 0 var(--color-line);position:absolute;inset:0}.topbar-inner[data-astro-cid-nazmfhjt]{min-height:var(--topbar-height);grid-template-columns:56px 1fr 56px;align-items:center;display:grid;position:relative}.side-end[data-astro-cid-nazmfhjt]{justify-self:end}.title[data-astro-cid-nazmfhjt]{font-size:var(--text-xl);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;justify-self:center;max-width:100%;font-weight:650;overflow:hidden}.logo[data-astro-cid-nazmfhjt]{letter-spacing:.06em;align-content:center;justify-self:center;align-items:baseline;gap:6px;min-height:44px;padding-top:8px;font-size:1.375rem;font-weight:800;display:inline-flex}.logo-accent[data-astro-cid-nazmfhjt]{color:var(--color-accent-text)}.site-menu[data-astro-cid-nazmfhjt]{inset:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-2) auto auto;width:min(100% - 2 * var(--space-2), 360px);max-height:calc(100dvh - 2 * var(--space-2) - env(safe-area-inset-top));padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-float);overscroll-behavior:contain;transition:opacity var(--duration-standard) var(--ease), transform var(--duration-standard) var(--ease), overlay var(--duration-standard) allow-discrete, display var(--duration-standard) allow-discrete;border:0;margin:0;position:fixed;overflow-y:auto}.site-menu[data-astro-cid-nazmfhjt][open]{gap:var(--space-3);display:grid}.site-menu[data-astro-cid-nazmfhjt]:not([open]){opacity:0;transform:translate(16px)}@starting-style{.site-menu[data-astro-cid-nazmfhjt][open]{opacity:0;transform:translate(16px)}}.site-menu[data-astro-cid-nazmfhjt]::backdrop{background:var(--color-scrim)}.menu-head[data-astro-cid-nazmfhjt]{justify-content:space-between;align-items:center;display:flex}.menu-head[data-astro-cid-nazmfhjt] .icon-btn[data-astro-cid-nazmfhjt]{box-shadow:none;background:var(--color-bg)}.site-menu[data-astro-cid-nazmfhjt] ul[data-astro-cid-nazmfhjt]{gap:2px;display:grid}.site-menu[data-astro-cid-nazmfhjt] li[data-astro-cid-nazmfhjt]>a[data-astro-cid-nazmfhjt]{align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-3);border-radius:var(--radius-inner);font-weight:600;display:flex}.site-menu[data-astro-cid-nazmfhjt] a[data-astro-cid-nazmfhjt]:hover,.site-menu[data-astro-cid-nazmfhjt] a[data-astro-cid-nazmfhjt][aria-current=page]{background:var(--color-accent-soft)}.menu-icon[data-astro-cid-nazmfhjt]{border-radius:var(--radius-pill);background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent-text);place-items:center;display:grid}.menu-count[data-astro-cid-nazmfhjt]{border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;min-width:24px;font-size:var(--text-xs);text-align:center;margin-left:auto;padding:0 6px;font-weight:700;line-height:20px}.menu-count[data-astro-cid-nazmfhjt]:empty{display:none}.site-menu[data-astro-cid-nazmfhjt] .sub[data-astro-cid-nazmfhjt]{margin:0 0 var(--space-1) 52px}.site-menu[data-astro-cid-nazmfhjt] .sub[data-astro-cid-nazmfhjt] a[data-astro-cid-nazmfhjt]{min-height:44px;color:var(--color-text-muted);font-weight:550}.site-menu[data-astro-cid-nazmfhjt] .sub[data-astro-cid-nazmfhjt] a[data-astro-cid-nazmfhjt][aria-current=page]{color:var(--color-accent-text)}.menu-legal[data-astro-cid-nazmfhjt]{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.menu-legal[data-astro-cid-nazmfhjt] a[data-astro-cid-nazmfhjt]{padding:var(--space-2);display:inline-block}
