/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight: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:"Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--font-serif:"Source Serif 4 Variable", Georgia, Cambria, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-extrabold:800;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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]){-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;-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}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-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,);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,)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.DHTKMUil.woff2)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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.BsaNuasd.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.BVZ5su8S.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.DMe4EKeb.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}:root{--paper:#f7f5ef;--surface:#fffcf8;--elevated:#fff;--inset:#f1efe7;--footer:#eeeee6;--ink:#1c2118;--text:#292d27;--text-secondary:#3e4638;--text-muted:#4f5748;--border:#d6d6cc;--border-strong:#b7b3a6;--primary:#30573d;--primary-hover:#233f2c;--primary-ink:#fff;--accent:#466348;--danger:#8e1d1d;--danger-hover:#6f1616;--danger-surface:#fdecec;--warning:#6d4e00;--warning-surface:#fbf3df;--success:#1d5c32;--success-surface:#e7f3ea;--info:#1a4560;--info-surface:#e8f1f6;--focus:#30573d;--focus-ring:#30573d47;--disabled:#e6e3da;--disabled-text:#5c6456;--primary-soft:#e6eee4;--primary-soft-ink:#24452f;--shadow-overlay:0 24px 48px -12px #1c21182e, 0 0 0 1px #1c21180f;--shadow-card:0 1px 2px #1c21180a, 0 2px 8px -2px #1c21180d;--shadow-raised:0 1px 2px #1c21180d, 0 10px 24px -8px #1c211824;--shadow-button:0 1px 2px #1c21181f, inset 0 1px 0 #ffffff1f;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--radius:var(--radius-md);--radius-panel:var(--radius-lg);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.14s;--dur:.22s;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--text-display:clamp(2rem, 3.6vw, 3.25rem);--text-page:clamp(1.75rem, 2.4vw, 2.25rem);--text-section:1.5rem;--text-card:1.25rem;--text-body:1.0625rem;--text-secondary-size:.9375rem;--text-caption:.8125rem;--text-label:.875rem;--measure:68ch;--header-h:72px;--code:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-size:var(--text-body);font-feature-settings:"cv11", "ss01";color:var(--text);background:var(--paper);margin:0;line-height:1.65}.icon{stroke:currentColor;fill:none;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex-shrink:0;width:1.125em;height:1.125em}.icon-chip{border-radius:var(--radius-md);background:var(--primary-soft);width:40px;height:40px;color:var(--primary);flex-shrink:0;place-items:center;display:inline-grid}.icon-chip .icon{width:20px;height:20px}.icon-chip.lg{border-radius:16px;width:52px;height:52px}.icon-chip.lg .icon{width:24px;height:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}img,svg,video{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--ink);text-wrap:balance;font-weight:500;line-height:1.2}p,li{text-wrap:pretty}.price,.stat strong,.data-table td,.order-id{font-variant-numeric:tabular-nums}p,ul,ol{margin:0}a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{color:var(--ink);background:#d9e4d6}button,a,input,select,textarea{touch-action:manipulation}:where(button,select,summary,input:not([type=checkbox],[type=radio],[type=file],[type=hidden])){min-height:44px}:where(button){font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button[aria-busy=true]{cursor:wait}input,select,textarea{font:inherit;max-width:100%}code,.mono{font-family:var(--code);font-size:.92em}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-text,.btn-accent{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--radius-md);min-height:44px;font-size:var(--text-label);white-space:nowrap;box-shadow:none;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);background:0 0;border:1px solid #0000;padding:0 18px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn .icon,.btn-primary .icon,.btn-secondary .icon,.btn-ghost .icon,.btn-danger .icon,.btn-accent .icon{width:18px;height:18px}.btn-primary,.btn-accent{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--elevated);border-color:var(--border);color:var(--ink);box-shadow:0 1px 2px #1c21180f}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong)}.btn-sm{border-radius:var(--radius-sm);min-height:36px;font-size:var(--text-caption);padding:0 12px}.btn-lg{border-radius:14px;min-height:52px;padding:0 24px;font-size:1rem}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--inset)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-text{min-height:44px;color:var(--primary);background:0 0;border:0;padding:0 4px;text-decoration:underline}@supports (color:color-mix(in lab, red, red)){.btn-text{-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent)}}.btn-text{text-underline-offset:4px;font-weight:600}.btn-text:hover{text-decoration-color:currentColor}.btn-text.danger,.danger-text{color:var(--danger)}.btn-icon{width:44px;padding:0}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-accent:disabled,.btn-danger:disabled,.btn-ghost:disabled{background:var(--disabled);color:var(--disabled-text);box-shadow:none;border-color:#0000}.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-accent:active:not(:disabled){transform:scale(.97)}.w-full{width:100%}.text-link{color:var(--primary);align-items:center;gap:6px;font-weight:600;text-decoration:underline;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.text-link{-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent)}}.text-link{text-underline-offset:4px;transition:text-decoration-color var(--dur-fast) var(--ease-out)}.text-link:hover{text-decoration-color:currentColor}.text-link .icon{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out)}.text-link:hover .icon-arrow-right{transform:translate(2px)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label,.field>legend,label.field>span:first-child,label.field{font-size:var(--text-label);color:var(--ink);font-weight:600}label.field input,label.field textarea,label.field select,label.field .field-hint,label.field .field-error{font-weight:400}label.field .field-hint{font-size:var(--text-caption);color:var(--text-muted)}label.field .field-error{font-size:var(--text-caption);color:var(--danger)}.field-hint{font-size:var(--text-caption);color:var(--text-muted);line-height:1.45}.field-error{color:var(--danger);font-size:var(--text-caption);min-height:1.2em}.notice-error{color:var(--danger)}.form-input,.control,textarea.form-input,textarea.control,select.form-input,select.control{border:1px solid var(--border);border-radius:var(--radius);background:var(--elevated);width:100%;min-height:46px;color:var(--ink);transition-property:border-color,box-shadow,background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);padding:10px 14px;font-size:16px;line-height:1.4;box-shadow:inset 0 1px 2px #1c21180a}textarea.form-input,textarea.control{resize:vertical;min-height:120px}.form-input::placeholder,.control::placeholder,.tag-entry::placeholder{color:#6b7264}.form-input:hover:not(:disabled):not(:focus),.control:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.form-input:focus,.control:focus,.form-input:focus-visible,.control:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-input[data-filled=true],.control[data-filled=true]{background:var(--surface)}:is(.form-input:user-invalid,.control:user-invalid,.form-input[aria-invalid=true],.control[aria-invalid=true]){border-color:var(--danger);box-shadow:0 0 0 3px #8e1d1d29}.form-input:disabled,.control:disabled,.form-input[readonly],.control[readonly]{background:var(--inset);color:var(--text-muted)}.control-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--elevated);min-width:0;min-height:46px;transition-property:border-color,box-shadow,background-color;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);align-items:center;display:flex;position:relative;box-shadow:inset 0 1px 2px #1c21180a}.control-wrap>.control,.control-wrap>.form-input{box-shadow:none;background:0 0;border:0;flex:1;min-width:0}.control-wrap>.control:focus,.control-wrap>.control:focus-visible{box-shadow:none}.control-wrap:hover{border-color:var(--border-strong)}.control-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.control-wrap[data-filled=true]{background:var(--surface)}:is(.control-wrap:has(:user-invalid),.control-wrap:has([aria-invalid=true])){border-color:var(--danger);box-shadow:0 0 0 3px #8e1d1d29}.control-wrap:has(:disabled),.control-wrap:has([readonly]){background:var(--inset)}.control-icon,.control-affix,.spin button{flex-shrink:0}.control-icon{width:18px;height:18px;color:var(--text-muted);margin-left:12px}.control-search .control,.control-lead .control{padding-left:10px}.control-wrap:focus-within .control-icon{color:var(--primary)}.contact-card{gap:6px;display:grid}.contact-card .icon-chip{margin-bottom:8px}.contact-card h2{margin:0;font-size:1.15rem}.contact-card .field-hint{margin-top:2px}.control-affix,.spin button,.tag-remove{border-radius:var(--radius-sm);min-width:36px;min-height:36px;color:var(--text-muted);font-size:var(--text-caption);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;margin-right:4px;padding:0 8px;font-weight:700;display:inline-grid}.control-affix:hover,.spin button:hover,.tag-remove:hover{background:var(--inset);color:var(--ink)}.control-affix .icon,.tag-remove .icon{width:16px;height:16px}.control-affix[hidden],[data-clear][hidden]{display:none}.control-wrap.is-loading:after,.file-drop[aria-busy=true] .file-drop-button:after{content:"";border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;margin-right:12px;animation:.8s linear infinite control-spin}.control-select .control,.control-date .control{appearance:none;background:0 0;padding-right:40px}.control-select:after,.control-date:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2330573d' stroke-width='2'/%3E%3C/svg%3E") 50%/12px 8px no-repeat;width:12px;height:8px;position:absolute;right:14px}.control-date:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2330573d' stroke-width='1.6'%3E%3Crect x='2.5' y='3.5' width='13' height='12' rx='1.5'/%3E%3Cpath d='M2.5 7.5h13M6 2.5v3M12 2.5v3'/%3E%3C/svg%3E");width:18px;height:18px;right:12px}.control-date input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:32px;height:32px;position:absolute;right:6px}.control-number .control{padding-right:8px}.spin{border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-self:stretch;gap:1px;padding:3px;display:flex}.spin button{min-width:28px;min-height:18px;color:var(--text-muted);border-radius:6px;margin:0;padding:0 6px;line-height:1}.spin button .icon{width:14px;height:14px}input[type=search]::-webkit-search-cancel-button{appearance:none;display:none}input[type=search]::-webkit-search-decoration{appearance:none;display:none}input[type=number]::-webkit-outer-spin-button{appearance:none;display:none}input[type=number]::-webkit-inner-spin-button{appearance:none;display:none}input[type=number]{appearance:textfield}.check,.radio,.switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex;position:relative}.check input,.radio input,.switch input{opacity:0;cursor:pointer;width:44px;height:44px;margin:0;position:absolute}.check input:focus,.radio input:focus,.switch input:focus,.file-drop input:focus{outline:none}.check-ui,.radio-ui{border:1.5px solid var(--border-strong);background:var(--elevated);width:20px;height:20px;transition-property:background-color,border-color,box-shadow;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 1px 2px #1c21180f}.check-ui{border-radius:6px}.check-ui:after,.radio-ui:after{transition:transform var(--dur) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}.radio-ui{border-radius:50%}.check input:hover+.check-ui,.radio input:hover+.radio-ui,.switch input:hover+.switch-ui{border-color:var(--primary)}.check input:checked+.check-ui{background:var(--primary);border-color:var(--primary)}.check input:checked+.check-ui:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transform:translateY(-1px)rotate(-45deg)}.radio input:checked+.radio-ui{border-color:var(--primary)}.radio input:checked+.radio-ui:after{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px}.check input:focus-visible+.check-ui,.radio input:focus-visible+.radio-ui,.switch input:focus-visible+.switch-ui{outline:2px solid var(--focus);outline-offset:2px}.check input:disabled+.check-ui,.radio input:disabled+.radio-ui,.switch input:disabled+.switch-ui{background:var(--disabled);border-color:var(--border)}.check input[aria-invalid=true]+.check-ui,.radio input[aria-invalid=true]+.radio-ui,.switch input[aria-invalid=true]+.switch-ui{border-color:var(--danger)}.switch-ui{width:44px;height:26px;transition:background-color var(--dur) var(--ease-out);background:#d3d0c5;border:1px solid #0000;border-radius:999px;flex-shrink:0;position:relative;box-shadow:inset 0 1px 3px #1c211824}.switch-ui:after{content:"";width:20px;height:20px;transition:transform var(--dur) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #1c211840,0 0 0 .5px #1c211814}.switch input:checked+.switch-ui{background:var(--primary);border-color:#0000}.switch input:checked+.switch-ui:after{transform:translate(18px)}.file-drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--elevated);cursor:pointer;min-height:76px;transition-property:border-color,background-color,box-shadow;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out);align-items:center;gap:14px;padding:14px;display:flex;position:relative}.file-drop-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);flex-shrink:0;place-items:center;display:inline-grid}.file-drop-icon .icon{width:20px;height:20px}.file-drop input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-drop:hover,.file-drop[data-filled=true]{border-color:var(--primary);background:var(--surface);border-style:solid}.file-drop:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.file-drop-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--elevated);min-height:36px;font-size:var(--text-caption);flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #1c21180f}.file-drop-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.file-drop-title{font-weight:700}.file-drop-name{overflow-wrap:anywhere;color:var(--text-secondary);font-size:var(--text-caption)}.tags{border:1px solid var(--border);border-radius:var(--radius);background:var(--elevated);min-height:46px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex;box-shadow:inset 0 1px 2px #1c21180a}.tags:hover{border-color:var(--border-strong)}.tags:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{border-radius:var(--radius-pill);background:var(--primary-soft);min-height:30px;color:var(--primary-soft-ink);font-size:var(--text-caption);border:1px solid #0000;align-items:center;gap:2px;padding:0 2px 0 12px;font-weight:600;display:inline-flex}.tag .tag-remove{min-width:26px;min-height:26px;color:inherit;border-radius:50%;margin:0;padding:0}.tag .tag-remove .icon{width:14px;height:14px}.tag-entry{min-width:8rem;box-shadow:none;background:0 0;border:0;flex:1;min-height:32px;padding:4px;font-size:15px}.tag-store{display:none}progress.meter{appearance:none;background:var(--inset);border:0;border-radius:999px;width:100%;height:8px;overflow:hidden}progress.meter::-webkit-progress-bar{background:var(--inset)}progress.meter::-webkit-progress-value{background:var(--primary)}progress.meter::-moz-progress-bar{background:var(--primary)}@keyframes control-spin{to{transform:rotate(360deg)}}.notice{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");border:1px solid var(--border);border-radius:var(--radius);background:var(--inset);color:var(--text);font-size:var(--text-secondary-size);padding:12px 14px 12px 42px;line-height:1.5;position:relative}.notice:before{content:"";width:18px;height:18px;-webkit-mask:var(--notice-icon) center / contain no-repeat;-webkit-mask:var(--notice-icon) center / contain no-repeat;-webkit-mask:var(--notice-icon) center / contain no-repeat;-webkit-mask:var(--notice-icon) center / contain no-repeat;mask:var(--notice-icon) center / contain no-repeat;background:currentColor;position:absolute;top:13px;left:14px}.notice-error{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E")}.notice-success{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}.notice-warning{--notice-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}.notice-error{background:var(--danger-surface);border-color:#e4b4b4}.notice-success{background:var(--success-surface);color:var(--success);border-color:#b7d7c2}.notice-warning{background:var(--warning-surface);color:var(--warning);border-color:#ead7a4}.notice-info{background:var(--info-surface);color:var(--info);border-color:#c5d7e3}.hidden{display:none}.publication-shell,.admin-shell,.auth-body{background:var(--paper);color:var(--text);min-height:100vh}.page-width,.container-wide{width:min(1180px,100%);margin-inline:auto;padding-inline:24px}.container-narrow{width:min(760px,100%);margin-inline:auto;padding-inline:24px}.skip-link{background:var(--elevated);color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);z-index:100;padding:12px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:30;background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--paper) 88%, transparent)}}.site-header{-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent)}}.header-row{min-height:var(--header-h);align-items:center;gap:20px;display:flex}.wordmark{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;text-decoration:none;display:flex}.wordmark img{border-radius:10px;flex-shrink:0;width:36px;height:36px}.desktop-nav{font-size:var(--text-secondary-size);align-items:center;gap:4px;margin-left:auto;display:flex}.nav-menu{position:relative}.desktop-nav>a,.nav-menu summary{border-radius:var(--radius-pill);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:0 12px;font-weight:500;text-decoration:none;list-style:none;display:inline-flex}.desktop-nav>a:hover,.nav-menu summary:hover,.nav-menu[open] summary{background:var(--inset);color:var(--ink)}.nav-menu summary::-webkit-details-marker{display:none}.desktop-nav>a[aria-current=page],.nav-menu summary[aria-current=true]{background:var(--primary-soft);color:var(--primary-soft-ink);font-weight:600}.nav-chevron{width:15px;height:15px;transition:transform var(--dur) var(--ease-out)}.nav-menu[open] .nav-chevron{transform:rotate(180deg)}.nav-panel{z-index:40;background:var(--elevated);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow-overlay);animation:pop-in var(--dur) var(--ease-out);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;translate:-50%}.nav-panel a{border-radius:var(--radius-md);color:var(--ink);transition:background-color var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:8px;text-decoration:none;display:flex}.nav-panel a:hover,.nav-panel a[aria-current=page]{background:var(--inset)}.nav-panel strong{font-size:var(--text-secondary-size);font-weight:600;display:block}.nav-panel small{color:var(--text-muted);font-size:var(--text-caption);display:block}.library-link[aria-current=page]{border-color:var(--primary);color:var(--primary)}.mobile-nav,.mobile-nav summary .when-open,.mobile-nav[open] summary .when-closed{display:none}.mobile-nav[open] summary .when-open{display:block}.kicker,.section-kicker,.note-index,.empty-index{font-family:var(--font-sans);font-size:var(--text-caption);letter-spacing:.02em;text-transform:none;color:var(--primary);font-weight:600}.page-header{padding-top:var(--s-7);padding-bottom:var(--s-6)}.section-pad{padding-bottom:72px}.contact-grid{gap:24px;display:grid}.contact-grid>*,.reader>*,.hero-grid>*,.form-grid>*,.admin-content{min-width:0}.narrow-panel{max-width:480px}@media (width>=800px){.contact-grid{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start}}.page-header h1,.prose-content h1,.publisher-hero h1{font-size:var(--text-page);margin:8px 0 0;font-weight:500}.publisher-hero h1{font-size:var(--text-display);letter-spacing:-.03em;margin:18px 0 20px;line-height:1.06}.lede,.hero-intro{max-width:var(--measure);color:var(--text-secondary);margin-top:16px;font-size:1.125rem;line-height:1.7}.crumbs{font-size:var(--text-caption);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;padding-top:20px;display:flex}.crumbs a{color:var(--text-secondary);font-weight:500;text-decoration:none}.crumbs a:hover{color:var(--primary)}.crumbs .icon{width:14px;height:14px;color:var(--border-strong)}.publisher-hero{padding-top:56px;padding-bottom:24px}.hero-badge{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--elevated);min-height:32px;color:var(--text-secondary);font-size:var(--text-caption);box-shadow:var(--shadow-card);align-items:center;gap:8px;padding:0 14px 0 6px;font-weight:600;display:inline-flex}.hero-badge>span:first-child{background:var(--primary);width:22px;height:22px;color:var(--primary-ink);border-radius:50%;place-items:center;display:inline-grid}.hero-badge .icon{width:13px;height:13px}.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);align-items:center;gap:56px;display:grid}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:32px 0 0;display:flex}.hero-trust{color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;padding:0;font-weight:500;list-style:none;display:flex}.hero-trust li{align-items:center;gap:6px;display:inline-flex}.hero-trust .icon{width:16px;height:16px;color:var(--primary)}.hero-note{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--elevated);box-shadow:var(--shadow-raised);padding:28px}.hero-note h2{margin:16px 0 10px;font-size:1.5rem}.hero-note p{color:var(--text-secondary);font-size:var(--text-secondary-size);margin-bottom:16px}.hero-steps{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.hero-steps li{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);font-size:var(--text-secondary-size);color:var(--text);align-items:center;gap:12px;padding:10px 12px;display:flex}.hero-steps li strong{color:var(--ink);font-weight:600}.hero-steps .icon{width:18px;height:18px;color:var(--primary)}.publisher-hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.catalog-section{background:var(--elevated);border-block:1px solid var(--border);padding:64px 0 72px}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.section-heading h2,.study-section h2{font-size:var(--text-page);margin:8px 0 0}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--elevated);flex-direction:column;align-items:center;gap:4px;padding:48px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.empty-state{background:color-mix(in srgb, var(--elevated) 60%, transparent)}}.empty-state{text-align:center}.empty-state h2,.empty-state h3{font-size:var(--text-section);margin:16px 0 4px}.empty-state p{max-width:52ch;color:var(--text-secondary);font-size:var(--text-secondary-size)}.empty-state .btn{margin-top:18px}.empty-state[data-tone=warning] .icon-chip{background:var(--warning-surface);color:var(--warning)}.study-section{grid-template-columns:1fr 1fr;gap:64px;padding-block:72px;display:grid}.study-section>div>p:not(.kicker):not(.section-kicker){max-width:48ch;color:var(--text-secondary);margin:16px 0 20px}.study-list{margin:0;padding:0;list-style:none}.study-list li{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr);gap:16px;padding:20px 0;display:grid}.study-list li:first-child{border-top:1px solid var(--border)}.study-list li>span{font-family:var(--code);font-size:var(--text-caption);color:var(--text-muted);padding-top:6px}.study-list h3{margin:0 0 6px;font-size:1.25rem}.study-list p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.publication-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;display:grid}.resource-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--elevated);box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);flex-direction:column;margin:0;padding:10px;display:flex;position:relative}.resource-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.resource-cover{background:var(--inset);border-radius:14px;display:block;position:relative;overflow:hidden}.resource-cover img,.cover{aspect-ratio:3/4;object-fit:cover;background:var(--inset);outline-offset:-1px;width:100%;transition:transform .4s var(--ease-out);border:0;border-radius:14px;outline:1px solid #00000014;display:block}.resource-card:hover .resource-cover img{transform:scale(1.025)}.cover-placeholder{aspect-ratio:3/4;background:radial-gradient(circle at 30% 20%, #ffffffb3, transparent 55%), linear-gradient(160deg, var(--primary-soft), var(--inset));width:100%;color:var(--primary);place-items:center;display:grid}.cover-placeholder .icon{stroke-width:1.4px;opacity:.75;width:44px;height:44px}.cover-flag{border-radius:var(--radius-pill);background:var(--primary);color:var(--primary-ink);letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 2px 6px #1c211833}.resource-body{flex-direction:column;flex:1;gap:8px;padding:14px 8px 6px;display:flex}.resource-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.resource-title{margin:2px 0 0;font-size:1.2rem;line-height:1.3}.resource-title a{color:inherit;text-decoration:none}.resource-title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.resource-desc{color:var(--text-secondary);font-size:var(--text-secondary-size);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.resource-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.resource-foot .price{font-size:1.15rem}.resource-foot .text-link{z-index:1;font-size:var(--text-secondary-size);text-decoration:none;position:relative}.meta{font-size:var(--text-caption);color:var(--text-muted)}.price{color:var(--ink);font-size:1.35rem;font-weight:600}.price s{color:var(--text-muted);margin-left:8px;font-size:1rem;font-weight:400}.site-footer{border-top:1px solid var(--border);background:var(--footer);padding:56px 0 24px}.catalog-section+.site-footer,main:has(>.catalog-section:last-child)+.site-footer{border-top:0}.footer-mail{color:var(--primary);font-size:var(--text-secondary-size);align-items:center;gap:8px;margin-top:16px;font-weight:600;text-decoration:none;display:inline-flex}.footer-mail:hover{text-decoration:underline}.footer-main{grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:36px;display:grid}.footer-main p{color:var(--text-secondary);font-size:var(--text-secondary-size);margin-top:12px}.footer-main h2{font-family:var(--font-sans);font-size:var(--text-label);letter-spacing:0;margin:0 0 12px;font-weight:700}.footer-main nav a{width:fit-content;color:var(--text-secondary);font-size:var(--text-secondary-size);transition:color var(--dur-fast) var(--ease-out);padding:6px 0;text-decoration:none;display:block}.footer-main nav a:hover{color:var(--primary)}.independence{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.independence{background:color-mix(in srgb, var(--elevated) 55%, transparent)}}.independence{font-size:var(--text-caption);color:var(--text-muted)}.independence .icon{width:16px;height:16px;margin-top:1px}.footer-bottom{font-size:var(--text-caption);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:16px;display:flex}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.subject-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);box-shadow:var(--shadow-card);transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px;display:grid;position:relative}.subject-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.subject-row h2{margin:2px 0 6px;font-size:1.25rem}.subject-row h2 a{color:inherit;text-decoration:none}.subject-row h2 a:after{content:"";border-radius:inherit;position:absolute;inset:0}.subject-row p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.subject-row small{border-radius:var(--radius-pill);background:var(--inset);color:var(--text-muted);letter-spacing:.03em;margin-top:10px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.prose-content{width:min(760px,100%);margin-inline:auto;padding:48px 24px 80px}.prose-content h1{margin-bottom:16px}.prose-content h2{margin:32px 0 10px;font-size:1.35rem}.prose-content p,.prose-content li{color:var(--text-secondary);margin:12px 0}.prose-content a:where(:not([class*=btn])){color:var(--primary);font-weight:600}.prose-content ul{padding-left:1.2rem}.reading{font-family:var(--font-serif);max-width:var(--measure);white-space:pre-line;color:var(--ink);font-size:1.125rem;line-height:1.75}.reader{flex-direction:column;gap:32px;padding-bottom:72px;display:flex}.reader-toc{flex-direction:column;gap:2px;display:flex}.reader-toc a{border-left:2px solid var(--border);color:var(--text-secondary);font-size:var(--text-secondary-size);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:7px 12px;text-decoration:none;display:block}.reader-toc .kicker{margin-bottom:8px}.reader-toc a:hover,.reader-toc a[aria-current=true]{color:var(--primary);border-left-color:var(--primary)}.fact-chips{flex-wrap:wrap;gap:8px;margin:16px 0 4px;padding:0;list-style:none;display:flex}.fact-chips li{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--elevated);min-height:32px;color:var(--text-secondary);font-size:var(--text-caption);text-transform:capitalize;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.fact-chips .icon{width:15px;height:15px;color:var(--primary)}.reader-body h1{font-size:var(--text-page);margin:8px 0}.reader-body h2{font-size:var(--text-section);margin:36px 0 12px}.chapter{border-top:1px solid var(--border);padding:20px 0}.chapter h3{margin:0 0 8px;font-size:1.2rem}.chapter ul{color:var(--text-secondary);margin:8px 0 0;padding-left:1.2rem}.chapter-nav{font-size:var(--text-caption);justify-content:space-between;gap:12px;margin-top:12px;display:flex}.reader-buy{border:1px solid var(--border);background:var(--elevated);box-shadow:var(--shadow-raised);flex-direction:column;gap:12px;padding:14px;display:flex}.reader-buy .cover,.reader-buy .cover-placeholder{border-radius:14px}.reader-buy .price{letter-spacing:-.01em;margin:4px 4px 0;font-size:1.6rem}.buy-points{border-top:1px solid var(--border);font-size:var(--text-caption);color:var(--text-secondary);gap:8px;margin:4px 4px 0;padding:12px 0 0;list-style:none;display:grid}.buy-points li{align-items:flex-start;gap:8px;display:flex}.buy-points .icon{width:16px;height:16px;color:var(--primary);margin-top:1px}.buy-note{font-size:var(--text-caption);color:var(--text-muted);margin:0 4px 4px}.read-progress{transform-origin:0;background:var(--primary);z-index:40;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.preview-grid{grid-template-columns:1fr;gap:16px;display:grid}.feature-list{color:var(--text-secondary);gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.feature-list li{padding-left:30px;position:relative}.feature-list li:before{content:"";background:var(--primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2330573d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:0}.filter-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:flex-end;gap:12px;margin:8px 0 28px;padding:16px;display:flex}.filter-bar>.field{flex:150px}.filter-bar>.field:first-child{flex:2 220px}.catalog-types{margin:0 0 16px}.stack{flex-direction:column;gap:16px;display:flex}.cluster{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.split{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-main>header.split,.admin-main>.split:first-child{margin-bottom:24px}.admin-main h1{margin:0 0 4px;font-size:1.85rem}.admin-main h2{margin:0;font-size:1.3rem}.admin-main .panel>p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.table-empty{text-align:center;color:var(--text-muted);padding:40px 14px!important}.table-empty .icon{width:28px;height:28px;color:var(--border-strong);margin:0 auto 10px;display:block}@media (width>=1024px){.admin-title{display:none}}.panel{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-card)}.pad{padding:20px}.panel-title{align-items:center;gap:12px;margin:0;font-size:1.15rem;display:flex}.panel-title .icon-chip{border-radius:10px;width:36px;height:36px}.panel-title .icon-chip .icon{width:18px;height:18px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--elevated);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:18px;position:relative}.stat>span{font-size:var(--text-caption);color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.stat>span .icon-chip{border-radius:10px;width:34px;height:34px}.stat>span .icon-chip .icon{width:17px;height:17px}.stat strong{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--ink);margin-top:8px;font-size:1.85rem;font-weight:650;display:block}.stat small{color:var(--text-secondary);font-size:var(--text-caption);margin-top:6px;display:block}.status{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--inset);white-space:nowrap;min-height:26px;color:var(--text);align-items:center;gap:6px;padding:0 10px 0 8px;font-size:12px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-published,.status-paid,.status-active,.status-resolved{background:var(--success-surface);color:var(--success);border-color:#b7d7c2}.status-draft,.status-created,.status-pending{background:var(--warning-surface);color:var(--warning);border-color:#ead7a4}.status-failed,.status-revoked,.status-refunded{background:var(--danger-surface);color:var(--danger);border-color:#e4b4b4}.table-scroll{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);overflow:auto}.data-table tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}.data-table tbody tr:hover{background:var(--inset)}@supports (color:color-mix(in lab, red, red)){.data-table tbody tr:hover{background:color-mix(in srgb, var(--inset) 55%, transparent)}}.data-table tbody tr:last-child td{border-bottom:0}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-secondary-size)}.data-table th,.data-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:12px 14px}.data-table th{letter-spacing:.02em;color:var(--text-muted);background:var(--surface);font-size:12px;font-weight:600}.data-table caption{text-align:left;color:var(--text-muted);font-size:var(--text-caption);padding:12px 14px}.callout{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--surface);color:var(--text);margin:16px 0;padding:16px 18px}.callout.warning{border-color:var(--warning);background:var(--warning-surface)}.callout strong{color:var(--ink);align-items:center;gap:8px;margin-bottom:6px;display:flex}.callout strong .icon{color:var(--primary)}.page-header>.icon-chip{margin-bottom:12px}.pager{gap:16px;margin:16px 0 32px;display:flex}dialog,.modal-panel{border-radius:var(--radius-panel);background:var(--elevated);color:var(--text);border:0;width:min(1120px,100vw);max-width:min(1120px,100vw);height:min(920px,100dvh);max-height:100dvh;padding:0;overflow:hidden}dialog::backdrop,.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1418128c}.editor-form{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.editor-bar{border-bottom:1px solid var(--border);background:var(--elevated);z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.editor-grid{grid-template-columns:minmax(0,1fr) 300px;height:100%;min-height:0;display:grid;overflow:hidden}.editor-main,.editor-side{min-width:0;padding:20px;overflow:auto}.editor-side{border-left:1px solid var(--border);background:var(--paper)}.editor-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);margin:0 0 16px;padding:18px 20px 20px}.editor-section>legend{float:left;width:100%;font-family:var(--font-serif);color:var(--ink);margin-bottom:14px;padding:0;font-size:1.2rem;font-weight:500}.editor-section>legend+*{clear:both}.editor-main{background:var(--paper)}.type-card-icon{background:var(--inset);width:32px;height:32px;color:var(--primary);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:9px;place-items:center;margin:0 0 8px!important;display:inline-grid!important}.type-card-icon .icon{width:17px;height:17px}.type-card:has(input:checked) .type-card-icon{background:var(--primary);color:var(--primary-ink)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.chapter-row,.file-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:10px;margin-top:12px;padding:14px;display:grid}.file-card>.btn-text{justify-self:start;min-height:32px}.file-drop .file-drop-button{align-self:center;margin-left:auto}.chapter-tools,.preview-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chapter-index{background:var(--primary-soft);min-width:28px;height:28px;color:var(--primary-soft-ink);font-size:var(--text-caption);border-radius:50%;place-items:center;margin-right:auto;font-weight:700;display:inline-grid}.chapter-tools .btn-icon,.preview-row .btn-icon{border-radius:var(--radius-sm);width:36px;min-height:36px}.checklist{font-size:var(--text-caption);gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.checklist li{color:var(--text-muted);padding:6px 0 6px 26px;position:relative}.checklist li:before{content:"";border:1.5px dashed var(--border-strong);border-radius:50%;width:18px;height:18px;position:absolute;top:6px;left:0}.checklist li.ok{color:var(--success)}.checklist li.ok:before{background:var(--success-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d5c32' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;border:0}.preview-sheet h3{margin:8px 0;font-size:1.35rem}.preview-sheet p,.preview-sheet li{font-size:var(--text-secondary-size);color:var(--text-secondary)}.auth-body{background:radial-gradient(1200px 600px at 50% -10%, var(--primary-soft), transparent 70%), var(--paper);place-items:center;padding:24px 16px;display:grid}.auth-card{background:var(--elevated);border:1px solid var(--border);width:min(440px,100vw - 32px);box-shadow:var(--shadow-raised);padding:32px 28px;overflow:hidden}.auth-card h1{margin:12px 0 8px;font-size:1.5rem}.auth-card p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{background:var(--footer);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:248px;height:100vh;padding:20px 14px 16px;display:flex;position:sticky;top:0;overflow:auto}.admin-sidebar .wordmark{padding:0 6px;font-size:1.05rem}.admin-sidebar .wordmark img{width:32px;height:32px}.sidebar-note{margin:6px 0 0;padding:0 6px}.admin-sidebar nav{flex-direction:column;gap:2px;margin-top:24px;display:flex}.admin-sidebar nav a,.admin-mobile nav a{border-radius:var(--radius-md);min-height:42px;color:var(--text-secondary);font-size:var(--text-secondary-size);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:8px 12px;font-weight:500;text-decoration:none;display:flex}.admin-sidebar nav a .icon{width:18px;height:18px;color:var(--text-muted)}.admin-sidebar nav a:hover{color:var(--ink);background:#1c21180d}.admin-sidebar nav a[aria-current=page]{background:var(--elevated);color:var(--primary-hover);box-shadow:var(--shadow-card);font-weight:600}.admin-sidebar nav a[aria-current=page] .icon{color:var(--primary)}.sidebar-foot{gap:10px;margin-top:auto;padding-top:20px;display:grid}.sidebar-exit{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-caption);align-items:center;gap:8px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.sidebar-exit:hover{color:var(--ink);background:#1c21180d}.sidebar-exit .icon{width:16px;height:16px}.user-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);align-items:center;gap:10px;padding:10px;display:flex}.avatar{background:var(--primary);width:34px;height:34px;color:var(--primary-ink);font-weight:700;font-size:var(--text-label);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.user-card-text{min-width:0;display:grid}.user-card-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);font-weight:600;overflow:hidden}.user-card-text small{color:var(--text-muted);text-transform:capitalize;font-size:12px}.admin-content{flex:1;min-width:0}.admin-topbar{border-bottom:1px solid var(--border);background:var(--elevated);align-items:center;gap:12px;min-height:64px;padding:8px 24px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-topbar{background:color-mix(in srgb, var(--elevated) 90%, transparent)}}.admin-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;position:sticky;top:0}.admin-title{font-family:var(--font-serif);font-size:1.2rem;font-weight:500}.admin-email{font-size:var(--text-caption);color:var(--text-secondary);margin-left:auto}.role-label{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-soft-ink);text-transform:capitalize;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:600}.admin-mobile{display:none}.admin-main{max-width:1360px;padding:32px 28px 72px}.checkout-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.checkout-summary .price{font-size:1.35rem}.secure-line,.secure-note{font-size:var(--text-caption);color:var(--text-muted);justify-content:center;align-items:center;gap:6px;display:flex}.secure-note{justify-content:flex-start;align-items:flex-start}.secure-line .icon,.secure-note .icon{width:14px;height:14px;color:var(--primary);margin-top:2px}.spin-icon{animation:.8s linear infinite control-spin}.modal-backdrop{z-index:50;animation:fade-in var(--dur) var(--ease-out);justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal-panel{width:min(520px,100%);height:auto;max-height:min(92dvh,760px);box-shadow:var(--shadow-overlay);animation:sheet-in .32s var(--ease-out);border:0;overflow:auto}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)scale(.985)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.modal-head h2{margin:0;font-size:1.35rem}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.fine-print{font-size:var(--text-caption);color:var(--text-muted)}.success-mark{background:var(--success-surface);width:56px;height:56px;color:var(--success);animation:pop-in .36s var(--ease-out);border-radius:50%;place-items:center;display:grid}.success-mark .icon{width:28px;height:28px}.order-id{font-family:var(--code);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content;padding:8px 12px;display:inline-block}.cf-turnstile{max-width:100%;min-height:70px;overflow:hidden}.library-grid{grid-template-columns:1fr;gap:12px;display:grid}.skeleton{background:var(--inset);border-radius:var(--radius);height:16px}@media (width>=720px){.preview-grid,.library-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:center;padding:24px}}@media (width>=1024px){.page-width,.container-wide{padding-inline:40px}.reader{grid-template-columns:200px minmax(0,1fr) 280px;align-items:start;gap:36px;display:grid}.reader-toc,.reader-buy{position:sticky;top:88px}}@media (width<=1023px){.desktop-nav,.library-link,.admin-sidebar{display:none}.mobile-nav,.admin-mobile{margin-left:auto;display:block}.admin-mobile{margin-left:0;margin-right:auto}.admin-email{display:none}.mobile-nav summary,.admin-mobile summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;list-style:none;display:flex}.mobile-nav summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--elevated);justify-content:center;width:44px;box-shadow:0 1px 2px #1c21180f}.mobile-nav summary .icon{width:20px;height:20px}.mobile-nav summary::-webkit-details-marker{display:none}.admin-mobile summary::-webkit-details-marker{display:none}.mobile-nav nav,.admin-mobile nav{inset:var(--header-h) 0 0 0;background:var(--surface);z-index:40;border-top:1px solid var(--border);padding:12px 20px 32px;position:fixed;overflow:auto}.admin-mobile nav{top:64px}.mobile-nav nav{animation:pop-in var(--dur) var(--ease-out);align-content:start;gap:2px;display:grid}.mobile-nav nav a{border-radius:var(--radius-md);min-height:52px;color:var(--ink);align-items:center;gap:14px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.mobile-nav nav a .icon{width:20px;height:20px;color:var(--primary)}.mobile-nav nav a .trail{width:16px;height:16px;color:var(--border-strong);margin-left:auto}.mobile-nav nav a:hover,.mobile-nav nav a[aria-current=page]{background:var(--inset)}.admin-mobile nav a{border-bottom:1px solid var(--border);align-items:center;min-height:48px;text-decoration:none;display:flex}.hero-grid,.study-section,.editorial-empty,.footer-main,.editor-grid,.form-grid,.stat-grid{grid-template-columns:1fr}.hero-grid{gap:32px}.hero-actions{margin:24px 0 0}.editor-grid{display:block;overflow:auto}.editor-main,.editor-side{overflow:visible}.editor-side{border-left:0;border-top:1px solid var(--border)}.stat-grid{grid-template-columns:1fr 1fr}.data-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border-bottom:1px solid var(--border);padding:10px 0}.data-table td{border:0;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:5px 16px;display:grid}.data-table td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:600}.data-table td:first-child{grid-template-columns:1fr;padding-bottom:8px}.data-table td:first-child:before,.data-table td:empty,.data-table td[data-label=Version]:not(:has(*)):empty{display:none}.data-table td.table-empty{display:block}.data-table td.table-empty:before{display:none}}@media (width<=480px){.page-width,.container-wide,.container-narrow,.prose-content{padding-inline:16px}.wordmark{font-size:1rem}.wordmark img{width:32px;height:32px}.footer-bottom{flex-direction:column}.publication-list{grid-template-columns:1fr}.hero-actions .btn{flex:100%}.hero-note{padding:20px}.stat-grid{grid-template-columns:1fr}.header-row{gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body.nav-open{overflow:hidden}body.nav-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}.editorial-empty{margin-top:8px}.type-badge{border-radius:var(--radius-pill);background:var(--inset);width:fit-content;min-height:24px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border:0;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.type-badge[data-kind=cheat_sheet],.type-badge[data-kind=formula_sheet],.type-badge[data-kind=revision_pack]{background:#e5efe6}.type-badge[data-kind=book],.type-badge[data-kind=short_notes]{background:#e8e4d8}.type-badge[data-kind=practice_set],.type-badge[data-kind=question_bank],.type-badge[data-kind=mock_test]{background:#efe8dc}.type-badge .icon{stroke-width:2.2px;width:12px;height:12px}.control-select.is-enhanced:after{display:none}.control-select.is-enhanced .select-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.select-trigger{text-align:left;min-width:0;min-height:46px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-weight:400;display:flex}.select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--dur) var(--ease-out)}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-trigger:focus{outline:none}.control-select:has(.select-trigger:focus-visible){border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.select-menu{z-index:50;background:var(--elevated);width:240px;max-height:300px;box-shadow:var(--shadow-overlay);transform-origin:top;animation:pop-in var(--dur) var(--ease-out);border:0;border-radius:14px;padding:6px;position:fixed;overflow:auto}.select-option{text-align:left;white-space:nowrap;border-radius:var(--radius-sm);width:100%;min-height:40px;font:inherit;font-size:var(--text-secondary-size);color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-weight:400;display:flex}.select-option:hover,.select-option:focus-visible{background:var(--inset);outline:none}.select-option[aria-selected=true]{color:var(--primary);font-weight:600}.select-check{width:16px;height:16px}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.toast-stack{z-index:70;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--ink);color:#f7f5ef;box-shadow:var(--shadow-overlay);animation:toast-in var(--dur) var(--ease-out);border-radius:14px;align-items:center;gap:12px;padding:10px 8px 10px 14px;transition:opacity .15s ease-in,transform .15s ease-in;display:flex}.toast.is-leaving{opacity:0;transform:translateY(6px)}.toast-icon{color:#a9d3b2;width:20px;height:20px}.toast p{color:inherit;font-size:var(--text-secondary-size);flex:1;margin:0}.toast-close{border-radius:var(--radius-sm);min-width:32px;min-height:32px;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;display:inline-grid}.toast-close:hover{opacity:1;background:#ffffff1a}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.filter-open,.filter-close,.sheet-backdrop{display:none}.preview-gallery{gap:12px;display:grid}.preview-stage{border-radius:var(--radius-lg);background:var(--inset);overflow:hidden}.preview-stage img{border-radius:var(--radius-lg);width:100%}.preview-thumbs{gap:8px;display:flex;overflow:auto}.preview-thumbs button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--elevated);padding:0;overflow:hidden}.preview-thumbs img{object-fit:cover;width:72px;height:96px;display:block}.segmented{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.segmented a,.segmented button{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--elevated);min-height:38px;color:var(--text);font:inherit;font-size:var(--text-secondary-size);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.segmented a:hover,.segmented button:hover{border-color:var(--border-strong)}.segmented a[aria-current=page],.segmented button[aria-selected=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-ink);font-weight:600}.category-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 28px;padding:0;list-style:none;display:grid}.category-notes li{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);font-size:var(--text-secondary-size);color:var(--text-secondary);gap:12px;padding:16px;display:flex}.category-notes li>.icon{width:20px;height:20px;color:var(--primary);margin-top:2px}.category-notes strong{color:var(--ink);margin-bottom:2px;display:block}@media (width<=767px){.filter-open,.filter-close{display:inline-flex}.filter-open{margin-bottom:12px}.filter-bar{display:none}body.filters-open .sheet-backdrop{z-index:45;background:#14181275;display:block;position:fixed;inset:0}body.filters-open .filter-bar{z-index:50;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85dvh;box-shadow:var(--shadow-overlay);flex-direction:column;align-items:stretch;margin:0;padding:20px 16px 28px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto}.category-notes{grid-template-columns:1fr}body.filters-open .filter-bar .field,body.filters-open .filter-bar .control-wrap,body.filters-open .filter-bar .btn{width:100%}.toast-stack{width:auto;left:16px;right:16px}}dialog,.modal-panel,.auth-card{border-radius:var(--radius-xl)}.file-drop,.tags,.type-card,.reader-buy,.panel,.stat,.notice{border-radius:var(--radius-lg)}.browse-section{padding-block:48px 24px}.browse-section .section-heading{margin-bottom:18px}.browse-section h2{font-size:var(--text-section);margin:6px 0 0}.type-tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:48px;display:grid}.type-tiles a{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);box-shadow:var(--shadow-card);color:var(--ink);transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);flex-direction:column;gap:4px;padding:20px;text-decoration:none;display:flex;position:relative}.type-tiles a:hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.type-tiles .icon-chip{margin-bottom:12px}.type-tiles strong{font-family:var(--font-serif);font-size:1.2rem;font-weight:500}.type-tiles small{color:var(--text-muted);font-size:var(--text-secondary-size)}.tile-arrow{width:18px;height:18px;color:var(--border-strong);transition:transform var(--dur) var(--ease-out), color var(--dur) var(--ease-out);position:absolute;top:22px;right:20px}.type-tiles a:hover .tile-arrow{color:var(--primary);transform:translate(3px)}.subject-pills{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.subject-pills a{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--elevated);min-height:40px;color:var(--text);font-size:var(--text-secondary-size);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 14px 0 12px;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #1c21180a}.subject-pills a .icon{width:16px;height:16px;color:var(--primary)}.subject-pills a:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-soft-ink)}.catalog-types{margin-bottom:20px}.catalog-types a .icon{width:16px;height:16px}.type-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.type-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--elevated);cursor:pointer;min-height:88px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:12px 14px;display:block;position:relative}.type-card strong,.type-card span{display:block}.type-card span{font-size:var(--text-caption);color:var(--text-muted);margin-top:4px;font-weight:400}.type-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.type-card:hover,.type-card:has(input:checked),.type-card:has(input:focus-visible){border-color:var(--primary)}.type-card:has(input:checked){background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.type-card:has(input:focus-visible){box-shadow:0 0 0 3px var(--focus-ring)}[data-types][hidden],.hidden{display:none!important}.menu{position:relative}.menu-panel{z-index:40;background:var(--elevated);min-width:188px;box-shadow:var(--shadow-overlay);animation:pop-in var(--dur) var(--ease-out);border:0;border-radius:14px;padding:6px;display:grid;position:fixed}.menu-panel[hidden]{display:none}.menu-panel button,.menu-panel a{border-radius:var(--radius-sm);background:0 0;border:0;justify-content:flex-start;width:100%;min-height:40px;font-weight:500}.menu-panel button:hover,.menu-panel a:hover{background:var(--inset)}.menu-panel .icon{width:16px;height:16px;color:var(--text-muted)}.icon-button{min-width:44px;padding:0}[data-tooltip]{position:relative}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{content:attr(data-tooltip);z-index:30;border-radius:var(--radius-sm);background:var(--ink);color:var(--elevated);white-space:nowrap;padding:4px 8px;font-size:12px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.select-search{width:calc(100% - 12px);margin:6px}.pager{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.pager a,.pager button{border-radius:var(--radius-md);min-width:44px;min-height:44px}.pager a{border:1px solid var(--border);background:var(--elevated);font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.pager a:hover{border-color:var(--border-strong);background:var(--surface)}.pager [aria-current=page]{background:var(--primary);color:#fff;border-color:var(--primary)}.alert{border-radius:var(--radius-lg);background:var(--inset);margin-top:12px;padding:12px 16px}.skeleton-list{gap:12px;display:grid}.async-list:not(.is-loading) .skeleton-list,.async-list.is-loading .async-body{display:none}.skeleton-row{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--inset), var(--elevated), var(--inset));background-size:200% 100%;height:84px;animation:1.2s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.admin-menu{display:none}dialog.drawer{border-radius:0 var(--radius-xl) var(--radius-xl) 0;border:0;width:min(320px,100%);height:100%;max-height:100%;margin:0;padding:16px}dialog.drawer nav{gap:4px;display:grid}dialog.drawer a{border-radius:var(--radius-md);min-height:46px;color:var(--text);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}dialog.drawer a .icon{width:18px;height:18px;color:var(--text-muted)}dialog.drawer a:hover,dialog.drawer a[aria-current=page]{background:var(--inset);color:var(--ink)}dialog.drawer[open]{animation:drawer-in .28s var(--ease-out)}@keyframes drawer-in{0%{opacity:0;transform:translate(-24px)}}.drawer-bar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.preview-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-row img{object-fit:cover;border-radius:var(--radius-md);width:72px;height:96px}.preview-thumbs button{border-radius:var(--radius-md)}.segmented button{border-radius:var(--radius-pill)}dialog{overflow:visible}dialog.drawer{overflow:auto}.editor-form{border-radius:var(--radius-panel);overflow:hidden}@media (width<=1023px){.admin-menu{display:inline-flex}}.sample-list{gap:14px;display:grid}.sample-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);box-shadow:var(--shadow-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid}.sample-row h2{margin:2px 0 4px;font-size:1.2rem}.sample-row p:not(.meta){color:var(--text-secondary);font-size:var(--text-secondary-size)}@media (width<=720px){.sample-row{grid-template-columns:1fr;align-items:start}}.status-page{place-items:center;padding-top:72px;display:grid}.status-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--elevated);width:min(560px,100%);box-shadow:var(--shadow-raised);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 32px;display:flex}.status-card h1{font-size:var(--text-page);margin:4px 0 0}.status-card p:not(.kicker){color:var(--text-secondary)}.status-card .cluster{justify-content:center;margin-top:8px}.header-actions{margin-top:24px}.help-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.help-card{flex-direction:column;gap:8px;display:flex}.help-card h2{margin:8px 0 0;font-size:1.2rem}.help-card p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.help-card>.text-link{margin-top:auto;padding-top:4px}.faq-list{gap:10px;max-width:820px;display:grid}.faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--elevated);box-shadow:var(--shadow-card);transition:border-color var(--dur) var(--ease-out)}.faq-item[open]{border-color:var(--border-strong)}.faq-item summary{cursor:pointer;min-height:60px;font-family:var(--font-serif);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:1.12rem;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .icon{width:18px;height:18px;color:var(--text-muted);transition:transform var(--dur) var(--ease-out)}.faq-item[open] summary .icon{transform:rotate(180deg)}.faq-item>p{color:var(--text-secondary);max-width:70ch;padding:0 20px 18px}.faq-links{margin-top:28px}.prose-content h2{padding-top:8px}.prose-content section+section{margin-top:8px}.prose-content .cluster{margin-top:28px}.library-grid>h2{font-size:var(--text-section);grid-column:1/-1;margin:12px 0 0}.library-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.library-item h3{margin:0 0 2px;font-size:1.1rem}@media (width<=560px){.library-item{grid-template-columns:auto minmax(0,1fr)}.library-item .btn{grid-column:1/-1}}dialog.confirm-dialog{border-radius:var(--radius-xl);background:var(--elevated);width:min(440px,100vw - 32px);max-width:min(440px,100vw - 32px);height:fit-content;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);animation:sheet-in .26s var(--ease-out);border:0;margin:auto;padding:0;overflow:auto}dialog.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14181280}.confirm-dialog form{gap:10px;padding:24px;display:grid}.confirm-dialog h2{margin:8px 0 0;font-size:1.3rem}.confirm-dialog p{color:var(--text-secondary);font-size:var(--text-secondary-size)}.confirm-dialog .field{margin-top:6px}.icon-chip.is-danger{background:var(--danger-surface);color:var(--danger)}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}@media (width<=480px){.confirm-actions .btn{flex:1}}.notice:empty{display:none}.integration-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.integration{align-items:center;gap:14px;display:flex}.integration strong{font-size:var(--text-secondary-size);display:block}.code-chip{border-radius:var(--radius-xs);background:var(--inset);max-width:360px;color:var(--text-secondary);overflow-wrap:anywhere;padding:3px 8px;font-size:12px;display:inline-block}.member{align-items:center;gap:10px;display:inline-flex}.member .avatar{width:30px;height:30px;font-size:12px}.status .icon{width:13px;height:13px}.status:has(.icon):before{display:none}.role-choice{border:0;gap:8px;margin:0;padding:0;display:grid}.role-choice .radio{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:10px 12px;font-weight:400}.role-choice .radio:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.role-choice .radio strong{font-weight:600;display:block}.role-choice .radio>span:last-child{font-size:var(--text-secondary-size);color:var(--text-secondary)}.role-choice .radio strong{color:var(--ink)}@media (width<=560px){.type-tiles{grid-template-columns:1fr 1fr;gap:10px}.type-tiles a{padding:14px}.type-tiles .icon-chip{margin-bottom:6px}.type-tiles small{font-size:var(--text-caption)}.tile-arrow{display:none}}.data-table code{font-size:12px}.section-gap{margin-top:24px}@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-font-weight{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}
