@layer components{:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}.theme-switching,.theme-switching *,.theme-switching *::before,.theme-switching *::after{transition:none!important}.theme-switcher{display:inline-flex;align-items:center;gap:.375rem}.palette-mode-toggle,.theme-picker-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.25rem;height:2.25rem;padding:0;margin:0;background:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid var(--color-border,#ddd);border-radius:999px;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.palette-mode-toggle:hover,.theme-picker-toggle:hover,.theme-picker.is-open .theme-picker-toggle{border-color:var(--color-primary,#6366f1)}.palette-mode-toggle:active,.theme-picker-toggle:active{transform:scale(.94)}.palette-mode-toggle:focus-visible,.theme-picker-toggle:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:2px}.mode-icon{display:inline-flex;line-height:1}.mode-icon svg{display:block}.mode-icon-sun{display:none!important}[data-theme=light] .mode-icon-sun{display:block!important}[data-theme=light] .mode-icon-moon{display:none!important}.theme-picker-icon{display:block}.theme-picker-dot--a{fill:var(--color-primary,#6366f1)}.theme-picker-dot--b{fill:var(--color-code-string,var(--color-success,#16a34a))}.theme-picker-dot--c{fill:var(--color-warning,var(--color-code-keyword,#f59e0b))}.text-size-control{display:inline-flex;align-items:center}.text-size-select,.theme-picker-field select{appearance:none;-webkit-appearance:none;min-height:2.25rem;max-width:7.5rem;padding:.375rem 1.75rem .375rem .625rem;background-color:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid var(--color-border,#ddd);border-radius:var(--radius,.375rem);font:inherit;font-size:var(--text-sm,.875rem);cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .375rem center;background-repeat:no-repeat;background-size:1.125rem 1.125rem}.text-size-select:hover,.theme-picker-field select:hover{border-color:var(--color-primary,#6366f1)}.text-size-select:focus-visible,.theme-picker-field select:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:2px}@media(max-width:480px){.text-size-control .text-size-select{max-width:5.75rem;padding-left:.5rem;padding-right:1.5rem}}.theme-picker{position:relative;display:inline-flex}.theme-picker[hidden]{display:none}header:has(.theme-picker.is-open),.site-header:has(.theme-picker.is-open){z-index:1000}.theme-picker-panel{position:absolute;top:calc(100% + .625rem);right:0;z-index:1100;display:flex;flex-direction:column;width:min(30rem,calc(100vw - 1.5rem));height:min(36rem,calc(100vh - 6rem));font-family:system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;background:var(--color-background,#fff);color:var(--color-text,#333);border:1px solid var(--color-border,#ddd);border-radius:.875rem;box-shadow:0 24px 60px -16px rgb(0 0 0/.45),0 2px 8px rgb(0 0 0/.12);overflow:hidden;text-align:left;font-size:var(--text-sm,.875rem);line-height:1.4;transform-origin:top right;animation:theme-picker-in .14s ease-out}.theme-picker-panel[hidden]{display:none!important}.theme-picker-panel:focus{outline:none}.theme-picker-top{display:flex;align-items:center;gap:.5rem;padding:.625rem .625rem .625rem .75rem;border-bottom:1px solid var(--color-border,#ddd)}.theme-picker-tabs{display:inline-flex;flex:none;padding:3px;gap:2px;background:var(--color-surface,#f5f5f5);border-radius:.625rem}.theme-picker-tabs [role=tab]{min-height:2rem;padding:0 .75rem;margin:0;background:0 0;color:var(--color-text-muted,#888);border:0;border-radius:.5rem;font:inherit;font-weight:600;cursor:pointer}.theme-picker-tabs [role=tab][hidden]{display:none}.theme-picker-tabs [role=tab]:hover{color:var(--color-text,#333)}.theme-picker-tabs [role=tab][aria-selected=true]{background:var(--color-background,#fff);color:var(--color-text,#333);box-shadow:0 1px 3px rgb(0 0 0/.2)}.theme-picker-steps{display:flex;flex:auto;align-items:center;justify-content:flex-end;min-width:0;gap:.25rem}.theme-picker-current{flex:initial;min-width:0;overflow:hidden;color:var(--color-text-muted,#888);font-size:.75rem;font-weight:600;text-align:center;white-space:nowrap;text-overflow:ellipsis}.theme-picker-step{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;margin:0;background:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid var(--color-border,#ddd);border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.theme-picker-step:hover{border-color:var(--color-primary,#6366f1);color:var(--color-primary,#6366f1)}.theme-picker-step:active{transform:scale(.94)}.theme-picker-tabs [role=tab]:focus-visible,.theme-picker-step:focus-visible,.theme-picker-sizes button:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:1px}.theme-picker-pane{display:flex;flex:auto;flex-direction:column;min-height:0}.theme-picker-pane[hidden]{display:none}.theme-picker-head{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--color-border,#ddd)}.theme-picker-search{flex:auto;min-width:0;height:2.25rem;padding:0 .75rem;margin:0;background:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid transparent;border-radius:.5rem;font:inherit;font-size:var(--text-sm,.875rem)}.theme-picker-search::placeholder{color:var(--color-text-muted,#888);opacity:1}.theme-picker-search:focus{outline:none;border-color:var(--color-primary,#6366f1)}.theme-picker-search::-webkit-search-cancel-button{cursor:pointer}.theme-picker-modes{display:inline-flex;flex:none;padding:2px;gap:2px;background:var(--color-surface,#f5f5f5);border-radius:.5rem}.theme-picker-modes button,.theme-picker-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;background:0 0;color:var(--color-text-muted,#888);border:0;border-radius:.375rem;cursor:pointer}.theme-picker-modes button:hover,.theme-picker-icon-btn:hover{color:var(--color-text,#333)}.theme-picker-modes button[aria-pressed=true]{background:var(--color-background,#fff);color:var(--color-primary,#6366f1);box-shadow:0 1px 3px rgb(0 0 0/.18)}.theme-picker-icon-btn{flex:none;width:2.25rem;height:2.25rem;border:1px solid var(--color-border,#ddd);border-radius:.5rem}.theme-picker-modes button:focus-visible,.theme-picker-icon-btn:focus-visible,.theme-picker-reset:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:1px}.theme-picker-grid{--picker-ring:var(--color-primary, #6366f1);--picker-edge:color-mix(in srgb, var(--color-text, #333) 14%, transparent);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:.625rem;flex:auto;min-height:0;padding:.75rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.theme-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;margin:0;background:var(--color-background);color:var(--color-text);border:0;border-radius:.625rem;box-shadow:0 0 0 1px var(--picker-edge);overflow:hidden;font:inherit;text-align:left;cursor:pointer;transition:box-shadow .12s ease}.theme-card[hidden]{display:none}.theme-card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--picker-ring) 55%,transparent),0 8px 18px -10px rgb(0 0 0/.55)}.theme-card:focus{outline:none}.theme-card:focus-visible,.theme-card.is-current{box-shadow:0 0 0 2px var(--picker-ring)}.theme-card.is-current::after{content:"";position:absolute;top:.375rem;right:.375rem;width:1rem;height:1rem;border-radius:999px;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath d='M4.5 8.5l2.2 2.2 4.8-5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e")50%/100% no-repeat,var(--picker-ring)}.theme-card-preview{flex:none;display:flex;flex-direction:column;gap:4px;padding:.5rem .625rem;aspect-ratio:2/1;background:var(--color-background)}.theme-card-preview>span,.theme-card-preview i{display:block}.tc-title{width:58%;height:7px;border-radius:4px;background:var(--color-text)}.tc-line{width:86%;height:4px;border-radius:2px;background:color-mix(in srgb,var(--color-text-muted,var(--color-text)) 55%,transparent)}.tc-line--short{width:64%}.tc-code{display:flex!important;gap:4px;margin-top:auto;padding:5px;border-radius:4px;background:var(--color-code-bg,var(--color-surface))}.tc-code i{height:4px;border-radius:2px}.tc-k{width:22%;background:var(--color-code-keyword,var(--color-primary))}.tc-f{width:30%;background:var(--color-code-function,var(--color-link,var(--color-primary)))}.tc-s{width:24%;background:var(--color-code-string,var(--color-success,var(--color-primary)))}.tc-dots{display:flex!important;gap:4px}.tc-dots i{width:9px;height:9px;border-radius:999px}.tc-accent{width:18px!important;background:var(--color-primary)}.tc-success{background:var(--color-success,var(--color-primary))}.tc-warning{background:var(--color-warning,var(--color-primary))}.tc-error{background:var(--color-error,var(--color-primary))}.theme-card-name{display:block;padding:.375rem .5rem;background:var(--color-surface);color:var(--color-text);font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-card-name .tc-label,.theme-card-name .tc-note{display:block;overflow:hidden;text-overflow:ellipsis}.theme-card-name .tc-note{color:var(--color-text-muted,var(--color-text));font-size:.6875rem;font-weight:500}.seasonal-card .tc-label::before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-right:.3125rem;border-radius:999px;background:conic-gradient(var(--color-primary),var(--color-success,var(--color-primary)),var(--color-warning,var(--color-primary)),var(--color-error,var(--color-primary)),var(--color-primary));vertical-align:.0625rem}.theme-picker-grid--style{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-picker-grid--font{grid-template-columns:repeat(2,minmax(0,1fr))}.style-card-preview{gap:.5rem;padding:.75rem;aspect-ratio:auto;min-height:6.5rem}.sc-panel{display:flex!important;flex-direction:column;gap:4px;padding:.5rem .625rem;background:var(--color-surface);border:var(--surface-border,1px solid var(--color-border));border-radius:var(--radius-lg,8px);box-shadow:var(--surface-shadow,none)}.sc-row{display:flex!important;align-items:center;gap:.5rem;margin-top:auto}.sc-code{display:flex!important;flex:auto;gap:4px;padding:5px;background:var(--color-code-bg,var(--color-surface));border:var(--surface-border,0);border-radius:var(--radius-md,4px)}.sc-code i{height:4px;border-radius:2px}.sc-button{flex:none;width:2.25rem;height:.875rem;background:var(--color-primary);border-radius:var(--radius,4px);box-shadow:var(--surface-shadow,none)}.font-card-preview{gap:.25rem;padding:.625rem .75rem;aspect-ratio:auto;min-height:6.5rem;overflow:hidden}.fc-heading{color:var(--color-text);font-size:1.375rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-body{display:-webkit-box!important;color:var(--color-text-muted,var(--color-text));font-size:.8125rem;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fc-code{margin-top:auto;padding:2px 6px;width:fit-content;max-width:100%;background:var(--color-code-bg,var(--color-surface));color:var(--color-code-string,var(--color-primary));border-radius:4px;font-family:ui-monospace,monospace;font-size:.75rem;white-space:nowrap;overflow:hidden}.theme-picker-sizes{gap:.375rem}.theme-picker-label{margin-right:auto;color:var(--color-text-muted,#888);font-size:.75rem;font-weight:600}.theme-picker-sizes button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.25rem;padding:0;margin:0;background:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid transparent;border-radius:.5rem;font:inherit;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}.theme-picker-sizes button[aria-checked=true]{border-color:var(--color-primary,#6366f1);color:var(--color-primary,#6366f1)}.theme-picker-sizes [data-picker-size=small] span{font-size:.75rem}.theme-picker-sizes [data-picker-size=medium] span{font-size:.9375rem}.theme-picker-sizes [data-picker-size=large] span{font-size:1.125rem}.theme-picker-sizes [data-picker-size=x-large] span{font-size:1.375rem}.theme-picker-empty{margin:0;padding:1.5rem .75rem;text-align:center;color:var(--color-text-muted,#888)}.theme-picker-empty[hidden]{display:none}.theme-picker-icon-btn[hidden],.theme-picker-grid[hidden],.theme-picker-schedule[hidden]{display:none}.theme-picker-icon-btn[aria-pressed=true]{border-color:var(--color-primary,#6366f1);color:var(--color-primary,#6366f1)}.theme-picker-schedule{flex:auto;min-height:0;padding:.75rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;font-size:var(--text-sm,.875rem)}.ss-intro{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.ss-intro p{flex:auto;margin:0;color:var(--color-text-muted,#666);font-size:.8125rem;line-height:1.45}.ss-use{flex:none;padding:.3125rem .75rem;background:var(--color-primary,#6366f1);color:var(--color-background,#fff);border:0;border-radius:999px;font:inherit;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.ss-use:disabled{background:var(--color-surface,#f5f5f5);color:var(--color-text-muted,#666);box-shadow:inset 0 0 0 1px var(--color-border,#ddd);cursor:default}.ss-use:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:2px}.ss-year{position:relative;display:flex;height:1.75rem;border-radius:.5rem;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text,#333) 14%,transparent)}.ss-seg{flex-basis:0;min-width:3px;background:linear-gradient(var(--color-primary) 0 35%,var(--color-background) 35% 100%)}.ss-seg:first-child{border-radius:.5rem 0 0 .5rem}.ss-seg:nth-last-child(2){border-radius:0 .5rem .5rem 0}.ss-seg--holiday{min-width:4px;background:var(--color-primary)}.ss-today{position:absolute;top:-.25rem;bottom:-.25rem;width:2px;margin-left:-1px;border-radius:1px;background:var(--color-text,#333);box-shadow:0 0 0 1px var(--color-background,#fff)}.ss-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:.25rem;color:var(--color-text-muted,#666);font-size:.6875rem;text-align:center}.ss-seg{position:relative;cursor:crosshair}.ss-seg.is-linked,.ss-seg:hover{z-index:1;outline:2px solid var(--color-text,#333);outline-offset:1px;border-radius:2px}.ss-readout{min-height:1.25rem;margin:.375rem 0 0;overflow:hidden;color:var(--color-text-muted,#666);font-size:.75rem;white-space:nowrap;text-overflow:ellipsis}.ss-readout.is-active{color:var(--color-text,#333);font-weight:600}.ss-item{cursor:default;transition:background-color .12s ease,box-shadow .12s ease}.ss-item.is-linked,.ss-item:hover{background:var(--color-surface,#f5f5f5);box-shadow:inset 3px 0 0 var(--color-primary,#6366f1),inset 0 0 0 1px color-mix(in srgb,var(--color-primary,#6366f1) 45%,transparent)}.ss-when{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.ss-when small{font-size:.6875rem;font-weight:500;opacity:.8}.theme-picker-current.is-previewing{color:var(--color-primary,#6366f1);font-style:italic}.ss-heading{margin:1rem 0 .375rem;font-family:inherit;color:var(--color-text-muted,#666);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ss-list{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.ss-item{display:flex;align-items:center;gap:.625rem;margin:0;padding:.375rem .5rem;border-radius:.5rem}.ss-item.is-now{background:var(--color-surface,#f5f5f5);box-shadow:inset 0 0 0 1px var(--color-primary,#6366f1)}.ss-swatch{display:inline-flex;flex:none;align-items:center;gap:3px;padding:0 6px;width:3rem;height:1.5rem;border-radius:.375rem;background:var(--color-background);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text,#333) 14%,transparent)}.ss-swatch i{display:block;width:8px;height:8px;border-radius:999px}.ss-swatch .tc-accent{width:14px!important}.ss-item-body{display:flex;flex:auto;flex-direction:column;min-width:0;line-height:1.25}.ss-item-body strong,.ss-item-body small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-item-body small{color:var(--color-text-muted,#666);font-size:.6875rem}.ss-when{flex:none;color:var(--color-text-muted,#666);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right}.ss-item.is-now .ss-when{color:var(--color-primary,#6366f1);font-weight:600}.theme-picker-bar{display:flex;flex:none;align-items:center;gap:.25rem;padding:.5rem .5rem .5rem .75rem;border-top:1px solid var(--color-border,#ddd)}.theme-picker-bar .theme-picker-hint{flex:auto;min-width:0;padding:0}.theme-picker-bar-btn[hidden]{display:none}.theme-picker-bar-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:.375rem;min-width:2rem;height:2rem;margin:0;padding:0 .5rem;background:0 0;color:var(--color-text-muted,#888);border:1px solid transparent;border-radius:999px;font:inherit;font-size:.75rem;line-height:1;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.theme-picker-bar-btn svg{flex:none}.theme-picker-bar-btn:hover{color:var(--color-text,#333);background:color-mix(in srgb,var(--color-text,#333) 8%,transparent)}.theme-picker-bar-btn:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:1px}.theme-picker-reset{margin-left:auto}.theme-picker-bake__label:empty{display:none}.theme-picker-bake.has-label{max-width:14rem;border-color:var(--color-border,#ddd)}.theme-picker-bake__label{overflow:hidden;text-overflow:ellipsis}.theme-picker-bake.is-armed{border-color:var(--color-primary,#6366f1);color:var(--color-primary,#6366f1)}.theme-picker-bake.is-done{border-color:var(--color-success,#16a34a);color:var(--color-success,#16a34a)}.theme-picker-bake.is-error{border-color:var(--color-error,#dc2626);color:var(--color-error,#dc2626)}.theme-picker-hint{margin:0;padding:0 .75rem .625rem;color:var(--color-text-muted,#888);font-size:.6875rem}.theme-picker-hint span{margin:0 .125rem}.theme-picker-hint kbd{display:inline-block;min-width:1.25em;margin-right:1px;padding:0 .25em;background:var(--color-surface,#f5f5f5);color:var(--color-text,#333);border:1px solid var(--color-border,#ddd);border-radius:.25rem;font:inherit;font-size:.625rem;line-height:1.5;text-align:center}@media(hover:none){.theme-picker-hint{display:none}}@media(max-width:640px){.theme-picker-panel{position:fixed;top:auto;right:0;bottom:0;left:0;width:auto;height:min(62vh,32rem);height:min(62dvh,32rem);border-width:1px 0 0;border-radius:1rem 1rem 0 0;padding-bottom:env(safe-area-inset-bottom,0px);font-size:.9375rem;transform-origin:bottom center;animation-name:theme-picker-sheet-in}.theme-picker-top{gap:.375rem;padding:.5rem}.theme-picker-tabs [role=tab]{min-height:2.5rem;padding:0 .625rem}.theme-picker-step{width:2.75rem;height:2.75rem}.theme-picker-head{padding:.5rem}.theme-picker-search,.theme-picker-icon-btn,.theme-picker-sizes button{height:2.75rem}.theme-picker-search{font-size:1rem}.theme-picker-icon-btn{width:2.75rem}.theme-picker-modes button{width:2.5rem;height:2.5rem}.theme-picker-sizes button{width:3rem}.theme-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:.5rem;gap:.5rem}.theme-picker-bar{padding:.375rem .5rem;border-top:1px solid var(--color-border,#ddd)}.theme-picker-bar-btn{min-width:2.5rem;height:2.5rem;font-size:.8125rem}}@media(max-width:360px){.theme-picker-current{display:none}}@media(prefers-reduced-motion:reduce){.theme-picker-panel{animation:none}.theme-card{transition:none}}@keyframes theme-picker-sheet-in{from{transform:translateY(1.5rem);opacity:0}to{transform:none;opacity:1}}@keyframes theme-picker-in{from{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.palette-notification{position:fixed;bottom:2rem;left:50%;z-index:10000;padding:.625rem 1.25rem;background:var(--color-surface,#333);color:var(--color-text,#fff);border:1px solid var(--color-border,#444);border-radius:999px;font-size:var(--text-sm,.875rem);font-weight:600;box-shadow:0 8px 28px rgb(0 0 0/.3);opacity:0;pointer-events:none;transform:translateX(-50%)translateY(.5rem);transition:opacity .18s ease,transform .18s ease}.palette-notification.visible{opacity:1;transform:translateX(-50%)translateY(0)}}