@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -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-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600: oklch(57.7% .245 27.325);--color-emerald-400: oklch(76.5% .177 163.223);--color-emerald-700: oklch(50.8% .118 165.612);--color-blue-50: oklch(97% .014 254.604);--color-blue-600: oklch(54.6% .245 262.881);--color-zinc-500: oklch(55.2% .016 285.938);--color-zinc-800: oklch(27.4% .006 286.033);--color-zinc-900: oklch(21% .006 285.885);--color-neutral-100: oklch(97% 0 none);--color-neutral-400: oklch(70.8% 0 none);--color-neutral-700: oklch(37.1% 0 none);--color-black: #000;--spacing: .25rem;--container-xs: 20rem;--container-md: 28rem;--text-xs: .75rem;--text-xs--line-height: calc(1 / .75);--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-base: 1rem;--text-base--line-height: 1.5 ;--font-weight-medium: 500;--font-weight-bold: 700;--tracking-wider: .05em;--leading-relaxed: 1.625;--radius-xs: .125rem;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--animate-spin: spin 1s linear infinite;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.sticky{position:sticky}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.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}}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-11{height:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[\#0038ff\]{border-color:#0038ff}.border-black{border-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-neutral-100{background-color:var(--color-neutral-100)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pr-16{padding-right:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.72rem\]{font-size:.72rem}.leading-relaxed{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#0038ff\]{color:#0038ff}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-700{color:var(--color-emerald-700)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-700{color:var(--color-neutral-700)}.text-red-600{color:var(--color-red-600)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-800{color:var(--color-zinc-800)}.text-zinc-900{color:var(--color-zinc-900)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-50{opacity:50%}.shadow-none{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-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,)}}:root{--bg-main: #f4f4f0;--bg-card: #ffffff;--bg-dark: #0f1015;--fg-main: #0a0a0a;--fg-muted: #555555;--border-color: #0a0a0a;--accent-blue: #0038ff;--accent-blue-hover: #0026b3;--accent-emerald: #00e575;--accent-amber: #ffb800;--accent-crimson: #ff2a55;--notes-bg: #f4f4f0;--notes-fg: #0a0a0a;--font-display: "Space Grotesk", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-sans: "Inter", system-ui, sans-serif;--shadow-xs: 2px 2px 0px var(--border-color);--shadow-sm: 4px 4px 0px var(--border-color);--shadow-md: 6px 6px 0px var(--border-color);--shadow-lg: 8px 8px 0px var(--border-color);--shadow-xl: 12px 12px 0px var(--border-color);--shadow-blue: 5px 5px 0px var(--accent-blue);--shadow-emerald: 5px 5px 0px var(--accent-emerald);--border-thin: 2px solid var(--border-color);--border-thick: 3px solid var(--border-color);--border-heavy: 4px solid var(--border-color);--max-w: 1400px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:light;scrollbar-width:thin;scrollbar-color:var(--accent-blue) var(--bg-main)}*{scrollbar-width:thin;scrollbar-color:var(--accent-blue) transparent}*::-webkit-scrollbar,::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track,::-webkit-scrollbar-track{background:#0a0a0a0a}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--bg-main)}*::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb{background-color:var(--accent-blue);border-radius:4px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:hover{background-color:var(--accent-blue-hover)}*::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:active{background-color:#0022a3}*::-webkit-scrollbar-corner,::-webkit-scrollbar-corner{background:transparent}.modal-scroll-area,.modal-card,.modal-backdrop,dialog,[role=dialog]{scrollbar-color:var(--accent-blue) rgba(10,10,10,.04)}.modal-scroll-area::-webkit-scrollbar-track,.modal-card ::-webkit-scrollbar-track,[role=dialog] ::-webkit-scrollbar-track{background:#0a0a0a0a}.modal-scroll-area::-webkit-scrollbar-thumb,.modal-card ::-webkit-scrollbar-thumb,[role=dialog] ::-webkit-scrollbar-thumb{background-color:var(--accent-blue);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.modal-scroll-area::-webkit-scrollbar-thumb:hover,.modal-card ::-webkit-scrollbar-thumb:hover,[role=dialog] ::-webkit-scrollbar-thumb:hover{background-color:var(--accent-blue-hover)}body{background-color:var(--bg-main);color:var(--fg-main);font-family:var(--font-sans);line-height:1.5;overflow-x:hidden;background-image:linear-gradient(90deg,rgba(10,10,10,.04) 1px,transparent 1px),linear-gradient(rgba(10,10,10,.04) 1px,transparent 1px);background-size:32px 32px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:1.05;color:var(--fg-main)}.font-mono,code,kbd,pre{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}.status-dot{width:8px;height:8px;background:var(--accent-emerald);border-radius:50%;display:inline-block;box-shadow:0 0 8px var(--accent-emerald);animation:pulseDot 1.8s infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.brutalist-btn{font-family:var(--font-mono);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.65rem 1.25rem;background:var(--fg-main);color:#fff;border:2px solid var(--border-color);box-shadow:3px 3px 0 var(--border-color);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);text-decoration:none;-webkit-user-select:none;user-select:none;line-height:1.2}.brutalist-btn:hover{background:#fff;color:var(--fg-main);box-shadow:4.5px 4.5px 0 var(--border-color);transform:translate(-1.5px,-1.5px)}.brutalist-btn:active{box-shadow:1.5px 1.5px 0 var(--border-color);transform:translate(1.5px,1.5px)}.brutalist-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.brutalist-btn.btn-accent,.brutalist-btn.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--border-color);box-shadow:3px 3px 0 var(--border-color)}.brutalist-btn.btn-accent:hover,.brutalist-btn.btn-primary:hover{background:#002ec7;color:#fff;box-shadow:4.5px 4.5px 0 var(--border-color);transform:translate(-1.5px,-1.5px)}.brutalist-btn.btn-accent:active,.brutalist-btn.btn-primary:active{box-shadow:1.5px 1.5px 0 var(--border-color);transform:translate(1.5px,1.5px)}.brutalist-btn.btn-outline,.brutalist-btn.btn-secondary{background:#fff;color:var(--fg-main);border-color:var(--border-color);box-shadow:3px 3px 0 var(--border-color)}.brutalist-btn.btn-outline:hover,.brutalist-btn.btn-secondary:hover{background:#f4f4f0;color:var(--fg-main);box-shadow:4.5px 4.5px 0 var(--border-color);transform:translate(-1.5px,-1.5px)}.brutalist-btn.btn-outline:active,.brutalist-btn.btn-secondary:active{box-shadow:1.5px 1.5px 0 var(--border-color);transform:translate(1.5px,1.5px)}.brutalist-btn.btn-emerald:hover{background:#000;color:var(--accent-emerald)}.brutalist-btn.btn-sm{padding:.35rem .75rem;font-size:.75rem;border-width:1.5px;box-shadow:2px 2px 0 var(--border-color)}.brutalist-btn.btn-sm:hover{box-shadow:3px 3px 0 var(--border-color);transform:translate(-1px,-1px)}.brutalist-btn.btn-sm:active{box-shadow:1px 1px 0 var(--border-color);transform:translate(1px,1px)}.brutalist-badge{font-family:var(--font-mono);font-size:.75rem;font-weight:700;text-transform:uppercase;padding:.25rem .6rem;background:#fff;color:var(--fg-main);border:var(--border-thin);box-shadow:2px 2px #000c;display:inline-flex;align-items:center;gap:.35rem}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.section{padding:4.5rem 0;position:relative}@media(max-width:640px){.section{padding-top:3rem;padding-bottom:3rem}}@media(max-width:480px){.container{padding-left:1rem;padding-right:1rem}.section-divider:after{right:1rem}}.section-divider{width:100%;height:2px;background:var(--border-color);margin:0;position:relative}.section-divider:after{content:"+";position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:var(--bg-main);padding:0 .5rem;font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--border-color);line-height:1}.section-header{margin-bottom:2.75rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.section-tag{font-family:var(--font-mono);font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--accent-blue);letter-spacing:.08em;display:inline-flex;align-items:center;gap:.5rem}.section-tag:before{content:"//";font-weight:900;color:var(--fg-main)}.section-title{font-size:clamp(2.2rem,4.8vw,3.6rem);letter-spacing:-.04em;line-height:.98;font-weight:900;margin:0}.section-subtitle{font-family:var(--font-mono);font-size:.92rem;color:var(--fg-muted);max-width:680px;line-height:1.6}.skip-to-content{position:absolute;top:-100px;left:1.25rem;z-index:10000;background:#fff;color:var(--accent-blue);border:2px solid var(--border-color);box-shadow:4px 4px 0 var(--border-color);padding:.65rem 1.25rem;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-decoration:none;transition:top .15s ease}.skip-to-content:focus{top:1.25rem;outline:2px solid var(--accent-blue);outline-offset:2px}.main-content{flex-grow:1}#main-content:focus{outline:2px dashed var(--accent-blue);outline-offset:-2px}#main-content:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.brutalist-btn,.hero-btn,.project-btn,.modal-action-btn,.contact-card,.year-btn,.notes-filter-btn{transform:none!important;transition:none!important}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#e8e8e4,#f6f6f2,#deded9 70%,#e8e8e4);background-size:200% 100%;animation:skeleton-shimmer 1.7s cubic-bezier(.4,0,.2,1) infinite;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.skeleton-dark{background:linear-gradient(90deg,#d8d8d3,#ebebe6,#cecec8 70%,#d8d8d3);background-size:200% 100%;animation:skeleton-shimmer 1.7s cubic-bezier(.4,0,.2,1) infinite;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.skeleton-badge{background:linear-gradient(90deg,#e2e2dd,#f2f2ee,#e2e2dd);background-size:200% 100%;animation:skeleton-shimmer 1.7s cubic-bezier(.4,0,.2,1) infinite;border:var(--border-thin, 2px solid #0a0a0a);box-shadow:2px 2px #0009}.skeleton-button{background:linear-gradient(90deg,#e4e4df,#f5f5f0,#e4e4df);background-size:200% 100%;animation:skeleton-shimmer 1.7s cubic-bezier(.4,0,.2,1) infinite;border:var(--border-thick, 3px solid #0a0a0a);box-shadow:var(--shadow-sm, 4px 4px 0px #0a0a0a)}.skeleton-button-sm{border:var(--border-thin, 2px solid #0a0a0a);box-shadow:var(--shadow-xs, 2px 2px 0px #0a0a0a)}.skeleton-card{background:#fff;border:var(--border-heavy, 4px solid #0a0a0a);box-shadow:var(--shadow-lg, 8px 8px 0px #0a0a0a)}@media(prefers-reduced-motion:reduce){.skeleton-shimmer,.skeleton-dark,.skeleton-badge,.skeleton-button{animation:none!important;background:#e4e4e0!important}}:root{--bg-main: #f4f4f0;--bg-card: #ffffff;--bg-sidebar: #ffffff;--fg-main: #0a0a0a;--fg-muted: #555555;--border-color: #0a0a0a;--accent-blue: #0038ff;--accent-blue-hover: #0026b3;--accent-emerald: #00e575;--accent-emerald-dark: #00773d;--accent-amber: #ffb800;--accent-amber-dark: #92400e;--accent-crimson-dark: #b91c1c;--accent-purple: #8b3dff;--font-display: "Space Grotesk", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-sans: "Inter", system-ui, sans-serif;--shadow-xs: 2px 2px 0px var(--border-color);--shadow-sm: 4px 4px 0px var(--border-color);--shadow-md: 6px 6px 0px var(--border-color);--shadow-lg: 8px 8px 0px var(--border-color);--shadow-xl: 12px 12px 0px var(--border-color);--shadow-crimson: 4px 4px 0px var(--accent-crimson);--border-thin: 2px solid var(--border-color)}.admin-layout{--admin-max-w: 1400px;--sidebar-w: 270px;--header-h: 70px}.admin-content{padding:2rem;max-width:var(--admin-max-w);width:100%;margin:0 auto;flex-grow:1}.admin-view{animation:viewFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:var(--border-heavy);padding-bottom:1.25rem;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.view-header-left{display:flex;flex-direction:column;gap:.3rem}.view-tag{font-family:var(--font-mono);font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--accent-blue);letter-spacing:.08em;display:flex;align-items:center;gap:.4rem}.view-tag:before{content:"//";font-weight:900;color:var(--fg-main)}.view-title{font-size:clamp(1.6rem,3.5vw,2.25rem);letter-spacing:-.04em;margin:0;font-family:var(--font-display);font-weight:800;text-transform:uppercase}.view-description{font-family:var(--font-mono);font-size:.85rem;color:var(--fg-muted)}.view-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.brutalist-btn{font-family:var(--font-mono);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.65rem 1.35rem;min-height:42px;background:var(--fg-main);color:#fff;border:var(--border-thick);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);text-decoration:none;-webkit-user-select:none;user-select:none;line-height:1.2;white-space:nowrap}.brutalist-btn:hover:not(:disabled){background:#fff;color:var(--fg-main);box-shadow:var(--shadow-md);transform:translate(-2px,-2px)}.brutalist-btn:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translate(2px,2px)}.brutalist-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none!important}.brutalist-btn.btn-accent{background:var(--accent-blue);color:#fff}.brutalist-btn.btn-accent:hover:not(:disabled){background:#fff;color:var(--accent-blue)}.brutalist-btn.btn-outline{background:#fff;color:var(--fg-main)}.brutalist-btn.btn-outline:hover:not(:disabled){background:var(--fg-main);color:#fff}.brutalist-btn.btn-emerald{background:var(--accent-emerald);color:#000}.brutalist-btn.btn-emerald:hover:not(:disabled){background:#000;color:var(--accent-emerald)}.brutalist-btn.btn-crimson{background:var(--accent-crimson);color:#fff}.brutalist-btn.btn-crimson:hover:not(:disabled){background:#000;color:var(--accent-crimson)}.brutalist-btn.btn-amber{background:var(--accent-amber);color:#000}.brutalist-btn.btn-amber:hover:not(:disabled){background:#000;color:var(--accent-amber)}.brutalist-btn.btn-xs{padding:.28rem .65rem;font-size:.72rem;min-height:28px;box-shadow:2px 2px 0 var(--border-color);border-width:2px;gap:.35rem}.brutalist-btn.btn-xs:hover:not(:disabled){box-shadow:3px 3px 0 var(--border-color);transform:translate(-1px,-1px)}.brutalist-btn.btn-xs:active:not(:disabled){box-shadow:1px 1px 0 var(--border-color);transform:translate(1px,1px)}.brutalist-btn.btn-sm{padding:.42rem .85rem;font-size:.78rem;min-height:32px;box-shadow:var(--shadow-xs);border-width:2px}.brutalist-btn.btn-sm:hover:not(:disabled){box-shadow:var(--shadow-sm)}.brutalist-btn.btn-lg{padding:.85rem 1.75rem;font-size:.95rem;min-height:48px}.brutalist-btn.btn-icon{padding:.45rem;width:38px;height:38px;min-width:38px}.brutalist-btn.btn-block{width:100%}.brutalist-badge{font-family:var(--font-mono);font-size:.72rem;font-weight:800;text-transform:uppercase;padding:.25rem .6rem;background:#fff;color:var(--fg-main);border:var(--border-thin);box-shadow:var(--shadow-xs);display:inline-flex;align-items:center;gap:.35rem;line-height:1.2}.brutalist-badge.badge-blue{background:#eef2ff;border-color:var(--accent-blue);color:var(--accent-blue)}.brutalist-badge.badge-emerald{background:#e6fcf0;border-color:#00994f;color:#00773d}.brutalist-badge.badge-amber{background:#fffbeb;border-color:#b45309;color:#92400e}.brutalist-badge.badge-crimson{background:#fef2f2;border-color:#dc2626;color:#b91c1c}.brutalist-badge.badge-dark{background:#0a0a0a;color:#fff;border-color:#0a0a0a}.tech-chip{font-family:var(--font-mono);font-size:.7rem;font-weight:700;padding:.2rem .5rem;background:#f4f4f0;border:var(--border-thin);display:inline-flex;align-items:center;gap:.3rem}.brutalist-card{background:var(--bg-card);border:var(--border-heavy);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.brutalist-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-xl)}.card-header{padding:1rem 1.25rem;background:var(--bg-main);border-bottom:var(--border-thick);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1.15rem;margin:0;display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;text-transform:uppercase}.card-body{padding:1.5rem;flex-grow:1}.card-footer{padding:.85rem 1.25rem;background:var(--bg-main);border-top:var(--border-thin);display:flex;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-grid-1{grid-template-columns:1fr}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-row,.form-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-row-2-1{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.form-row-1-2{display:grid;grid-template-columns:1fr 2fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.form-grid-profile{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}.col-span-2{grid-column:span 2}.col-span-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:.4rem;position:relative}.form-label{font-family:var(--font-mono);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-main);display:flex;align-items:center;justify-content:space-between}.form-label .req{color:var(--accent-crimson);font-weight:900}.form-input,.form-textarea,.form-select{font-family:var(--font-mono);font-size:.88rem;color:var(--fg-main);background:#fff;border:var(--border-thin);box-shadow:var(--shadow-xs);padding:.65rem .85rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent-blue);box-shadow:4px 4px 0 var(--accent-blue)}.form-input.is-invalid,.form-textarea.is-invalid,.form-select.is-invalid{border-color:var(--accent-crimson);box-shadow:4px 4px 0 var(--accent-crimson)}.form-textarea{min-height:120px;resize:vertical;line-height:1.5}.form-helper{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted)}.form-error{font-family:var(--font-mono);font-size:.72rem;font-weight:800;color:var(--accent-crimson);display:none}.form-error.show{display:block}.form-switch-group{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#fff;border:var(--border-thin);box-shadow:var(--shadow-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.form-switch-group input[type=checkbox]{appearance:none;width:20px;height:20px;background:#fff;border:var(--border-thin);cursor:pointer;position:relative;outline:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-switch-group input[type=checkbox]:checked{background:var(--accent-blue)}.form-switch-group input[type=checkbox]:checked:after{content:"\2713";color:#fff;font-family:var(--font-mono);font-weight:900;font-size:14px}.checkbox-container{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--fg-main);padding:.4rem 0}.checkbox-container input[type=checkbox]{appearance:none;-webkit-appearance:none;width:20px;height:20px;background:#fff;border:2px solid var(--border-color);box-shadow:2px 2px 0 var(--border-color);cursor:pointer;outline:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s ease;margin:0}.checkbox-container input[type=checkbox]:checked{background:var(--accent-blue);border-color:var(--border-color)}.checkbox-container input[type=checkbox]:checked:after{content:"\2713";color:#fff;font-family:var(--font-mono);font-weight:900;font-size:13px;line-height:1}.checkbox-container input[type=checkbox]:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.checkbox-custom{display:none}.tag-picker-wrap{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem;background:#fff;border:var(--border-thin);box-shadow:var(--shadow-xs);min-height:52px;max-height:160px;overflow-y:auto}.tag-picker-item{font-family:var(--font-mono);font-size:.72rem;font-weight:700;padding:.3rem .6rem;background:#f4f4f0;border:var(--border-thin);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.tag-picker-item:hover{background:#e4e4e0}.tag-picker-item.selected{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.filter-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:var(--border-heavy);box-shadow:var(--shadow-md);padding:.85rem 1.25rem;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filter-group-left{display:flex;align-items:center;gap:.75rem;flex-grow:1;flex-wrap:wrap}.search-input-wrap{position:relative;min-width:260px;flex-grow:1;max-width:400px}.search-input-wrap input{padding-left:2.25rem}.filter-select{width:auto;min-width:180px;max-width:340px}.checkbox-label{font-family:var(--font-mono);font-weight:800;font-size:.82rem;color:var(--fg-main);line-height:1.3}.text-muted{color:var(--fg-muted)}.search-icon-inside{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--fg-muted)}.filter-group-right{display:flex;align-items:center;gap:.75rem}.table-container{background:#fff;border:var(--border-heavy);box-shadow:var(--shadow-lg);overflow-x:auto;position:relative}.brutalist-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.brutalist-table th{background:#0a0a0a;color:#fff;font-family:var(--font-mono);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.85rem 1rem;border-bottom:var(--border-heavy);white-space:nowrap;-webkit-user-select:none;user-select:none}.brutalist-table th.sortable{cursor:pointer}.brutalist-table th.sortable:hover{background:#222;color:var(--accent-blue)}.brutalist-table td{padding:.85rem 1rem;border-bottom:var(--border-thin);color:var(--fg-main);vertical-align:middle}.brutalist-table tr:last-child td{border-bottom:none}.brutalist-table tr:hover td{background-color:#f4f4f0}.table-actions-cell{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.table-cell-title{font-family:var(--font-display);font-weight:800;font-size:.98rem;color:var(--fg-main);line-height:1.25}.table-cell-sub{font-family:var(--font-mono);font-size:.74rem;color:var(--fg-muted);line-height:1.35;margin-top:.15rem}.table-cell-order{font-family:var(--font-mono);font-weight:900;font-size:.85rem;color:var(--fg-main)}.table-img-thumb{width:54px;height:38px;object-fit:cover;border:var(--border-thin);box-shadow:1px 1px 0 var(--border-color);display:block}.table-book-cover{width:44px;height:60px;object-fit:cover;border:var(--border-thin);box-shadow:1px 1px 0 var(--border-color);display:block;background:#eee}.modal-backdrop{position:fixed;inset:0;background:#0a0a0ac7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:none;align-items:center;justify-content:center;padding:1.25rem;overflow:hidden}.modal-backdrop.open{display:flex}.modal-card{background:#fff;border:var(--border-heavy);box-shadow:var(--shadow-xl);max-width:820px;width:96%;max-height:90vh;display:flex;flex-direction:column;animation:modalPop .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.modal-card.modal-lg{max-width:1060px;width:95vw;max-height:92vh}.modal-card.modal-sm{max-width:520px;width:92vw}.modal-card form{display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow:hidden;height:100%}@keyframes modalPop{0%{transform:scale(.96) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{background:var(--bg-main);border-bottom:var(--border-thick);padding:1.1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title-wrap{display:flex;flex-direction:column}.modal-tag{font-family:var(--font-mono);font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--accent-blue);letter-spacing:.05em}.modal-title{font-size:1.35rem;margin:0;letter-spacing:-.02em;font-family:var(--font-display);font-weight:800;text-transform:uppercase}.modal-close-btn{background:#fff;border:var(--border-thin);box-shadow:var(--shadow-xs);width:36px;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:900;font-size:1.15rem;cursor:pointer;transition:all .15s ease;line-height:1;padding:0;color:var(--fg-main)}.modal-close-btn:hover:not(:disabled){background:var(--fg-main);color:#fff;box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.modal-close-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-body,.modal-scroll-area{padding:1.75rem 1.5rem;overflow-y:auto;flex-grow:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--fg-main) #f4f4f0}.modal-body::-webkit-scrollbar,.modal-scroll-area::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track,.modal-scroll-area::-webkit-scrollbar-track{background:#f4f4f0;border-left:1px solid var(--border-color)}.modal-body::-webkit-scrollbar-thumb,.modal-scroll-area::-webkit-scrollbar-thumb{background:var(--fg-main)}.modal-footer{background:var(--bg-main);border-top:var(--border-thick);padding:1.1rem 1.5rem;display:flex;justify-content:flex-end;align-items:center;gap:1rem;flex-shrink:0}.modal-footer .brutalist-btn{min-width:120px;padding:.7rem 1.5rem;font-size:.85rem;font-weight:800;min-height:44px}@media(max-width:860px){.form-grid,.form-grid-profile,.form-row,.form-row-2,.form-row-2-1,.form-row-1-2,.form-row-3{grid-template-columns:1fr}.col-span-2,.col-span-full{grid-column:1}.filter-bar{flex-direction:column;align-items:stretch}.filter-group-left,.filter-group-right{width:100%}.search-input-wrap{min-width:100%;max-width:100%}}@media(max-width:600px){.view-header{flex-direction:column;align-items:flex-start;gap:1rem}.view-actions,.view-actions .brutalist-btn{width:100%}}@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-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@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-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;}@keyframes spin{to{transform:rotate(360deg)}}@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-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--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}}}
