@font-face{font-family:Dela Gothic One;src:url(/fonts/DelaGothicOne-Regular.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:DotGothic16;src:url(/fonts/DotGothic16-Regular.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}:root{--color-bg: #f6f9f1;--color-bg-elevated: #ffffff;--color-bg-panel: #ffffff;--color-bg-sunken: #eef4e6;--color-border: #dde8cf;--color-border-strong: #a9cf95;--color-text: #1c2318;--color-text-dim: #5b6b52;--color-text-faint: #8b9a7e;--color-accent: #17b26a;--color-accent-strong: #0d9457;--color-accent-soft: rgba(23, 178, 106, .12);--color-accent-2: #12c2d6;--color-accent-2-strong: #0d9cac;--color-accent-2-soft: rgba(18, 194, 214, .14);--color-accent-3: #ff4fa6;--color-accent-3-strong: #e22d86;--color-accent-3-soft: rgba(255, 79, 166, .13);--color-success: #17b26a;--color-warning: #b45309;--color-warning-bg: rgba(217, 119, 6, .12);--color-warning-border: rgba(217, 119, 6, .38);--color-danger: #d6274a;--gradient-holo: linear-gradient(120deg, #17b26a 0%, #12c2d6 48%, #ff4fa6 100%);--gradient-holo-soft: linear-gradient( 120deg, rgba(23, 178, 106, .16) 0%, rgba(18, 194, 214, .16) 48%, rgba(255, 79, 166, .16) 100% );--shadow-ink: rgba(28, 35, 24, .16);--font-sans: "Hiragino Sans", "Yu Gothic UI", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-heading: "Dela Gothic One", var(--font-sans);--font-label: "DotGothic16", var(--font-mono);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-10: 4.5rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-panel: 3px 3px 0 0 var(--shadow-ink);--shadow-panel-hover: 5px 5px 0 0 var(--shadow-ink);--shadow-pop: 4px 4px 0 0 var(--shadow-ink);--duration-fast: .14s;--duration-normal: .26s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--checker-light: rgba(23, 178, 106, .1);--checker-dark: transparent;color-scheme:light dark}:root:lang(zh){--font-heading: var(--font-sans)}@media (prefers-color-scheme: dark){:root{--color-bg: #0d0b1f;--color-bg-elevated: #17142c;--color-bg-panel: #1b1832;--color-bg-sunken: #130f26;--color-border: #322c52;--color-border-strong: #4c4380;--color-text: #f1f3ea;--color-text-dim: #b7b9cc;--color-text-faint: #82839f;--color-accent: #48f0aa;--color-accent-strong: #7bffc4;--color-accent-soft: rgba(72, 240, 170, .16);--color-accent-2: #4fe6ff;--color-accent-2-strong: #8cf3ff;--color-accent-2-soft: rgba(79, 230, 255, .16);--color-accent-3: #ff6fc0;--color-accent-3-strong: #ff9ad6;--color-accent-3-soft: rgba(255, 111, 192, .16);--color-success: #4ade80;--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .14);--color-warning-border: rgba(251, 191, 36, .4);--color-danger: #ff6688;--gradient-holo: linear-gradient(120deg, #48f0aa 0%, #4fe6ff 48%, #ff6fc0 100%);--gradient-holo-soft: linear-gradient( 120deg, rgba(72, 240, 170, .18) 0%, rgba(79, 230, 255, .18) 48%, rgba(255, 111, 192, .18) 100% );--shadow-ink: rgba(0, 0, 0, .55);--shadow-panel: 3px 3px 0 0 var(--shadow-ink);--shadow-panel-hover: 5px 5px 0 0 var(--shadow-ink);--shadow-pop: 4px 4px 0 0 var(--shadow-ink);--checker-light: rgba(79, 230, 255, .08);--checker-dark: transparent}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:var(--color-accent-2-strong);text-decoration-thickness:2px;text-underline-offset:2px}::selection{background:var(--color-accent-soft)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.mobile-notice{display:none;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-danger);color:#fff;font-size:.78rem;font-weight:800;text-align:center;line-height:1.5;position:sticky;top:0;z-index:40;border-bottom:2px solid var(--shadow-ink)}.mobile-notice.is-visible{display:flex;justify-content:center}.app-header{position:relative;padding:var(--space-7) var(--space-6);border-bottom:2px solid var(--color-border);background:var(--color-bg);text-align:center;overflow:hidden}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--color-border-strong) 1px,transparent 1px);background-size:22px 22px;opacity:.35;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,black 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,black 40%,transparent 100%)}.app-header__inner{position:relative;max-width:720px;margin:0 auto}.app-header__logo{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.app-header__mascot{flex:none;width:clamp(56px,40px + 5vw,88px);height:auto;transform:rotate(-7deg);filter:drop-shadow(3px 4px 0 var(--shadow-ink))}.hero-title{position:relative;display:inline-block;margin:0;font-family:"Dela Gothic One",var(--font-sans);font-weight:400;font-size:clamp(2.2rem,1.4rem + 3.6vw,4.2rem);letter-spacing:.02em;line-height:1.2;background:var(--gradient-holo);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-title:before,.hero-title:after{content:"✦";position:absolute;font-size:.32em;color:var(--color-accent-2);-webkit-text-fill-color:var(--color-accent-2);opacity:.85}.hero-title:before{top:-.1em;left:-.55em}.hero-title:after{bottom:.05em;right:-.5em;color:var(--color-accent-3);-webkit-text-fill-color:var(--color-accent-3)}@media (prefers-reduced-motion: no-preference){.hero-title:before,.hero-title:after{animation:sparkle-pulse 2.6s var(--ease-out-expo) infinite}.hero-title:after{animation-delay:.9s}}@keyframes sparkle-pulse{0%,to{transform:scale(.85) rotate(0);opacity:.6}50%{transform:scale(1.15) rotate(14deg);opacity:1}}.hero-title__mesh{position:absolute;top:-.06em;right:-.03em;bottom:-.06em;left:-.03em;background-image:repeating-conic-gradient(var(--color-bg) 0% 25%,transparent 0% 50%);background-size:12px 12px;pointer-events:none}@media (prefers-reduced-motion: no-preference){.hero-title__mesh{animation:hero-reveal 1.4s var(--ease-out-expo) .2s both}}@media (prefers-reduced-motion: no-preference) and (hover: hover){.hero-title:hover .hero-title__mesh{animation:hero-reveal-hover 1.4s var(--ease-out-expo) both}}@media (prefers-reduced-motion: reduce){.hero-title__mesh{opacity:0}}@keyframes hero-reveal{0%{opacity:1}55%{opacity:1}to{opacity:0}}@keyframes hero-reveal-hover{0%{opacity:1}55%{opacity:1}to{opacity:0}}.app-alerts{max-width:880px;width:100%;margin:0 auto;padding:var(--space-4) var(--space-6) 0}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);padding:var(--space-7) var(--space-6) var(--space-10)}.step-section{position:relative;width:100%;max-width:880px;--step-number-size: clamp(2.6rem, 2.2rem + 1vw, 3.1rem)}.step-section__header{display:flex;flex-direction:column;gap:3px;margin-bottom:var(--space-4)}.step-section__header-top{display:flex;align-items:center;gap:var(--space-4);margin-top:2px}.step-section__number{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--step-number-size);height:var(--step-number-size);border-radius:50%;background:var(--gradient-holo);box-shadow:var(--shadow-pop)}.step-section__number:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--color-bg-elevated)}.step-section__number-value{position:relative;z-index:1;font-weight:900;font-size:clamp(1.15rem,1rem + .5vw,1.5rem);background:var(--gradient-holo);-webkit-background-clip:text;background-clip:text;color:transparent}.step-section__eyebrow{margin-left:calc(var(--step-number-size) + var(--space-4));font-family:var(--font-label);font-size:.7rem;font-weight:400;letter-spacing:.2em;color:var(--color-accent-2-strong);text-transform:uppercase}.step-section__title{flex:1;min-width:0;margin:0;font-family:var(--font-heading);font-size:1.2rem;font-weight:400;letter-spacing:.015em;line-height:1.35;color:var(--color-text)}.step-section__hint{margin:0;margin-left:calc(var(--step-number-size) + var(--space-4));font-size:.78rem;color:var(--color-text-faint)}@media (max-width: 480px){.step-section__eyebrow,.step-section__hint{margin-left:0}}.step-section__body{display:flex;flex-direction:column;gap:var(--space-4)}.step-section__body--split{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--space-4);align-items:start}@media (max-width: 860px){.step-section__body--split{grid-template-columns:1fr}}.step-section__controls{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.preview-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 640px){.preview-row{grid-template-columns:1fr}}.app-footer{padding:var(--space-6) var(--space-6) var(--space-7);color:var(--color-text-faint);font-size:.76rem;text-align:center;max-width:720px;margin:0 auto}.app-footer__brand{display:block;margin-bottom:var(--space-2);font-family:"Dela Gothic One",var(--font-sans);font-size:1.05rem;font-weight:400;letter-spacing:.02em;background:var(--gradient-holo);-webkit-background-clip:text;background-clip:text;color:transparent}.app-footer__credit{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-5) 0 0;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border-radius:var(--radius-pill);border:2px solid var(--color-border-strong);background:var(--color-bg-elevated);box-shadow:var(--shadow-pop)}.app-footer__credit-avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--color-bg-elevated);outline:2px solid var(--color-accent-3);object-fit:cover;flex:none;display:block}.app-footer__credit-text{font-size:.76rem;font-weight:700;color:var(--color-text-dim)}.app-footer__credit-link{color:var(--color-accent-2-strong);font-weight:800;transition:color var(--duration-fast) ease}.app-footer__credit-link:hover,.app-footer__credit-link:focus-visible{color:var(--color-accent-3-strong)}.promo-banner-section{display:flex;justify-content:center;padding:0 var(--space-6) var(--space-8)}.panel{position:relative;background:var(--color-bg-panel);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-4) var(--space-5);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo)}.panel:focus-within,.panel:hover{box-shadow:var(--shadow-panel-hover);transform:translate(-2px,-2px)}.panel__title{position:relative;display:flex;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-5)) var(--space-4);padding:var(--space-3) var(--space-5) var(--space-3) calc(var(--space-5) + 36px);border-bottom:2px solid var(--color-border);background:var(--gradient-holo-soft);font-family:var(--font-heading);font-size:.9rem;font-weight:400;letter-spacing:.01em;color:var(--color-text)}.panel__title:before{content:"";position:absolute;left:var(--space-5);top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:13px 0 0 var(--color-accent-2),26px 0 0 var(--color-accent-3)}.panel__title .step-index{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--gradient-holo);color:#fff;font-size:.85em;font-weight:800;flex:none}.panel__title--sub{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim)}.dropzone{border:2px dashed var(--color-accent-2);border-radius:var(--radius-md);padding:var(--space-6) var(--space-4);text-align:center;cursor:pointer;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo);color:var(--color-text-dim);font-size:.88rem}.dropzone:hover,.dropzone:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft);outline:none;transform:translateY(-2px);box-shadow:var(--shadow-pop)}.dropzone.is-dragover{border-color:var(--color-accent-3);background:var(--color-accent-3-soft);color:var(--color-text);transform:scale(1.01);box-shadow:var(--shadow-pop)}.dropzone__hint{display:block;margin-top:var(--space-1);font-size:.76rem;color:var(--color-text-faint)}.dropzone__thumb{max-width:100%;max-height:160px;border-radius:var(--radius-sm);display:block;margin:0 auto var(--space-2);border:2px solid var(--color-border-strong)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.field:last-child{margin-bottom:0}.field--inline{flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer}.field--inline input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--color-accent);flex:none}.field--inline .field__label{display:block;cursor:pointer}.field__label{font-size:.8rem;color:var(--color-text-dim);display:flex;justify-content:space-between}.field__label .value{font-family:var(--font-label);color:var(--color-accent-strong);font-weight:400;letter-spacing:.02em}select.input,input[type=file].input{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-bg-sunken);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color var(--duration-fast) ease,transform var(--duration-fast) ease}select.input:hover,select.input:focus-visible{border-color:var(--color-accent)}input[type=range]{width:100%;accent-color:var(--color-accent)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.segmented button{padding:var(--space-2) var(--space-2);background:var(--color-bg-sunken);border:2px solid var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer;font-size:.82rem;font-weight:700;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-pop)}.segmented button:hover:not(.is-active){border-color:var(--color-accent);transform:translateY(-1px)}.segmented button:active{transform:translateY(1px) scale(.98)}.segmented button.is-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-strong)}.segmented button:last-child.is-active{background:var(--color-accent-2-soft);border-color:var(--color-accent-2);color:var(--color-accent-2-strong)}button.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);border:2px solid transparent;background:var(--gradient-holo);color:#fff;font-family:var(--font-heading);font-weight:400;letter-spacing:.02em;cursor:pointer;transition:transform var(--duration-fast) var(--ease-pop),filter var(--duration-fast) ease,box-shadow var(--duration-fast) ease;box-shadow:var(--shadow-pop)}button.btn:hover:not(:disabled){filter:brightness(1.06);transform:translate(-2px,-2px);box-shadow:var(--shadow-panel-hover)}button.btn:active:not(:disabled){transform:translateY(1px);filter:brightness(.97);box-shadow:1px 1px 0 0 var(--shadow-ink)}button.btn:focus-visible{outline-offset:3px}button.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.btn--ghost{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text-dim);box-shadow:none}button.btn--ghost:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-strong);box-shadow:none;transform:translateY(-1px)}button.btn--small{width:auto;padding:var(--space-2) var(--space-3);font-size:.8rem}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn-row button.btn--small{flex:1 1 auto;width:auto}.stage{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(45deg,#dfe1e6 25%,transparent 25%) 0 0 / 20px 20px,linear-gradient(-45deg,#dfe1e6 25%,transparent 25%) 0 0 / 20px 20px,linear-gradient(45deg,transparent 75%,#dfe1e6 75%) 0 0 / 20px 20px,linear-gradient(-45deg,transparent 75%,#dfe1e6 75%) 0 0 / 20px 20px,#f4f4f7;background-position:0 0,0 10px,10px -10px,-10px 0px;border:2px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;min-height:320px;touch-action:none}.stage__empty{color:#8b8b96;font-size:.85rem;text-align:center;padding:var(--space-6)}.stage__canvas-wrap{position:relative;display:inline-block;max-width:100%;line-height:0}.stage__base,.stage__overlay{max-width:100%;max-height:70vh;display:block}.stage__base{image-rendering:pixelated}.stage__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:none}.stage__cursor{position:absolute;top:0;left:0;width:0;height:0;opacity:0;pointer-events:none;z-index:5;transition:opacity var(--duration-fast) ease}.stage__cursor.is-visible{opacity:1}.stage__cursor-ring{position:absolute;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid #fff;mix-blend-mode:difference}.stage__cursor-crosshair{position:absolute;top:0;left:0;width:16px;height:16px;transform:translate(-50%,-50%);display:none}.stage__cursor-crosshair.is-visible{display:block}.stage__cursor-crosshair:before,.stage__cursor-crosshair:after{content:"";position:absolute;background:#fff;mix-blend-mode:difference}.stage__cursor-crosshair:before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}.stage__cursor-crosshair:after{top:0;left:50%;width:1.5px;height:100%;transform:translate(-50%)}.preview-pane{display:flex;flex-direction:column;gap:var(--space-2)}.preview-pane__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.preview-pane__label{font-size:.78rem;font-weight:800;letter-spacing:.02em;color:var(--color-text-dim);display:flex;align-items:center;gap:var(--space-2)}.preview-pane__eyebrow{font-family:var(--font-label);font-size:.68rem;font-weight:400;letter-spacing:.14em;color:var(--color-text-faint);text-transform:uppercase;flex:none}.preview-pane__label .dot{width:7px;height:7px;border-radius:50%;flex:none}.preview-pane__label .dot--zoom{background:var(--color-accent-3)}.preview-pane__label .dot--thumb{background:var(--color-accent-2)}.preview-pane__frame{border:2px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden;background:#000;box-shadow:var(--shadow-pop)}.preview-pane__frame--light{background:#fff}.preview-pane__frame canvas{display:block;width:100%;height:auto}.preview-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-pill);border:2px solid var(--color-border-strong);background:var(--color-bg-sunken);align-self:flex-start}.preview-toggle__btn{padding:4px var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-dim);font-size:.74rem;font-weight:700;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-pop)}.preview-toggle__btn:hover:not(.is-active){color:var(--color-text);transform:translateY(-1px)}.preview-toggle__btn:active{transform:translateY(1px) scale(.97)}.preview-toggle__btn.is-active{background:var(--color-text);color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}.preview-toggle--spacer{visibility:hidden}.lang-switcher{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-pill);border:2px solid var(--color-border-strong);background:var(--color-bg-sunken)}.lang-switcher__btn{padding:4px var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-dim);font-size:.74rem;font-weight:700;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-pop)}.lang-switcher__btn:hover:not(.is-active){color:var(--color-text);transform:translateY(-1px)}.lang-switcher__btn:active{transform:translateY(1px) scale(.97)}.lang-switcher__btn.is-active{background:var(--color-text);color:var(--color-bg-elevated);box-shadow:var(--shadow-panel)}@media (max-width: 640px){.lang-switcher__btn{padding:3px var(--space-2);font-size:.68rem}}.banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:.85rem;font-weight:700;border:2px solid transparent;display:none}.banner.is-visible{display:block}.banner--error{background:#d6274a1a;border-color:#d6274a66;color:var(--color-danger)}.banner--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.banner--info{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-strong)}.note{font-size:.74rem;color:var(--color-text-faint);line-height:1.6}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:.7rem;font-family:var(--font-label);font-weight:400;background:var(--color-bg-sunken);border:2px solid var(--color-border-strong);color:var(--color-text-dim)}.badge--ok{color:var(--color-success);border-color:var(--color-accent)}.warning-callout{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-bg);border:2px solid var(--color-warning-border);margin-bottom:var(--space-3)}.warning-callout__icon{font-size:1.1rem;line-height:1;flex:none}.warning-callout__body{font-size:.8rem;line-height:1.55;color:var(--color-text)}.warning-callout__body strong{color:var(--color-warning)}.toast{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.8rem;line-height:1.6}.toast--warning{background:var(--color-warning-bg);border:2px solid var(--color-warning-border);color:var(--color-text);animation:toast-in var(--duration-normal) var(--ease-out-expo)}.toast--warning strong{color:var(--color-warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.promo-banner{position:relative;display:flex;align-items:stretch;width:100%;max-width:880px;border-radius:var(--radius-lg);border:2px solid var(--color-border-strong);background:var(--color-bg-panel);box-shadow:var(--shadow-panel);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo)}.promo-banner:hover{box-shadow:var(--shadow-panel-hover);transform:translate(-2px,-2px)}.promo-banner:focus-visible{outline-offset:-3px}.promo-banner__spine{flex:none;width:10px;background:var(--gradient-holo)}.promo-banner__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-5)}.promo-banner__eyebrow{font-family:var(--font-label);font-size:.68rem;font-weight:400;letter-spacing:.18em;color:var(--color-accent-3-strong);text-transform:uppercase}.promo-banner__row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-width:0}.promo-banner__image{display:block;flex:none;width:auto;height:clamp(72px,54px + 5vw,112px);border-radius:var(--radius-md);border:2px solid var(--color-border-strong)}.promo-banner__badge{display:inline-flex;flex:none;align-items:center;padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--gradient-holo-soft);border:2px solid var(--color-accent-3);font-family:var(--font-heading);font-size:.74rem;color:var(--color-accent-3-strong);white-space:nowrap}.promo-banner__desc{flex:1;min-width:0;margin:0;font-size:.78rem;line-height:1.5;color:var(--color-text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.promo-banner__cta{flex:none;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-6);background:var(--gradient-holo);color:#fff;font-family:var(--font-heading);font-size:.9rem;letter-spacing:.02em;white-space:nowrap;transition:filter var(--duration-fast) ease}.promo-banner:hover .promo-banner__cta{filter:brightness(1.08)}.promo-banner__cta-arrow{display:inline-block;margin-left:2px;transition:transform var(--duration-fast) var(--ease-pop)}.promo-banner:hover .promo-banner__cta-arrow{transform:translate(3px)}@media (max-width: 640px){.promo-banner{flex-direction:column}.promo-banner__spine{width:100%;height:6px}.promo-banner__body{padding:var(--space-4) var(--space-5)}.promo-banner__row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.promo-banner__image{width:100%;height:auto;max-width:320px}.promo-banner__desc{-webkit-line-clamp:3}.promo-banner__cta{padding:var(--space-3) var(--space-5);justify-content:center}}
