@font-face { font-family: pretendard; src: url("pretendard.woff2") format("woff2"); font-display: swap; font-weight: 45 930; }
@font-face { font-family: "pretendard Fallback"; src: local("Arial"); ascent-override: 93.76%; descent-override: 23.75%; line-gap-override: 0%; size-adjust: 101.55%; }
.pretendard_f7da9839-module__pJoXpq__className { font-family: pretendard, "pretendard Fallback"; }
.pretendard_f7da9839-module__pJoXpq__variable { --font-pretendard: "pretendard", "pretendard Fallback"; }
@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-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-pan-x: initial; --tw-pan-y: initial; --tw-pinch-zoom: initial; --tw-scroll-snap-strictness: proximity; --tw-space-y-reverse: 0; --tw-divide-y-reverse: 0; --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial; --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial; --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial; --tw-duration: initial; --tw-ease: initial; --tw-content: ""; }
}
}
@layer theme {
  :root, :host { --font-sans: var(--font-pretendard), -apple-system, "Apple SD Gothic Neo", sans-serif; --font-mono: var(--font-pretendard), -apple-system, "Apple SD Gothic Neo", sans-serif; --color-zinc-50: #fafafa; --color-zinc-400: #9f9fa9; --color-zinc-900: #18181b; --color-black: #000; --color-white: #fff; --spacing: .25rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --tracking-tight: -.025em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-relaxed: 1.625; --radius-xs: 6px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 12px; --radius-xl: 20px; --radius-2xl: 20px; --radius-3xl: 20px; --animate-spin: spin 1s linear infinite; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); --color-bg: #f5f6fa; --color-surface: #fff; --color-surface-sunken: #f0f2f7; --color-border: #e7eaf1; --color-border-strong: #d5dae5; --color-text: #20283e; --color-text-muted: #687187; --color-text-faint: #8992a6; --color-action: #3f5bd8; --color-action-soft: #edf1fd; --color-action-strong: #304bbd; --color-on-action: #fff; --color-focus: #304bbd; --color-composer-scrim: #19191947; --color-info: #0f86f2; --color-info-soft: #e8f4ff; --color-positive: #00c50e; --color-positive-soft: #eaf6ec; --color-emphasis: #191919; --color-emphasis-raised: #2c2c2c; --color-on-emphasis: #fff; --color-on-emphasis-muted: #a9aab0; --color-kakao: #fee500; --color-on-kakao: #191600; --color-attention: #b7791f; --color-attention-bg: #fef6dc; --color-critical: #e72d3e; --color-critical-bg: #ffecee; --color-status-scheduled: #2f8bf5; --color-status-scheduled-bg: #e8f4ff; --color-status-progress: #1f9d55; --color-status-progress-bg: #eaf6ec; --color-paper: var(--color-bg); --color-ink: var(--color-text); --color-ink-soft: var(--color-text-muted); --color-ink-faint: var(--color-text-faint); --color-line: var(--color-border); --color-line-strong: var(--color-border-strong); --color-wine: var(--color-action); --color-wine-wash: var(--color-action-soft); --color-on-wine: var(--color-on-action); --color-on-ink: var(--color-on-emphasis); --color-sage: var(--color-status-progress); --color-sage-wash: var(--color-status-progress-bg); --color-amber: var(--color-attention); --color-amber-wash: var(--color-attention-bg); --color-red: var(--color-critical); --color-red-wash: var(--color-critical-bg); --font-display: var(--font-pretendard), -apple-system, "Apple SD Gothic Neo", sans-serif; --text-display: 22px; --text-display--line-height: 28px; --text-display--letter-spacing: -.02em; --text-title: 20px; --text-title--line-height: 28px; --text-title--letter-spacing: -.02em; --text-section: 17px; --text-section--line-height: 24px; --text-section--letter-spacing: -.01em; --text-card: 16px; --text-card--line-height: 22px; --text-card--letter-spacing: -.01em; --text-body: 15px; --text-body--line-height: 22px; --text-name: 14px; --text-name--line-height: 20px; --text-label: 13px; --text-label--line-height: 18px; --text-kpi: 34px; --text-kpi--line-height: 40px; --text-kpi--letter-spacing: -.02em; --font-weight-heading: 700; --radius-pill: 9999px; --shadow-soft: 0 2px 12px #0000000d; --shadow-tour: 0 14px 36px #1919191a; --ease-spring: cubic-bezier(.2, .8, .2, 1); --ease-soft: cubic-bezier(.2, .8, .2, 1); --ease-composer: cubic-bezier(.16, 1, .3, 1); }
  @supports (color: lab(0% 0 0)) {
  :root, :host { --color-zinc-50: lab(98.26% 0 0); --color-zinc-400: lab(65.6464% 1.53497 -5.42429); --color-zinc-900: lab(8.30603% .618205 -2.16572); }
}
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family, ui-sans-serif, system-ui, 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: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; 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: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  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; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :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(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { 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: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  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 {
  .pointer-events-none { pointer-events: none; }
  .visible { visibility: visible; }
  .sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }
  .absolute { position: absolute; }
  .fixed { position: fixed; }
  .relative { position: relative; }
  .sticky { position: sticky; }
  .inset-0 { inset: 0px; }
  .inset-x-0 { inset-inline: 0px; }
  .inset-x-1 { inset-inline: var(--spacing); }
  .inset-x-3 { inset-inline: calc(var(--spacing) * 3); }
  .inset-x-5 { inset-inline: calc(var(--spacing) * 5); }
  .inset-y-0 { inset-block: 0px; }
  .-top-1 { top: calc(var(--spacing) * -1); }
  .-top-2 { top: calc(var(--spacing) * -2); }
  .top-0 { top: 0px; }
  .top-1\/2 { top: 50%; }
  .top-\[72px\] { top: 72px; }
  .-right-1 { right: calc(var(--spacing) * -1); }
  .-right-2 { right: calc(var(--spacing) * -2); }
  .-right-3 { right: calc(var(--spacing) * -3); }
  .-right-5 { right: calc(var(--spacing) * -5); }
  .right-0 { right: 0px; }
  .right-3 { right: calc(var(--spacing) * 3); }
  .-bottom-5 { bottom: calc(var(--spacing) * -5); }
  .bottom-0 { bottom: 0px; }
  .bottom-0\.5 { bottom: calc(var(--spacing) * .5); }
  .bottom-1 { bottom: var(--spacing); }
  .bottom-3 { bottom: calc(var(--spacing) * 3); }
  .bottom-10 { bottom: calc(var(--spacing) * 10); }
  .bottom-\[calc\(56px\+env\(safe-area-inset-bottom\)\)\] { bottom: calc(56px + env(safe-area-inset-bottom)); }
  .-left-2 { left: calc(var(--spacing) * -2); }
  .-left-3 { left: calc(var(--spacing) * -3); }
  .left-0 { left: 0px; }
  .left-0\.5 { left: calc(var(--spacing) * .5); }
  .left-1 { left: var(--spacing); }
  .left-1\/2 { left: 50%; }
  .isolate { isolation: isolate; }
  .z-10 { z-index: 10; }
  .z-20 { z-index: 20; }
  .z-30 { z-index: 30; }
  .z-50 { z-index: 50; }
  .order-2 { order: 2; }
  .order-3 { order: 3; }
  .order-first { order: -9999; }
  .float-left { float: left; }
  .clear-both { clear: both; }
  .m-0 { margin: 0px; }
  .m-1 { margin: var(--spacing); }
  .m-auto { margin: auto; }
  .-mx-1 { margin-inline: calc(var(--spacing) * -1); }
  .-mx-2 { margin-inline: calc(var(--spacing) * -2); }
  .-mx-4 { margin-inline: calc(var(--spacing) * -4); }
  .-mx-5 { margin-inline: calc(var(--spacing) * -5); }
  .mx-4 { margin-inline: calc(var(--spacing) * 4); }
  .mx-auto { margin-inline: auto; }
  .-my-3 { margin-block: calc(var(--spacing) * -3); }
  .my-2 { margin-block: calc(var(--spacing) * 2); }
  .my-3 { margin-block: calc(var(--spacing) * 3); }
  .mt-0\.5 { margin-top: calc(var(--spacing) * .5); }
  .mt-1 { margin-top: var(--spacing); }
  .mt-1\.5 { margin-top: calc(var(--spacing) * 1.5); }
  .mt-2 { margin-top: calc(var(--spacing) * 2); }
  .mt-2\.5 { margin-top: calc(var(--spacing) * 2.5); }
  .mt-3 { margin-top: calc(var(--spacing) * 3); }
  .mt-4 { margin-top: calc(var(--spacing) * 4); }
  .mt-5 { margin-top: calc(var(--spacing) * 5); }
  .mt-6 { margin-top: calc(var(--spacing) * 6); }
  .mt-7 { margin-top: calc(var(--spacing) * 7); }
  .mt-8 { margin-top: calc(var(--spacing) * 8); }
  .mt-10 { margin-top: calc(var(--spacing) * 10); }
  .mt-12 { margin-top: calc(var(--spacing) * 12); }
  .mt-auto { margin-top: auto; }
  .-mr-1\.5 { margin-right: calc(var(--spacing) * -1.5); }
  .-mr-2 { margin-right: calc(var(--spacing) * -2); }
  .-mr-2\.5 { margin-right: calc(var(--spacing) * -2.5); }
  .mr-0 { margin-right: 0px; }
  .mr-0\.5 { margin-right: calc(var(--spacing) * .5); }
  .mr-1 { margin-right: var(--spacing); }
  .mr-3 { margin-right: calc(var(--spacing) * 3); }
  .mb-1 { margin-bottom: var(--spacing); }
  .mb-2 { margin-bottom: calc(var(--spacing) * 2); }
  .mb-3 { margin-bottom: calc(var(--spacing) * 3); }
  .mb-4 { margin-bottom: calc(var(--spacing) * 4); }
  .mb-5 { margin-bottom: calc(var(--spacing) * 5); }
  .-ml-2 { margin-left: calc(var(--spacing) * -2); }
  .ml-0\.5 { margin-left: calc(var(--spacing) * .5); }
  .ml-1 { margin-left: var(--spacing); }
  .ml-1\.5 { margin-left: calc(var(--spacing) * 1.5); }
  .ml-2 { margin-left: calc(var(--spacing) * 2); }
  .ml-3 { margin-left: calc(var(--spacing) * 3); }
  .ml-4 { margin-left: calc(var(--spacing) * 4); }
  .ml-5 { margin-left: calc(var(--spacing) * 5); }
  .ml-9 { margin-left: calc(var(--spacing) * 9); }
  .ml-13 { margin-left: calc(var(--spacing) * 13); }
  .ml-auto { margin-left: auto; }
  .no-scrollbar { scrollbar-width: none; }
  .no-scrollbar::-webkit-scrollbar { display: none; }
  .line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }
  .line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }
  .block { display: block; }
  .contents { display: contents; }
  .flex { display: flex; }
  .grid { display: grid; }
  .hidden { display: none; }
  .inline { display: inline; }
  .inline-block { display: inline-block; }
  .inline-flex { display: inline-flex; }
  .table { display: table; }
  .table\! { display: table !important; }
  .field-sizing-content { field-sizing: content; }
  .aspect-\[9\/16\] { aspect-ratio: 9 / 16; }
  .size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); }
  .size-5 { width: calc(var(--spacing) * 5); height: calc(var(--spacing) * 5); }
  .size-6 { width: calc(var(--spacing) * 6); height: calc(var(--spacing) * 6); }
  .size-7 { width: calc(var(--spacing) * 7); height: calc(var(--spacing) * 7); }
  .size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); }
  .size-10 { width: calc(var(--spacing) * 10); height: calc(var(--spacing) * 10); }
  .size-11 { width: calc(var(--spacing) * 11); height: calc(var(--spacing) * 11); }
  .size-12 { width: calc(var(--spacing) * 12); height: calc(var(--spacing) * 12); }
  .size-16 { width: calc(var(--spacing) * 16); height: calc(var(--spacing) * 16); }
  .size-20 { width: calc(var(--spacing) * 20); height: calc(var(--spacing) * 20); }
  .size-24 { width: calc(var(--spacing) * 24); height: calc(var(--spacing) * 24); }
  .size-full { width: 100%; height: 100%; }
  .h-0 { height: 0px; }
  .h-2 { height: calc(var(--spacing) * 2); }
  .h-2\.5 { height: calc(var(--spacing) * 2.5); }
  .h-4 { height: calc(var(--spacing) * 4); }
  .h-5 { height: calc(var(--spacing) * 5); }
  .h-6 { height: calc(var(--spacing) * 6); }
  .h-7 { height: calc(var(--spacing) * 7); }
  .h-8 { height: calc(var(--spacing) * 8); }
  .h-9 { height: calc(var(--spacing) * 9); }
  .h-10 { height: calc(var(--spacing) * 10); }
  .h-11 { height: calc(var(--spacing) * 11); }
  .h-12 { height: calc(var(--spacing) * 12); }
  .h-13 { height: calc(var(--spacing) * 13); }
  .h-14 { height: calc(var(--spacing) * 14); }
  .h-24 { height: calc(var(--spacing) * 24); }
  .h-28 { height: calc(var(--spacing) * 28); }
  .h-40 { height: calc(var(--spacing) * 40); }
  .h-52 { height: calc(var(--spacing) * 52); }
  .h-80 { height: calc(var(--spacing) * 80); }
  .h-\[3px\] { height: 3px; }
  .h-\[18px\] { height: 18px; }
  .h-\[66px\] { height: 66px; }
  .h-\[70dvh\] { height: 70dvh; }
  .h-\[112px\] { height: 112px; }
  .h-\[142px\] { height: 142px; }
  .h-dvh { height: 100dvh; }
  .h-fit { height: fit-content; }
  .h-full { height: 100%; }
  .h-px { height: 1px; }
  .max-h-32 { max-height: calc(var(--spacing) * 32); }
  .max-h-64 { max-height: calc(var(--spacing) * 64); }
  .max-h-72 { max-height: calc(var(--spacing) * 72); }
  .max-h-80 { max-height: calc(var(--spacing) * 80); }
  .max-h-\[25dvh\] { max-height: 25dvh; }
  .max-h-\[85dvh\] { max-height: 85dvh; }
  .max-h-\[90dvh\] { max-height: 90dvh; }
  .max-h-\[calc\(100dvh-32px\)\] { max-height: calc(100dvh - 32px); }
  .max-h-\[calc\(100dvh-40px\)\] { max-height: calc(100dvh - 40px); }
  .max-h-\[calc\(100dvh-88px\)\] { max-height: calc(100dvh - 88px); }
  .max-h-\[calc\(100dvh-140px\)\] { max-height: calc(100dvh - 140px); }
  .max-h-\[min\(12dvh\,84px\)\] { max-height: min(12dvh, 84px); }
  .max-h-full { max-height: 100%; }
  .max-h-none { max-height: none; }
  .min-h-0 { min-height: 0px; }
  .min-h-6 { min-height: calc(var(--spacing) * 6); }
  .min-h-7 { min-height: calc(var(--spacing) * 7); }
  .min-h-8 { min-height: calc(var(--spacing) * 8); }
  .min-h-9 { min-height: calc(var(--spacing) * 9); }
  .min-h-10 { min-height: calc(var(--spacing) * 10); }
  .min-h-11 { min-height: calc(var(--spacing) * 11); }
  .min-h-12 { min-height: calc(var(--spacing) * 12); }
  .min-h-14 { min-height: calc(var(--spacing) * 14); }
  .min-h-16 { min-height: calc(var(--spacing) * 16); }
  .min-h-20 { min-height: calc(var(--spacing) * 20); }
  .min-h-24 { min-height: calc(var(--spacing) * 24); }
  .min-h-28 { min-height: calc(var(--spacing) * 28); }
  .min-h-32 { min-height: calc(var(--spacing) * 32); }
  .min-h-dvh { min-height: 100dvh; }
  .min-h-full { min-height: 100%; }
  .w-0\.5 { width: calc(var(--spacing) * .5); }
  .w-1\/2 { width: 50%; }
  .w-2 { width: calc(var(--spacing) * 2); }
  .w-3\/4 { width: 75%; }
  .w-4 { width: calc(var(--spacing) * 4); }
  .w-5 { width: calc(var(--spacing) * 5); }
  .w-6 { width: calc(var(--spacing) * 6); }
  .w-7 { width: calc(var(--spacing) * 7); }
  .w-8 { width: calc(var(--spacing) * 8); }
  .w-9 { width: calc(var(--spacing) * 9); }
  .w-10 { width: calc(var(--spacing) * 10); }
  .w-11 { width: calc(var(--spacing) * 11); }
  .w-12 { width: calc(var(--spacing) * 12); }
  .w-14 { width: calc(var(--spacing) * 14); }
  .w-16 { width: calc(var(--spacing) * 16); }
  .w-18 { width: calc(var(--spacing) * 18); }
  .w-20 { width: calc(var(--spacing) * 20); }
  .w-24 { width: calc(var(--spacing) * 24); }
  .w-28 { width: calc(var(--spacing) * 28); }
  .w-32 { width: calc(var(--spacing) * 32); }
  .w-36 { width: calc(var(--spacing) * 36); }
  .w-40 { width: calc(var(--spacing) * 40); }
  .w-\[18px\] { width: 18px; }
  .w-\[84px\] { width: 84px; }
  .w-\[calc\(100\%-2rem\)\] { width: calc(100% - 2rem); }
  .w-\[calc\(100\%-32px\)\] { width: calc(100% - 32px); }
  .w-\[calc\(100\%-40px\)\] { width: calc(100% - 40px); }
  .w-\[min\(380px\,100\%\)\] { width: min(380px, 100%); }
  .w-auto { width: auto; }
  .w-full { width: 100%; }
  .w-px { width: 1px; }
  .max-w-2xl { max-width: var(--container-2xl); }
  .max-w-3xl { max-width: var(--container-3xl); }
  .max-w-4xl { max-width: var(--container-4xl); }
  .max-w-5xl { max-width: var(--container-5xl); }
  .max-w-6xl { max-width: var(--container-6xl); }
  .max-w-28 { max-width: calc(var(--spacing) * 28); }
  .max-w-36 { max-width: calc(var(--spacing) * 36); }
  .max-w-52 { max-width: calc(var(--spacing) * 52); }
  .max-w-\[62ch\] { max-width: 62ch; }
  .max-w-\[1600px\] { max-width: 1600px; }
  .max-w-full { max-width: 100%; }
  .max-w-lg { max-width: var(--container-lg); }
  .max-w-md { max-width: var(--container-md); }
  .max-w-none { max-width: none; }
  .max-w-sm { max-width: var(--container-sm); }
  .min-w-0 { min-width: 0px; }
  .min-w-10 { min-width: calc(var(--spacing) * 10); }
  .min-w-11 { min-width: calc(var(--spacing) * 11); }
  .min-w-12 { min-width: calc(var(--spacing) * 12); }
  .min-w-16 { min-width: calc(var(--spacing) * 16); }
  .min-w-24 { min-width: calc(var(--spacing) * 24); }
  .min-w-32 { min-width: calc(var(--spacing) * 32); }
  .min-w-36 { min-width: calc(var(--spacing) * 36); }
  .min-w-48 { min-width: calc(var(--spacing) * 48); }
  .min-w-52 { min-width: calc(var(--spacing) * 52); }
  .min-w-\[8rem\] { min-width: 8rem; }
  .flex-1 { flex: 1 1 0%; }
  .shrink-0 { flex-shrink: 0; }
  .flex-grow, .grow { flex-grow: 1; }
  .basis-44 { flex-basis: calc(var(--spacing) * 44); }
  .basis-full { flex-basis: 100%; }
  .table-fixed { table-layout: fixed; }
  .border-collapse { border-collapse: collapse; }
  .-translate-x-1\/2 { --tw-translate-x: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .-translate-y-1\/2 { --tw-translate-y: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .rotate-180 { rotate: 180deg; }
  .transform { transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, ); }
  .animate-spin { animation: var(--animate-spin); }
  .cursor-grab { cursor: grab; }
  .cursor-move { cursor: move; }
  .cursor-nwse-resize { cursor: nwse-resize; }
  .cursor-pointer { cursor: pointer; }
  .touch-pan-y { --tw-pan-y: pan-y; touch-action: var(--tw-pan-x, ) var(--tw-pan-y, ) var(--tw-pinch-zoom, ); }
  .touch-none { touch-action: none; }
  .resize { resize: both; }
  .resize-none { resize: none; }
  .resize-y { resize: vertical; }
  .snap-x { scroll-snap-type: x var(--tw-scroll-snap-strictness); }
  .snap-start { scroll-snap-align: start; }
  .scroll-mt-4 { scroll-margin-top: calc(var(--spacing) * 4); }
  .scroll-mt-20 { scroll-margin-top: calc(var(--spacing) * 20); }
  .list-decimal { list-style-type: decimal; }
  .list-disc { list-style-type: disc; }
  .list-none { list-style-type: none; }
  .appearance-none { appearance: none; }
  .grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .grid-cols-\[1fr_auto\] { grid-template-columns: 1fr auto; }
  .grid-cols-\[4\.5rem_minmax\(0\,1fr\)\] { grid-template-columns: 4.5rem minmax(0px, 1fr); }
  .grid-cols-\[4rem_minmax\(0\,1fr\)\] { grid-template-columns: 4rem minmax(0px, 1fr); }
  .grid-cols-\[minmax\(0\,1fr\)_72px\] { grid-template-columns: minmax(0px, 1fr) 72px; }
  .flex-col { flex-direction: column; }
  .flex-wrap { flex-wrap: wrap; }
  .items-baseline { align-items: baseline; }
  .items-center { align-items: center; }
  .items-end { align-items: flex-end; }
  .items-start { align-items: flex-start; }
  .items-stretch { align-items: stretch; }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }
  .justify-end { justify-content: flex-end; }
  .justify-start { justify-content: flex-start; }
  .gap-0\.5 { gap: calc(var(--spacing) * .5); }
  .gap-1 { gap: var(--spacing); }
  .gap-1\.5 { gap: calc(var(--spacing) * 1.5); }
  .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-2\.5 { gap: calc(var(--spacing) * 2.5); }
  .gap-3 { gap: calc(var(--spacing) * 3); }
  .gap-3\.5 { gap: calc(var(--spacing) * 3.5); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-5 { gap: calc(var(--spacing) * 5); }
  .gap-6 { gap: calc(var(--spacing) * 6); }
  .gap-8 { gap: calc(var(--spacing) * 8); }
  :where(.space-y-0\.5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-1\.5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-2 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-2\.5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-3 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-3\.5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-4 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-6 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); }
  .gap-x-1\.5 { column-gap: calc(var(--spacing) * 1.5); }
  .gap-x-2 { column-gap: calc(var(--spacing) * 2); }
  .gap-x-3 { column-gap: calc(var(--spacing) * 3); }
  .gap-x-4 { column-gap: calc(var(--spacing) * 4); }
  .gap-x-5 { column-gap: calc(var(--spacing) * 5); }
  .gap-x-6 { column-gap: calc(var(--spacing) * 6); }
  .gap-y-1 { row-gap: var(--spacing); }
  .gap-y-2 { row-gap: calc(var(--spacing) * 2); }
  :where(.divide-y > :not(:last-child)) { --tw-divide-y-reverse: 0; border-bottom-style: var(--tw-border-style); border-top-style: var(--tw-border-style); border-top-width: calc(1px * var(--tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); }
  :where(.divide-line > :not(:last-child)) { border-color: var(--color-line); }
  .self-center { align-self: center; }
  .self-end { align-self: flex-end; }
  .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
  .overflow-auto { overflow: auto; }
  .overflow-hidden { overflow: hidden; }
  .overflow-x-auto { overflow-x: auto; }
  .overflow-y-auto { overflow-y: auto; }
  .overscroll-contain { overscroll-behavior: contain; }
  .rounded { border-radius: 0.25rem; }
  .rounded-2xl { border-radius: var(--radius-2xl); }
  .rounded-3xl { border-radius: var(--radius-3xl); }
  .rounded-\[5px\] { border-radius: 5px; }
  .rounded-full { border-radius: 3.40282e+38px; }
  .rounded-full\! { border-radius: 3.40282e+38px !important; }
  .rounded-lg { border-radius: var(--radius-lg); }
  .rounded-md { border-radius: var(--radius-md); }
  .rounded-pill { border-radius: var(--radius-pill); }
  .rounded-sm { border-radius: var(--radius-sm); }
  .rounded-xl { border-radius: var(--radius-xl); }
  .rounded-xs { border-radius: var(--radius-xs); }
  .rounded-t-xl { border-top-left-radius: var(--radius-xl); border-top-right-radius: var(--radius-xl); }
  .rounded-l-md { border-top-left-radius: var(--radius-md); border-bottom-left-radius: var(--radius-md); }
  .rounded-r-md { border-top-right-radius: var(--radius-md); border-bottom-right-radius: var(--radius-md); }
  .border { border-style: var(--tw-border-style); border-width: 1px; }
  .border-0 { border-style: var(--tw-border-style); border-width: 0px; }
  .border-2 { border-style: var(--tw-border-style); border-width: 2px; }
  .border-\[3px\] { border-style: var(--tw-border-style); border-width: 3px; }
  .border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }
  .border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }
  .border-r { border-right-style: var(--tw-border-style); border-right-width: 1px; }
  .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
  .border-b-2 { border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; }
  .border-l { border-left-style: var(--tw-border-style); border-left-width: 1px; }
  .border-l-2 { border-left-style: var(--tw-border-style); border-left-width: 2px; }
  .border-dashed { --tw-border-style: dashed; border-style: dashed; }
  .border-action { border-color: var(--color-action); }
  .border-action\/60 { border-color: rgba(63, 91, 216, 0.6); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-action\/60 { border-color: color-mix(in oklab, var(--color-action) 60%, transparent); }
}
  .border-amber { border-color: var(--color-amber); }
  .border-critical { border-color: var(--color-critical); }
  .border-current\/25 { border-color: currentcolor; }
  @supports (color: color-mix(in lab, red, red)) {
  .border-current\/25 { border-color: color-mix(currentcolor 25%, transparent); }
}
  .border-ink { border-color: var(--color-ink); }
  .border-line { border-color: var(--color-line); }
  .border-line-strong { border-color: var(--color-line-strong); }
  .border-on-emphasis-muted { border-color: var(--color-on-emphasis-muted); }
  .border-on-emphasis-muted\/15 { border-color: rgba(169, 170, 176, 0.15); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-on-emphasis-muted\/15 { border-color: color-mix(in oklab, var(--color-on-emphasis-muted) 15%, transparent); }
}
  .border-on-emphasis-muted\/20 { border-color: rgba(169, 170, 176, 0.2); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-on-emphasis-muted\/20 { border-color: color-mix(in oklab, var(--color-on-emphasis-muted) 20%, transparent); }
}
  .border-on-emphasis-muted\/30 { border-color: rgba(169, 170, 176, 0.3); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-on-emphasis-muted\/30 { border-color: color-mix(in oklab, var(--color-on-emphasis-muted) 30%, transparent); }
}
  .border-on-emphasis-muted\/40 { border-color: rgba(169, 170, 176, 0.4); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-on-emphasis-muted\/40 { border-color: color-mix(in oklab, var(--color-on-emphasis-muted) 40%, transparent); }
}
  .border-red { border-color: var(--color-red); }
  .border-transparent { border-color: rgba(0, 0, 0, 0); }
  .border-wine { border-color: var(--color-wine); }
  .border-wine\/25 { border-color: rgba(63, 91, 216, 0.25); }
  @supports (color: color-mix(in lab, red, red)) {
  .border-wine\/25 { border-color: color-mix(in oklab, var(--color-wine) 25%, transparent); }
}
  .bg-\[\#FEE500\] { background-color: rgb(254, 229, 0); }
  .bg-action { background-color: var(--color-action); }
  .bg-action-soft { background-color: var(--color-action-soft); }
  .bg-action-strong { background-color: var(--color-action-strong); }
  .bg-action\/25 { background-color: rgba(63, 91, 216, 0.25); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-action\/25 { background-color: color-mix(in oklab, var(--color-action) 25%, transparent); }
}
  .bg-amber { background-color: var(--color-amber); }
  .bg-amber-wash { background-color: var(--color-amber-wash); }
  .bg-attention-bg { background-color: var(--color-attention-bg); }
  .bg-bg { background-color: var(--color-bg); }
  .bg-black { background-color: var(--color-black); }
  .bg-black\/40 { background-color: rgba(0, 0, 0, 0.4); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-black\/40 { background-color: color-mix(in oklab, var(--color-black) 40%, transparent); }
}
  .bg-black\/55 { background-color: rgba(0, 0, 0, 0.55); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-black\/55 { background-color: color-mix(in oklab, var(--color-black) 55%, transparent); }
}
  .bg-black\/65 { background-color: rgba(0, 0, 0, 0.65); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-black\/65 { background-color: color-mix(in oklab, var(--color-black) 65%, transparent); }
}
  .bg-critical { background-color: var(--color-critical); }
  .bg-critical-bg { background-color: var(--color-critical-bg); }
  .bg-emphasis { background-color: var(--color-emphasis); }
  .bg-emphasis-raised { background-color: var(--color-emphasis-raised); }
  .bg-info-soft { background-color: var(--color-info-soft); }
  .bg-ink { background-color: var(--color-ink); }
  .bg-kakao { background-color: var(--color-kakao); }
  .bg-line-strong { background-color: var(--color-line-strong); }
  .bg-on-emphasis { background-color: var(--color-on-emphasis); }
  .bg-paper { background-color: var(--color-paper); }
  .bg-positive-soft { background-color: var(--color-positive-soft); }
  .bg-red { background-color: var(--color-red); }
  .bg-red-wash { background-color: var(--color-red-wash); }
  .bg-sage { background-color: var(--color-sage); }
  .bg-sage-wash { background-color: var(--color-sage-wash); }
  .bg-status-progress-bg { background-color: var(--color-status-progress-bg); }
  .bg-status-scheduled-bg { background-color: var(--color-status-scheduled-bg); }
  .bg-surface { background-color: var(--color-surface); }
  .bg-surface-sunken { background-color: var(--color-surface-sunken); }
  .bg-surface\/90 { background-color: rgba(255, 255, 255, 0.9); }
  @supports (color: color-mix(in lab, red, red)) {
  .bg-surface\/90 { background-color: color-mix(in oklab, var(--color-surface) 90%, transparent); }
}
  .bg-transparent { background-color: rgba(0, 0, 0, 0); }
  .bg-white { background-color: var(--color-white); }
  .bg-wine { background-color: var(--color-wine); }
  .bg-wine-wash { background-color: var(--color-wine-wash); }
  .object-contain { object-fit: contain; }
  .object-cover { object-fit: cover; }
  .p-0 { padding: 0px; }
  .p-0\! { padding: 0px !important; }
  .p-1 { padding: var(--spacing); }
  .p-2 { padding: calc(var(--spacing) * 2); }
  .p-3 { padding: calc(var(--spacing) * 3); }
  .p-3\.5 { padding: calc(var(--spacing) * 3.5); }
  .p-4 { padding: calc(var(--spacing) * 4); }
  .p-5 { padding: calc(var(--spacing) * 5); }
  .p-6 { padding: calc(var(--spacing) * 6); }
  .p-\[3px\] { padding: 3px; }
  .px-0 { padding-inline: 0px; }
  .px-0\.5 { padding-inline: calc(var(--spacing) * .5); }
  .px-1 { padding-inline: var(--spacing); }
  .px-1\.5 { padding-inline: calc(var(--spacing) * 1.5); }
  .px-2 { padding-inline: calc(var(--spacing) * 2); }
  .px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }
  .px-3 { padding-inline: calc(var(--spacing) * 3); }
  .px-3\.5 { padding-inline: calc(var(--spacing) * 3.5); }
  .px-4 { padding-inline: calc(var(--spacing) * 4); }
  .px-5 { padding-inline: calc(var(--spacing) * 5); }
  .px-6 { padding-inline: calc(var(--spacing) * 6); }
  .px-8 { padding-inline: calc(var(--spacing) * 8); }
  .py-0\.5 { padding-block: calc(var(--spacing) * .5); }
  .py-1 { padding-block: var(--spacing); }
  .py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }
  .py-2 { padding-block: calc(var(--spacing) * 2); }
  .py-2\.5 { padding-block: calc(var(--spacing) * 2.5); }
  .py-3 { padding-block: calc(var(--spacing) * 3); }
  .py-4 { padding-block: calc(var(--spacing) * 4); }
  .py-5 { padding-block: calc(var(--spacing) * 5); }
  .py-6 { padding-block: calc(var(--spacing) * 6); }
  .py-8 { padding-block: calc(var(--spacing) * 8); }
  .py-10 { padding-block: calc(var(--spacing) * 10); }
  .pt-0\.5 { padding-top: calc(var(--spacing) * .5); }
  .pt-1 { padding-top: var(--spacing); }
  .pt-1\.5 { padding-top: calc(var(--spacing) * 1.5); }
  .pt-2 { padding-top: calc(var(--spacing) * 2); }
  .pt-2\.5 { padding-top: calc(var(--spacing) * 2.5); }
  .pt-3 { padding-top: calc(var(--spacing) * 3); }
  .pt-4 { padding-top: calc(var(--spacing) * 4); }
  .pt-5 { padding-top: calc(var(--spacing) * 5); }
  .pt-6 { padding-top: calc(var(--spacing) * 6); }
  .pt-8 { padding-top: calc(var(--spacing) * 8); }
  .pt-\[calc\(1\.25rem\+env\(safe-area-inset-top\)\)\] { padding-top: calc(1.25rem + env(safe-area-inset-top)); }
  .pt-\[calc\(1\.75rem\+env\(safe-area-inset-top\)\)\] { padding-top: calc(1.75rem + env(safe-area-inset-top)); }
  .pt-\[calc\(1rem\+env\(safe-area-inset-top\)\)\] { padding-top: calc(1rem + env(safe-area-inset-top)); }
  .pt-\[calc\(10px\+env\(safe-area-inset-top\,0px\)\)\] { padding-top: calc(10px + env(safe-area-inset-top, 0px)); }
  .pr-1 { padding-right: var(--spacing); }
  .pr-2 { padding-right: calc(var(--spacing) * 2); }
  .pr-3 { padding-right: calc(var(--spacing) * 3); }
  .pr-8 { padding-right: calc(var(--spacing) * 8); }
  .pb-0\.5 { padding-bottom: calc(var(--spacing) * .5); }
  .pb-1 { padding-bottom: var(--spacing); }
  .pb-1\.5 { padding-bottom: calc(var(--spacing) * 1.5); }
  .pb-2 { padding-bottom: calc(var(--spacing) * 2); }
  .pb-3 { padding-bottom: calc(var(--spacing) * 3); }
  .pb-4 { padding-bottom: calc(var(--spacing) * 4); }
  .pb-6 { padding-bottom: calc(var(--spacing) * 6); }
  .pb-8 { padding-bottom: calc(var(--spacing) * 8); }
  .pb-10 { padding-bottom: calc(var(--spacing) * 10); }
  .pb-12 { padding-bottom: calc(var(--spacing) * 12); }
  .pb-\[calc\(2\.5rem\+env\(safe-area-inset-bottom\)\)\] { padding-bottom: calc(2.5rem + env(safe-area-inset-bottom)); }
  .pb-\[calc\(6\.5rem\+env\(safe-area-inset-bottom\)\)\] { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
  .pb-\[calc\(8px\+env\(safe-area-inset-bottom\,0px\)\)\] { padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  .pb-\[calc\(16px\+env\(safe-area-inset-bottom\,0px\)\)\] { padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .pb-\[max\(1\.5rem\,env\(safe-area-inset-bottom\)\)\] { padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
  .pb-\[max\(1rem\,env\(safe-area-inset-bottom\)\)\] { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
  .pl-1 { padding-left: var(--spacing); }
  .pl-3 { padding-left: calc(var(--spacing) * 3); }
  .pl-4 { padding-left: calc(var(--spacing) * 4); }
  .pl-5 { padding-left: calc(var(--spacing) * 5); }
  .pl-6 { padding-left: calc(var(--spacing) * 6); }
  .pl-9 { padding-left: calc(var(--spacing) * 9); }
  .pl-12 { padding-left: calc(var(--spacing) * 12); }
  .text-center { text-align: center; }
  .text-left { text-align: left; }
  .text-right { text-align: right; }
  .align-middle { vertical-align: middle; }
  .align-top { vertical-align: top; }
  .font-mono { font-family: var(--font-mono); }
  .font-sans { font-family: var(--font-sans); }
  .text-card { font-size: var(--text-card); line-height: var(--tw-leading, var(--text-card--line-height)); letter-spacing: var(--tw-tracking, var(--text-card--letter-spacing)); }
  .text-display { font-size: var(--text-display); line-height: var(--tw-leading, var(--text-display--line-height)); letter-spacing: var(--tw-tracking, var(--text-display--letter-spacing)); }
  .text-kpi { font-size: var(--text-kpi); line-height: var(--tw-leading, var(--text-kpi--line-height)); letter-spacing: var(--tw-tracking, var(--text-kpi--letter-spacing)); }
  .text-section { font-size: var(--text-section); line-height: var(--tw-leading, var(--text-section--line-height)); letter-spacing: var(--tw-tracking, var(--text-section--letter-spacing)); }
  .text-title { font-size: var(--text-title); line-height: var(--tw-leading, var(--text-title--line-height)); letter-spacing: var(--tw-tracking, var(--text-title--letter-spacing)); }
  .text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); }
  .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); }
  .text-body { font-size: var(--text-body); line-height: var(--tw-leading, var(--text-body--line-height)); }
  .text-label { font-size: var(--text-label); line-height: var(--tw-leading, var(--text-label--line-height)); }
  .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
  .text-name { font-size: var(--text-name); line-height: var(--tw-leading, var(--text-name--line-height)); }
  .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
  .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
  .text-\[11px\] { font-size: 11px; }
  .text-\[16px\] { font-size: 16px; }
  .text-\[16px\]\! { font-size: 16px !important; }
  .text-\[20px\] { font-size: 20px; }
  .text-\[22px\] { font-size: 22px; }
  .text-\[24px\] { font-size: 24px; }
  .leading-4 { --tw-leading: calc(var(--spacing) * 4); line-height: calc(var(--spacing) * 4); }
  .leading-6 { --tw-leading: calc(var(--spacing) * 6); line-height: calc(var(--spacing) * 6); }
  .leading-8 { --tw-leading: calc(var(--spacing) * 8); line-height: calc(var(--spacing) * 8); }
  .leading-\[1\.4\] { --tw-leading: 1.4; line-height: 1.4; }
  .leading-none { --tw-leading: 1; line-height: 1; }
  .leading-relaxed { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); }
  .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }
  .font-\(--font-weight-heading\) { --tw-font-weight: var(--font-weight-heading); font-weight: var(--font-weight-heading); }
  .font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }
  .font-extrabold { --tw-font-weight: var(--font-weight-extrabold); font-weight: var(--font-weight-extrabold); }
  .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }
  .font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }
  .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }
  .tracking-\[-0\.02em\] { --tw-tracking: -.02em; letter-spacing: -0.02em; }
  .tracking-\[-0\.035em\] { --tw-tracking: -.035em; letter-spacing: -0.035em; }
  .tracking-\[0\.2em\] { --tw-tracking: .2em; letter-spacing: 0.2em; }
  .tracking-\[0\.3em\] { --tw-tracking: .3em; letter-spacing: 0.3em; }
  .tracking-\[0\.08em\] { --tw-tracking: .08em; letter-spacing: 0.08em; }
  .tracking-\[0\.12em\] { --tw-tracking: .12em; letter-spacing: 0.12em; }
  .tracking-\[0\.14em\] { --tw-tracking: .14em; letter-spacing: 0.14em; }
  .tracking-tight { --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); }
  .tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); }
  .text-balance { text-wrap: balance; }
  .text-pretty { text-wrap: pretty; }
  .text-wrap { text-wrap: wrap; }
  .\[overflow-wrap\:anywhere\] { overflow-wrap: anywhere; }
  .break-words { overflow-wrap: break-word; }
  .break-all { word-break: break-all; }
  .break-keep { word-break: keep-all; }
  .whitespace-nowrap { white-space: nowrap; }
  .whitespace-pre-line { white-space: pre-line; }
  .whitespace-pre-wrap { white-space: pre-wrap; }
  .text-\[\#FF8A7A\] { color: rgb(255, 138, 122); }
  .text-action { color: var(--color-action); }
  .text-action-strong { color: var(--color-action-strong); }
  .text-amber { color: var(--color-amber); }
  .text-attention { color: var(--color-attention); }
  .text-black { color: var(--color-black); }
  .text-critical { color: var(--color-critical); }
  .text-info { color: var(--color-info); }
  .text-ink { color: var(--color-ink); }
  .text-ink-faint { color: var(--color-ink-faint); }
  .text-ink-soft { color: var(--color-ink-soft); }
  .text-on-action { color: var(--color-on-action); }
  .text-on-emphasis { color: var(--color-on-emphasis); }
  .text-on-emphasis-muted { color: var(--color-on-emphasis-muted); }
  .text-on-ink { color: var(--color-on-ink); }
  .text-on-ink\/70 { color: rgba(255, 255, 255, 0.7); }
  @supports (color: color-mix(in lab, red, red)) {
  .text-on-ink\/70 { color: color-mix(in oklab, var(--color-on-ink) 70%, transparent); }
}
  .text-on-kakao { color: var(--color-on-kakao); }
  .text-on-wine { color: var(--color-on-wine); }
  .text-paper { color: var(--color-paper); }
  .text-positive { color: var(--color-positive); }
  .text-red { color: var(--color-red); }
  .text-sage { color: var(--color-sage); }
  .text-status-progress { color: var(--color-status-progress); }
  .text-status-scheduled { color: var(--color-status-scheduled); }
  .text-surface { color: var(--color-surface); }
  .text-white { color: var(--color-white); }
  .text-wine { color: var(--color-wine); }
  .text-zinc-400 { color: var(--color-zinc-400); }
  .uppercase { text-transform: uppercase; }
  .tabular-nums { --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, ); }
  .line-through { text-decoration-line: line-through; }
  .underline { text-decoration-line: underline; }
  .decoration-line-strong { text-decoration-color: var(--color-line-strong); }
  .underline-offset-2 { text-underline-offset: 2px; }
  .underline-offset-4 { text-underline-offset: 4px; }
  .antialiased { -webkit-font-smoothing: antialiased; }
  .accent-\(--color-action\), .accent-action { accent-color: var(--color-action); }
  .accent-wine { accent-color: var(--color-wine); }
  .opacity-0 { opacity: 0; }
  .opacity-10 { opacity: 0.1; }
  .opacity-25 { opacity: 0.25; }
  .opacity-50 { opacity: 0.5; }
  .opacity-60 { opacity: 0.6; }
  .opacity-75 { opacity: 0.75; }
  .shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-\(--bar-shadow\) { --tw-shadow: var(--bar-shadow); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-\(--card-shadow\) { --tw-shadow: var(--card-shadow); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-\[0_0_0_1px_rgb\(0_0_0\/0\.35\)\] { --tw-shadow: 0 0 0 1px var(--tw-shadow-color, #00000059); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-sm { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-soft { --tw-shadow: 0 2px 12px var(--tw-shadow-color, #0000000d); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .ring-1 { --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .ring-\[3px\] { --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .ring-action { --tw-ring-color: var(--color-action); }
  .ring-line { --tw-ring-color: var(--color-line); }
  .\!outline { outline-style: var(--tw-outline-style) !important; outline-width: 1px !important; }
  .outline { outline-style: var(--tw-outline-style); outline-width: 1px; }
  .outline-2 { outline-style: var(--tw-outline-style); outline-width: 2px; }
  .outline-offset-1 { outline-offset: 1px; }
  .outline-wine { outline-color: var(--color-wine); }
  .blur { --tw-blur: blur(8px); filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
  .filter { filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
  .backdrop-filter { backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, ); }
  .transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .duration-120 { --tw-duration: .12s; transition-duration: 0.12s; }
  .duration-180 { --tw-duration: .18s; transition-duration: 0.18s; }
  .ease-\(--ease-responsive\) { --tw-ease: var(--ease-responsive); transition-timing-function: var(--ease-responsive); }
  .ease-composer { --tw-ease: var(--ease-composer); transition-timing-function: var(--ease-composer); }
  .ease-soft { --tw-ease: var(--ease-soft); transition-timing-function: var(--ease-soft); }
  .ease-spring { --tw-ease: var(--ease-spring); transition-timing-function: var(--ease-spring); }
  .outline-none { --tw-outline-style: none; outline-style: none; }
  .select-none { user-select: none; }
  .ring-inset { --tw-ring-inset: inset; }
  .group-open\:rotate-90:is(:where(.group):is([open], :popover-open, :open) *) { rotate: 90deg; }
  .group-open\:rotate-180:is(:where(.group):is([open], :popover-open, :open) *) { rotate: 180deg; }
  @media (hover: hover) {
  .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }
}
  .file\:mr-3::file-selector-button { margin-right: calc(var(--spacing) * 3); }
  .file\:rounded-md::file-selector-button { border-radius: var(--radius-md); }
  .file\:border-0::file-selector-button { border-style: var(--tw-border-style); border-width: 0px; }
  .file\:bg-surface-sunken::file-selector-button { background-color: var(--color-surface-sunken); }
  .file\:px-3::file-selector-button { padding-inline: calc(var(--spacing) * 3); }
  .file\:py-1\.5::file-selector-button { padding-block: calc(var(--spacing) * 1.5); }
  .file\:text-xs::file-selector-button { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
  .file\:font-semibold::file-selector-button { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }
  .file\:text-ink::file-selector-button { color: var(--color-ink); }
  .placeholder\:text-ink-faint::placeholder { color: var(--color-ink-faint); }
  .placeholder\:text-on-emphasis-muted::placeholder { color: var(--color-on-emphasis-muted); }
  .backdrop\:bg-black\/30::backdrop { background-color: rgba(0, 0, 0, 0.3); }
  @supports (color: color-mix(in lab, red, red)) {
  .backdrop\:bg-black\/30::backdrop { background-color: color-mix(in oklab, var(--color-black) 30%, transparent); }
}
  .backdrop\:bg-black\/40::backdrop { background-color: rgba(0, 0, 0, 0.4); }
  @supports (color: color-mix(in lab, red, red)) {
  .backdrop\:bg-black\/40::backdrop { background-color: color-mix(in oklab, var(--color-black) 40%, transparent); }
}
  .backdrop\:bg-black\/45::backdrop { background-color: rgba(0, 0, 0, 0.45); }
  @supports (color: color-mix(in lab, red, red)) {
  .backdrop\:bg-black\/45::backdrop { background-color: color-mix(in oklab, var(--color-black) 45%, transparent); }
}
  .backdrop\:bg-black\/60::backdrop { background-color: rgba(0, 0, 0, 0.6); }
  @supports (color: color-mix(in lab, red, red)) {
  .backdrop\:bg-black\/60::backdrop { background-color: color-mix(in oklab, var(--color-black) 60%, transparent); }
}
  .backdrop\:bg-transparent::backdrop { background-color: rgba(0, 0, 0, 0); }
  .after\:absolute::after { content: var(--tw-content); position: absolute; }
  .after\:-inset-1::after { content: var(--tw-content); inset: calc(var(--spacing) * -1); }
  .after\:inset-x-0::after { content: var(--tw-content); inset-inline: 0px; }
  .after\:inset-x-3::after { content: var(--tw-content); inset-inline: calc(var(--spacing) * 3); }
  .after\:-inset-y-1::after { content: var(--tw-content); inset-block: calc(var(--spacing) * -1); }
  .after\:-inset-y-1\.5::after { content: var(--tw-content); inset-block: calc(var(--spacing) * -1.5); }
  .after\:-inset-y-\[13px\]::after { content: var(--tw-content); inset-block: -13px; }
  .after\:-inset-y-\[15px\]::after { content: var(--tw-content); inset-block: -15px; }
  .after\:bottom-0::after { content: var(--tw-content); bottom: 0px; }
  .after\:h-0\.5::after { content: var(--tw-content); height: calc(var(--spacing) * .5); }
  .after\:rounded-full::after { content: var(--tw-content); border-radius: 3.40282e+38px; }
  .after\:bg-action::after { content: var(--tw-content); background-color: var(--color-action); }
  .after\:content-\[\'\'\]::after { --tw-content: ""; content: var(--tw-content); }
  .first\:mt-0:first-child { margin-top: 0px; }
  .first\:border-t-0:first-child { border-top-style: var(--tw-border-style); border-top-width: 0px; }
  .first\:pt-0:first-child { padding-top: 0px; }
  .last\:border-0:last-child { border-style: var(--tw-border-style); border-width: 0px; }
  .last\:border-b-0:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }
  .last\:pb-0:last-child { padding-bottom: 0px; }
  .focus-within\:outline-2:focus-within { outline-style: var(--tw-outline-style); outline-width: 2px; }
  .focus-within\:outline-offset-2:focus-within { outline-offset: 2px; }
  .focus-within\:outline-focus:focus-within { outline-color: var(--color-focus); }
  @media (hover: hover) {
  .hover\:border-ink-soft:hover { border-color: var(--color-ink-soft); }
}
  @media (hover: hover) {
  .hover\:border-wine:hover { border-color: var(--color-wine); }
}
  @media (hover: hover) {
  .hover\:bg-line:hover { background-color: var(--color-line); }
}
  @media (hover: hover) {
  .hover\:bg-surface-sunken:hover { background-color: var(--color-surface-sunken); }
}
  @media (hover: hover) {
  .hover\:bg-wine-wash:hover { background-color: var(--color-wine-wash); }
}
  @media (hover: hover) {
  .hover\:text-ink:hover { color: var(--color-ink); }
}
  @media (hover: hover) {
  .hover\:text-ink-soft:hover { color: var(--color-ink-soft); }
}
  @media (hover: hover) {
  .hover\:text-red:hover { color: var(--color-red); }
}
  @media (hover: hover) {
  .hover\:text-wine:hover { color: var(--color-wine); }
}
  @media (hover: hover) {
  .hover\:underline:hover { text-decoration-line: underline; }
}
  @media (hover: hover) {
  .hover\:brightness-95:hover { --tw-brightness: brightness(95%); filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
}
  @media (hover: hover) {
  .hover\:brightness-125:hover { --tw-brightness: brightness(125%); filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
}
  .focus\:border-action:focus { border-color: var(--color-action); }
  .focus\:border-ink:focus { border-color: var(--color-ink); }
  .focus\:border-on-emphasis:focus { border-color: var(--color-on-emphasis); }
  .focus\:bg-surface:focus { background-color: var(--color-surface); }
  .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }
  .focus-visible\:opacity-100:focus-visible { opacity: 1; }
  .focus-visible\:outline-2:focus-visible { outline-style: var(--tw-outline-style); outline-width: 2px; }
  .focus-visible\:outline-offset-2:focus-visible { outline-offset: 2px; }
  .focus-visible\:outline-focus:focus-visible { outline-color: var(--color-focus); }
  .focus-visible\:outline-on-emphasis:focus-visible { outline-color: var(--color-on-emphasis); }
  .focus-visible\:outline-wine:focus-visible { outline-color: var(--color-wine); }
  .active\:scale-\[0\.97\]:active { scale: 0.97; }
  .active\:cursor-grabbing:active { cursor: grabbing; }
  .active\:bg-line-strong:active { background-color: var(--color-line-strong); }
  .active\:bg-surface-sunken:active { background-color: var(--color-surface-sunken); }
  .active\:brightness-90:active { --tw-brightness: brightness(90%); filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, ); }
  .disabled\:bg-surface-sunken:disabled { background-color: var(--color-surface-sunken); }
  .disabled\:text-ink-faint:disabled { color: var(--color-ink-faint); }
  .disabled\:no-underline:disabled { text-decoration-line: none; }
  .disabled\:opacity-30:disabled { opacity: 0.3; }
  .disabled\:opacity-35:disabled { opacity: 0.35; }
  .disabled\:opacity-40:disabled { opacity: 0.4; }
  .disabled\:opacity-50:disabled { opacity: 0.5; }
  .disabled\:opacity-60:disabled { opacity: 0.6; }
  .disabled\:opacity-70:disabled { opacity: 0.7; }
  .disabled\:opacity-100:disabled { opacity: 1; }
  .disabled\:not-aria-busy\:opacity-40:disabled:not([aria-busy="true"]) { opacity: 0.4; }
  .disabled\:not-aria-busy\:opacity-50:disabled:not([aria-busy="true"]) { opacity: 0.5; }
  .has-focus-visible\:outline-2:has(:focus-visible) { outline-style: var(--tw-outline-style); outline-width: 2px; }
  .has-focus-visible\:outline-offset-2:has(:focus-visible) { outline-offset: 2px; }
  .has-focus-visible\:outline-focus:has(:focus-visible) { outline-color: var(--color-focus); }
  .has-\[\:focus-visible\]\:outline-2:has(:focus-visible) { outline-style: var(--tw-outline-style); outline-width: 2px; }
  .has-\[\:focus-visible\]\:outline-offset-2:has(:focus-visible) { outline-offset: 2px; }
  .has-\[\:focus-visible\]\:outline-focus:has(:focus-visible) { outline-color: var(--color-focus); }
  .has-\[\:focus-visible\]\:outline-on-emphasis:has(:focus-visible) { outline-color: var(--color-on-emphasis); }
  .aria-\[invalid\=true\]\:border-critical[aria-invalid="true"] { border-color: var(--color-critical); }
  .aria-\[invalid\=true\]\:focus\:border-critical[aria-invalid="true"]:focus { border-color: var(--color-critical); }
  @media (prefers-reduced-motion: reduce) {
  .motion-reduce\:transform-none { transform: none; }
}
  @media (min-width: 360px) {
  .min-\[360px\]\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  @media (min-width: 360px) {
  .min-\[360px\]\:gap-1\.5 { gap: calc(var(--spacing) * 1.5); }
}
  @media (min-width: 360px) {
  .min-\[360px\]\:px-4 { padding-inline: calc(var(--spacing) * 4); }
}
  @media (min-width: 360px) {
  .min-\[360px\]\:text-body { font-size: var(--text-body); line-height: var(--tw-leading, var(--text-body--line-height)); }
}
  @media (min-width: 400px) {
  .min-\[400px\]\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  @media (min-width: 480px) {
  .min-\[480px\]\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  @media (min-width: 40rem) {
  .sm\:absolute { position: absolute; }
}
  @media (min-width: 40rem) {
  .sm\:inset-x-auto { inset-inline: auto; }
}
  @media (min-width: 40rem) {
  .sm\:top-full { top: 100%; }
}
  @media (min-width: 40rem) {
  .sm\:right-0 { right: 0px; }
}
  @media (min-width: 40rem) {
  .sm\:left-0 { left: 0px; }
}
  @media (min-width: 40rem) {
  .sm\:mt-3 { margin-top: calc(var(--spacing) * 3); }
}
  @media (min-width: 40rem) {
  .sm\:inline { display: inline; }
}
  @media (min-width: 40rem) {
  .sm\:h-9 { height: calc(var(--spacing) * 9); }
}
  @media (min-width: 40rem) {
  .sm\:w-56 { width: calc(var(--spacing) * 56); }
}
  @media (min-width: 40rem) {
  .sm\:w-60 { width: calc(var(--spacing) * 60); }
}
  @media (min-width: 40rem) {
  .sm\:w-\[268px\] { width: 268px; }
}
  @media (min-width: 40rem) {
  .sm\:w-\[340px\] { width: 340px; }
}
  @media (min-width: 40rem) {
  .sm\:w-\[360px\] { width: 360px; }
}
  @media (min-width: 40rem) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
  @media (min-width: 40rem) {
  .sm\:gap-4 { gap: calc(var(--spacing) * 4); }
}
  @media (min-width: 40rem) {
  .sm\:border-line { border-color: var(--color-line); }
}
  @media (min-width: 40rem) {
  .sm\:bg-surface { background-color: var(--color-surface); }
}
  @media (min-width: 40rem) {
  .sm\:px-2 { padding-inline: calc(var(--spacing) * 2); }
}
  @media (min-width: 40rem) {
  .sm\:px-3 { padding-inline: calc(var(--spacing) * 3); }
}
  @media (min-width: 40rem) {
  .sm\:px-5 { padding-inline: calc(var(--spacing) * 5); }
}
  @media (min-width: 40rem) {
  .sm\:px-6 { padding-inline: calc(var(--spacing) * 6); }
}
  @media (min-width: 64rem) {
  .lg\:sticky { position: sticky; }
}
  @media (min-width: 64rem) {
  .lg\:top-20 { top: calc(var(--spacing) * 20); }
}
  @media (min-width: 64rem) {
  .lg\:top-\[66px\] { top: 66px; }
}
  @media (min-width: 64rem) {
  .lg\:order-last { order: 9999; }
}
  @media (min-width: 64rem) {
  .lg\:block { display: block; }
}
  @media (min-width: 64rem) {
  .lg\:flex { display: flex; }
}
  @media (min-width: 64rem) {
  .lg\:hidden { display: none; }
}
  @media (min-width: 64rem) {
  .lg\:h-\[calc\(100dvh-66px\)\] { height: calc(100dvh - 66px); }
}
  @media (min-width: 64rem) {
  .lg\:max-h-\[calc\(100dvh-96px\)\] { max-height: calc(100dvh - 96px); }
}
  @media (min-width: 64rem) {
  .lg\:w-\[172px\] { width: 172px; }
}
  @media (min-width: 64rem) {
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
}
  @media (min-width: 64rem) {
  .lg\:grid-cols-\[1\.4fr_repeat\(3\,1fr\)\] { grid-template-columns: 1.4fr repeat(3, 1fr); }
}
  @media (min-width: 64rem) {
  .lg\:grid-cols-\[1\.4fr_repeat\(4\,1fr\)\] { grid-template-columns: 1.4fr repeat(4, 1fr); }
}
  @media (min-width: 64rem) {
  .lg\:grid-cols-\[minmax\(0\,1fr\)_350px\] { grid-template-columns: minmax(0px, 1fr) 350px; }
}
  @media (min-width: 64rem) {
  .lg\:overflow-y-auto { overflow-y: auto; }
}
  @media (min-width: 64rem) {
  .lg\:px-6 { padding-inline: calc(var(--spacing) * 6); }
}
  @media (min-width: 64rem) {
  .lg\:px-10 { padding-inline: calc(var(--spacing) * 10); }
}
  @media (min-width: 64rem) {
  .lg\:py-8 { padding-block: calc(var(--spacing) * 8); }
}
  @media (min-width: 80rem) {
  .xl\:order-none { order: 0; }
}
  @media (min-width: 80rem) {
  .xl\:ml-0 { margin-left: 0px; }
}
  @media (min-width: 80rem) {
  .xl\:w-auto { width: auto; }
}
  @media (min-width: 80rem) {
  .xl\:min-w-\[280px\] { min-width: 280px; }
}
  @media (min-width: 80rem) {
  .xl\:flex-1 { flex: 1 1 0%; }
}
  @media (min-width: 80rem) {
  .xl\:basis-auto { flex-basis: auto; }
}
  @media (min-width: 80rem) {
  .xl\:grid-cols-\[minmax\(0\,1fr\)_360px\] { grid-template-columns: minmax(0px, 1fr) 360px; }
}
  @media not all {
  .dark\:bg-black { background-color: var(--color-black); }
}
  @media not all {
  .dark\:bg-zinc-900 { background-color: var(--color-zinc-900); }
}
  @media not all {
  .dark\:text-zinc-50 { color: var(--color-zinc-50); }
}
  @media print {
  .print\:block { display: block; }
}
  @media print {
  .print\:hidden { display: none; }
}
  .\[\&_input\]\:min-h-12 input { min-height: calc(var(--spacing) * 12); }
  .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker { display: none; }
}
.font-mono { font-variant-numeric: tabular-nums; }
@keyframes badge-pop { 
  0% { opacity: 0; transform: scale(0.6); }
  60% { opacity: 1; transform: scale(1.08); }
  100% { transform: scale(1); }
}
@keyframes dialog-dim-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes dialog-dim-out { 
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes dialog-pop-in { 
  0% { opacity: 0; transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes dialog-pop-out { 
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.95); }
}
@keyframes icon-float { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}
@keyframes fillbar-grow { 
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-sans); letter-spacing: -0.005em; word-break: keep-all; overflow-wrap: break-word; text-wrap: pretty; }
input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { text-align: left; appearance: none; width: 100%; min-width: 0px; min-height: 48px; line-height: 1.5; display: block; }
input[type="date"]::-webkit-date-and-time-value { text-align: left; min-height: 1.5em; margin: 0px; }
input[type="time"]::-webkit-date-and-time-value { text-align: left; min-height: 1.5em; margin: 0px; }
:lang(zh), :lang(ja) { word-break: normal !important; }
@media (max-width: 767px) {
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { display: none; }
}
::selection { background: var(--color-action-soft); color: var(--color-text); }
@keyframes stamp-check { 
  0% { transform: scale(1.4); }
  100% { transform: scale(1); }
}
.stamp-check-anim { animation: 0.22s ease-out 0s 1 normal none running stamp-check; }
@media (prefers-reduced-motion: reduce) {
  .stamp-check-anim { animation: auto ease 0s 1 normal none running none; }
}
@keyframes tab-loading-show { 
  0% { visibility: hidden; }
  100% { visibility: visible; }
}
.tab-loading { animation: 0s ease 0.2s 1 normal both running tab-loading-show; }
.switch { flex-shrink: 0; width: 44px; height: 26px; display: inline-flex; position: relative; }
.switch > input { z-index: 1; opacity: 0; cursor: pointer; margin: 0px; position: absolute; inset: 0px; }
.switch > span { background: var(--color-text-faint); border-radius: 9999px; width: 100%; height: 100%; transition: background-color 0.15s ease-out; }
.switch > span::after { content: ""; background: rgb(255, 255, 255); border-radius: 9999px; width: 22px; height: 22px; transition: transform 0.32s cubic-bezier(0.3, 1.3, 0.5, 1); position: absolute; top: 2px; left: 2px; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px; }
.switch > input:checked + span { background: var(--color-action); }
.switch > input:checked + span::after { transform: translateX(18px); }
.switch > input:focus-visible + span { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.bg-emphasis .switch > input:focus-visible + span, .bg-emphasis-raised .switch > input:focus-visible + span { outline-color: var(--color-on-emphasis); }
.switch > input:disabled { cursor: not-allowed; }
.switch > input:disabled + span { opacity: 0.5; }
@media (prefers-reduced-motion: reduce) {
  .switch > span, .switch > span::after { transition: none; }
}
.check-circle { border: 2px solid var(--color-text-faint); color: rgba(0, 0, 0, 0); border-radius: 9999px; flex-shrink: 0; justify-content: center; align-items: center; width: 24px; height: 24px; margin-top: 1px; transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out; display: inline-flex; }
.check-circle.is-on { border-color: var(--color-action); background: var(--color-action); color: var(--color-on-action); }
.check-circle.is-busy { border-style: dashed; border-color: var(--color-action); animation: 1s linear 0s infinite normal none running check-wait; }
.check-input:focus-visible + .check-circle { outline: 2px solid var(--color-focus); outline-offset: 2px; }
@keyframes check-wait { 
  100% { transform: rotate(360deg); }
}
@keyframes check-pop { 
  0% { transform: scale(0.55); }
  100% { transform: scale(1); }
}
.check-pop { animation: check-pop .36s var(--ease-spring); }
@media (prefers-reduced-motion: reduce) {
  .check-circle.is-busy, .check-pop { animation: auto ease 0s 1 normal none running none; }
}
.record-composer { margin: auto auto var(--composer-bottom, 0px); width: 100%; max-width: 560px; height: min(820px, var(--composer-height, 92dvh)); max-height: calc(100dvh - env(safe-area-inset-top) - 12px); color: var(--color-text); background: var(--color-surface); border: 0px; border-radius: 24px 24px 0px 0px; padding: 0px; position: fixed; inset: 0px; overflow: hidden; }
.record-composer[open] { animation: composer-in .28s var(--ease-composer) both; flex-direction: column; display: flex; }
.record-composer::backdrop { background: var(--color-composer-scrim); animation: 0.22s ease-out 0s 1 normal both running composer-dim-in; }
.record-composer[data-closing] { pointer-events: none; animation: 0.18s ease-in 0s 1 normal both running composer-out; }
.record-composer[data-closing]::backdrop { animation: 0.18s ease-in 0s 1 normal both running composer-dim-out; }
.record-composer__handle { flex: 0 0 auto; justify-content: center; padding: 10px 0px 2px; display: flex; }
.record-composer__handle span { background: var(--color-border-strong); border-radius: 9999px; width: 32px; height: 4px; }
.record-composer__header { flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 20px 18px; display: flex; }
.record-composer__form, .record-composer__fields { flex-direction: column; flex: 1 1 0%; min-width: 0px; min-height: 0px; display: flex; }
.record-composer__body { overscroll-behavior: contain; flex: 1 1 0%; min-height: 0px; padding: 0px 20px 24px; scroll-padding-block: 20px; overflow-y: auto; }
.record-composer__footer { border-top: 1px solid var(--color-border); padding: 12px 20px max(16px, env(safe-area-inset-bottom)); background: var(--color-surface); flex: 0 0 auto; }
.record-composer input, .record-composer textarea { font-size: 16px; }
.record-composer__discard { border-top: 1px solid var(--color-border); padding: 24px 20px max(24px, env(safe-area-inset-bottom)); background: var(--color-surface); box-shadow: 0 -24px 80px var(--color-composer-scrim); animation: composer-in .22s var(--ease-composer) both; border-radius: 24px 24px 0px 0px; position: absolute; inset: auto 0px 0px; }
.record-composer:has(.record-composer__discard) .record-composer__form { opacity: 0.35; }
.portfolio-photo-picker { cursor: pointer; background: var(--color-surface-sunken); border-radius: 16px; justify-content: center; align-items: center; width: 100%; min-height: 244px; display: flex; position: relative; overflow: hidden; }
.portfolio-photo-picker:focus-within { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.portfolio-photo-picker--filled { height: clamp(200px, 36dvh, 320px); }
.portfolio-photo-picker__image { object-fit: contain; width: 100%; height: 100%; animation: portfolio-photo-in .32s var(--ease-composer) both; display: block; }
.portfolio-photo-picker__change { border: 1px solid var(--color-border); background: var(--color-surface); min-height: 36px; color: var(--color-text); font-size: var(--text-label); border-radius: 9999px; align-items: center; gap: 6px; padding: 6px 12px; font-weight: 600; display: inline-flex; position: absolute; bottom: 12px; right: 12px; }
.portfolio-record-fields { animation: portfolio-fields-in .24s var(--ease-composer) both; }
.portfolio-saved { animation: portfolio-fields-in .28s var(--ease-composer) both; }
@keyframes composer-in { 
  0% { opacity: 0; transform: translateY(44px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes composer-out { 
  0% { opacity: 1; transform: translateY(0px); }
  100% { opacity: 0; transform: translateY(28px); }
}
@keyframes composer-dim-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes composer-dim-out { 
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes portfolio-photo-in { 
  0% { opacity: 0; transform: scale(0.97); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes portfolio-fields-in { 
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@media (min-width: 640px) {
  .record-composer { height: min(780px, var(--composer-height, 90dvh)); border-radius: 24px; max-height: calc(100dvh - 48px); margin: auto; }
  .record-composer__handle { visibility: hidden; padding-top: 4px; }
  .record-composer__header { padding: 16px 28px 20px; }
  .record-composer__body, .record-composer__footer { padding-inline: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .record-composer[open], .record-composer[data-closing], .record-composer::backdrop, .record-composer[data-closing]::backdrop, .record-composer__discard, .portfolio-photo-picker__image, .portfolio-record-fields, .portfolio-saved { animation: auto ease 0s 1 normal none running none; }
}
.onboarding-preview { border: 1px solid var(--color-border); background: var(--color-surface); box-shadow: var(--shadow-soft); border-radius: 20px; padding: 20px; }
.onboarding-preview__avatar { background: var(--color-action-soft); width: 56px; height: 56px; color: var(--color-action-strong); border-radius: 18px; flex: 0 0 auto; justify-content: center; align-items: center; display: flex; }
.onboarding-preview__details { border-top: 1px solid var(--color-border); color: var(--color-text-muted); font-size: var(--text-label); flex-wrap: wrap; gap: 8px 14px; margin-top: 20px; padding-top: 16px; display: flex; }
.onboarding-preview__details span { align-items: center; gap: 5px; display: inline-flex; }
.onboarding-choice { border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-surface); text-align: left; align-items: center; gap: 12px; width: 100%; min-height: 96px; padding: 16px; transition: border-color 0.12s, background-color 0.12s, transform 0.12s; display: flex; }
.onboarding-choice:hover { border-color: var(--color-border-strong); background: var(--color-surface-sunken); }
.onboarding-choice:active { border-color: var(--color-action); transform: scale(0.98); }
.onboarding-choice__icon { background: var(--color-surface-sunken); width: 44px; height: 44px; color: var(--color-text); border-radius: 14px; flex: 0 0 auto; justify-content: center; align-items: center; display: flex; }
.onboarding-choice__number { color: var(--color-text-faint); font-size: var(--text-label); font-variant-numeric: tabular-nums; align-self: flex-start; }
.onboarding-complete { background: var(--color-action-soft); width: 88px; height: 88px; color: var(--color-action-strong); animation: onboarding-complete .42s var(--ease-composer) both; border-radius: 50%; justify-content: center; align-items: center; margin: 12px auto 28px; display: flex; }
.signup-step { width: 6px; height: 6px; transition: width .2s var(--ease-soft), background-color .2s; border-radius: 9999px; }
.signup-step[aria-current="step"] { width: 22px; }
::view-transition { pointer-events: none; }
::view-transition-old(root) { display: none; }
::view-transition-new(root) { animation: auto ease 0s 1 normal none running none; }
::view-transition-group(*.screen-forward) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.screen-back) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.tab-next) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.tab-back) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.step-next) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.step-back) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-group(*.screen-fade) { animation-duration: 0.3s; animation-timing-function: var(--ease-composer); }
::view-transition-old(*.screen-forward) { --screen-offset: -24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-old(*.step-next) { --screen-offset: -24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-old(*.tab-next) { --screen-offset: -24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-new(*.screen-forward) { --screen-offset: 32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-new(*.step-next) { --screen-offset: 32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-new(*.tab-next) { --screen-offset: 32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-old(*.screen-back) { --screen-offset: 24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-old(*.step-back) { --screen-offset: 24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-old(*.tab-back) { --screen-offset: 24px; animation: 0.12s ease-in 0s 1 normal both running screen-leave; }
::view-transition-new(*.screen-back) { --screen-offset: -32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-new(*.step-back) { --screen-offset: -32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-new(*.tab-back) { --screen-offset: -32px; animation: screen-arrive .3s var(--ease-composer) both; }
::view-transition-new(*.tab-next) { animation-duration: 0.26s; }
::view-transition-new(*.tab-back) { animation-duration: 0.26s; }
::view-transition-new(*.step-next) { animation-duration: 0.32s; }
::view-transition-new(*.step-back) { animation-duration: 0.32s; }
::view-transition-old(*.screen-fade) { animation: 0.12s ease-out 0s 1 normal both running screen-fade-out; }
::view-transition-new(*.screen-fade) { animation: 0.2s ease-out 0s 1 normal both running screen-fade-in; }
::view-transition-group(*.onboarding-identity) { animation-duration: 0.32s; animation-timing-function: var(--ease-composer); }
@keyframes screen-arrive { 
  0% { opacity: 0; transform: translateX(var(--screen-offset)); }
  25% { opacity: 0; }
  100% { opacity: 1; transform: translateX(0px); }
}
@keyframes screen-leave { 
  0% { opacity: 1; transform: translateX(0px); }
  100% { opacity: 0; transform: translateX(var(--screen-offset)); }
}
@keyframes screen-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes screen-fade-out { 
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes onboarding-complete { 
  0% { opacity: 0; transform: scale(0.85); }
  100% { opacity: 1; transform: scale(1); }
}
@media (max-width: 359px) {
  .onboarding-choice { gap: 10px; padding: 14px; }
  .onboarding-choice__number { display: none; }
  .onboarding-preview { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .onboarding-choice, .signup-step { transition: none; }
  .onboarding-choice:active { transform: none; }
  .onboarding-complete { animation: auto ease 0s 1 normal none running none; }
  ::view-transition-group(*) { animation-duration: 0s !important; animation-delay: 0s !important; }
  ::view-transition-old(*) { animation-duration: 0s !important; animation-delay: 0s !important; }
  ::view-transition-new(*) { animation-duration: 0s !important; animation-delay: 0s !important; }
}
.onboarding-tour { background: var(--color-surface); min-height: 100dvh; color: var(--color-text); }
.onboarding-tour__inner { max-width: 448px; min-height: 100dvh; padding: max(16px, env(safe-area-inset-top)) 20px 0; flex-direction: column; margin-inline: auto; display: flex; }
.onboarding-tour__header { flex: 0 0 auto; justify-content: space-between; align-items: center; min-height: 44px; display: flex; }
.onboarding-tour__scene { flex: 1 1 0%; padding-top: 14px; }
.onboarding-tour__eyebrow { color: var(--color-text-muted); align-items: center; gap: 8px; font-size: 12px; font-weight: 600; display: flex; }
.onboarding-tour__eyebrow > span:first-child { color: var(--color-action-strong); }
.onboarding-tour__title { color: var(--color-text); letter-spacing: -0.035em; white-space: pre-line; text-wrap-style: balance; outline: none; margin-top: 10px; font-size: 30px; font-weight: 750; line-height: 1.22; }
.onboarding-tour__description { color: var(--color-text-muted); white-space: pre-line; word-break: keep-all; margin-top: 12px; font-size: 15px; line-height: 1.55; }
.onboarding-tour__stage { background: var(--color-bg); border-radius: 30px; justify-content: center; margin-top: 20px; padding: 14px; display: flex; }
.onboarding-tour__disclosure { color: var(--color-text-muted); text-align: center; margin-top: 10px; font-size: 11px; line-height: 1.5; }
.onboarding-tour__footer { z-index: 2; padding: 5px 20px max(16px, env(safe-area-inset-bottom)); background: var(--color-surface); margin: auto -20px 0px; position: sticky; bottom: 0px; }
.tour-dot { border-radius: 20px; justify-content: center; align-items: center; min-width: 44px; height: 44px; display: flex; }
.tour-dot > span { background: var(--color-border-strong); width: 6px; height: 6px; transition: width .2s var(--ease-soft), background-color .2s; border-radius: 10px; }
.tour-dot[aria-current="step"] > span { background: var(--color-action); width: 22px; }
.tour-phone { border: 1px solid var(--color-border-strong); background: var(--color-bg); width: 100%; max-width: 310px; height: 408px; box-shadow: var(--shadow-tour); border-radius: 24px; flex-direction: column; display: flex; overflow: hidden; }
.tour-phone__topbar { min-height: 42px; color: var(--color-text); flex: 0 0 auto; justify-content: space-between; align-items: center; padding: 10px 16px 4px; font-size: 12px; font-weight: 700; display: flex; }
.tour-phone__content { overscroll-behavior: contain; scrollbar-width: none; flex: 1 1 0%; min-height: 0px; padding: 8px 14px 12px; overflow-y: auto; }
.tour-phone__title { letter-spacing: -0.025em; margin-bottom: 12px; font-size: 17px; font-weight: 750; line-height: 1.4; }
.tour-phone__tabs { border-top: 1px solid var(--color-border); background: var(--color-surface); flex: 0 0 auto; align-items: center; min-height: 48px; display: flex; }
.tour-phone__tabs > span { color: var(--color-text-faint); flex-direction: column; flex: 1 1 0%; align-items: center; gap: 3px; font-size: 9px; display: flex; }
.tour-phone__tabs > span[data-active] { color: var(--color-text); font-weight: 700; }
.tour-photo-demo__photo { background: var(--color-surface-sunken); border-radius: 14px; height: 166px; position: relative; overflow: hidden; }
.tour-photo-demo__photo > img { object-fit: cover; width: 100%; height: 100%; }
.tour-photo-demo__photo > span { background: var(--color-surface); color: var(--color-text); border-radius: 10px; padding: 3px 8px; font-size: 11px; font-weight: 600; position: absolute; bottom: 10px; left: 10px; }
.tour-photo-demo__memo { background: var(--color-surface); color: var(--color-text-muted); border-radius: 10px; margin-top: 8px; padding: 8px; font-size: 11px; }
.tour-photo-demo--saved { grid-template-columns: 1fr 1fr; align-content: start; gap: 9px; min-height: 170px; display: grid; }
.tour-photo-demo--saved .tour-photo-demo__photo { height: 132px; }
.tour-photo-demo__next { border: 1px dashed var(--color-border-strong); height: 132px; color: var(--color-text-muted); text-align: center; border-radius: 14px; flex-direction: column; justify-content: center; align-items: center; gap: 8px; font-size: 11px; line-height: 1.5; display: flex; }
.tour-demo-action { background: var(--color-action); width: 100%; min-height: 44px; color: var(--color-on-action); border-radius: 12px; justify-content: center; align-items: center; gap: 6px; margin-top: 12px; font-size: 13px; font-weight: 700; display: flex; }
.tour-demo-success { min-height: 35px; color: var(--color-action-strong); align-items: center; gap: 5px; font-size: 11px; display: flex; }
.tour-demo-label { color: var(--color-text-muted); font-size: 11px; font-weight: 500; }
.tour-roadmap, .tour-missions { background: var(--color-surface); border-radius: 14px; padding: 14px 12px; }
.tour-roadmap > h3 { margin-top: 4px; font-size: 15px; font-weight: 750; }
.tour-roadmap__phases { grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 12px; display: grid; }
.tour-roadmap__phases > li { background: var(--color-surface-sunken); color: var(--color-text-muted); text-align: center; border-radius: 8px; padding: 7px 2px; font-size: 9px; line-height: 1.6; }
.tour-roadmap__phases > li strong { font-size: 11px; font-weight: 600; }
.tour-roadmap__phases > li[data-current] { background: var(--color-action-soft); color: var(--color-action-strong); }
.tour-missions { margin-top: 10px; }
.tour-missions h3 { font-size: 13px; font-weight: 700; }
.tour-demo-progress { background: var(--color-surface-sunken); border-radius: 4px; height: 4px; margin-top: 10px; overflow: hidden; }
.tour-demo-progress > span { border-radius: inherit; background: var(--color-action); height: 100%; transition: width .28s var(--ease-composer); display: block; }
.tour-mission { width: 100%; min-height: 44px; color: var(--color-text); text-align: left; align-items: center; gap: 8px; font-size: 11px; display: flex; }
.tour-mission--quiet { border-top: 1px solid var(--color-border); color: var(--color-text-muted); }
.tour-mission__check { border: 1px solid var(--color-border-strong); border-radius: 50%; flex: 0 0 auto; justify-content: center; align-items: center; width: 20px; height: 20px; display: flex; }
.tour-mission__check[data-done] { border-color: var(--color-action); background: var(--color-action); color: var(--color-on-action); }
.tour-mission__photo { object-fit: cover; border-radius: 6px; flex: 0 0 auto; width: 28px; height: 28px; }
.tour-demo-hint { color: var(--color-text-muted); text-align: center; margin-top: 10px; font-size: 10px; line-height: 1.5; }
.tour-content-topic { color: var(--color-text-muted); align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; display: flex; }
.tour-content-topic > svg { color: var(--color-action-strong); }
.tour-content-topic > strong { color: var(--color-text); }
.tour-phone--sns [role="tablist"] > button { min-height: 44px; font-size: 12px; }
.tour-content-result { background: var(--color-surface); border-radius: 12px; min-height: 195px; margin-top: 10px; overflow: hidden; }
.tour-hook { height: 195px; position: relative; overflow: hidden; }
.tour-hook > img { object-fit: cover; width: 100%; height: 100%; }
.tour-hook > div { background: linear-gradient(transparent, var(--color-emphasis)); color: var(--color-on-emphasis); flex-direction: column; justify-content: flex-end; gap: 7px; padding: 16px; display: flex; position: absolute; inset: 0px; }
.tour-hook span { font-size: 10px; }
.tour-hook strong { white-space: pre-line; font-size: 24px; font-weight: 750; line-height: 1.2; }
.tour-shot-list { padding: 4px 12px; }
.tour-shot-list > li { align-items: center; gap: 10px; min-height: 62px; display: flex; }
.tour-shot-list > li + li { border-top: 1px solid var(--color-border); }
.tour-shot-list > li > span { color: var(--color-action-strong); font-size: 15px; font-weight: 700; }
.tour-shot-list strong { font-size: 12px; font-weight: 700; }
.tour-shot-list p { color: var(--color-text-muted); margin-top: 2px; font-size: 10px; }
.tour-caption { padding: 16px 14px; font-size: 12px; line-height: 1.65; }
.tour-caption p { margin-block: 12px; }
.tour-caption > span:last-child { color: var(--color-text-muted); font-size: 11px; }
::view-transition-group(*.tour-photo-morph) { animation-duration: 0.36s; animation-timing-function: var(--ease-composer); }
@media (max-width: 359px) {
  .onboarding-tour__title { font-size: 27px; }
  .onboarding-tour__description { font-size: 14px; }
  .onboarding-tour__stage { padding: 10px; }
  .tour-phone__content { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .tour-dot > span, .tour-demo-progress > span { transition: none; }
}
.growth-heading { letter-spacing: -0.035em; color: var(--color-text); word-break: keep-all; font-size: 28px; font-weight: 750; line-height: 1.25; }
.growth-eyebrow { color: var(--color-text-muted); align-items: center; gap: 6px; font-size: 12px; font-weight: 550; display: inline-flex; }
.growth-welcome { margin-top: 28px; }
.growth-welcome__journey { background: var(--color-surface-sunken); border-radius: 20px; margin-block: 24px; padding: 24px; overflow: hidden; }
.growth-welcome__number { color: var(--color-text); letter-spacing: -0.07em; align-items: baseline; gap: 10px; font-size: 96px; font-weight: 750; line-height: 1; display: flex; }
.growth-welcome__number > span { letter-spacing: 0.1em; font-size: 11px; font-weight: 600; }
.growth-welcome__number > svg { align-self: center; margin-left: auto; }
.growth-welcome__journey > ol { grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 24px; display: grid; }
.growth-welcome__journey li > span { color: var(--color-text-muted); font-size: 11px; }
.growth-welcome__journey li > div { gap: 4px; margin-top: 8px; display: flex; }
.growth-welcome__journey li > div > span { border: 1px solid var(--color-border-strong); border-radius: 4px; flex: 1 1 0%; height: 25px; }
.growth-welcome__journey li > div > span[data-filled] { border-color: var(--color-text); background: var(--color-text); }
.growth-welcome__journey > p { color: var(--color-text-muted); margin-top: 18px; font-size: 12px; }
.growth-explainer { border-top: 1px solid var(--color-border); margin-top: 28px; }
.growth-explainer > div { align-items: center; gap: 14px; padding-block: 18px; display: flex; }
.growth-explainer > div + div { border-top: 1px solid var(--color-border); }
.growth-explainer > div > span { background: var(--color-surface-sunken); width: 40px; height: 40px; color: var(--color-text); border-radius: 12px; flex: 0 0 auto; place-items: center; display: grid; }
.growth-explainer h3 { color: var(--color-text); font-size: 15px; font-weight: 650; }
.growth-explainer p { color: var(--color-text-muted); margin-top: 3px; font-size: 12px; }
.growth-steps { grid-template-columns: repeat(3, 1fr); gap: 8px; margin-block: 16px 28px; display: grid; }
.growth-steps > li { color: var(--color-text-muted); font-size: 11px; }
.growth-steps > li > span { background: var(--color-border); border-radius: 3px; height: 3px; margin-bottom: 8px; display: block; }
.growth-steps > li[aria-current] { color: var(--color-text); font-weight: 650; }
.growth-steps > li[aria-current] > span, .growth-steps > li[data-complete] > span { background: var(--color-text); }
.growth-diagnosis__form { flex-direction: column; min-height: 540px; display: flex; }
.growth-choice { background: var(--color-surface-sunken); width: 100%; min-height: 82px; color: var(--color-text); text-align: left; border: 1px solid rgba(0, 0, 0, 0); border-radius: 12px; align-items: center; gap: 12px; padding: 16px; transition: border-color 0.12s, background 0.12s; display: flex; }
.growth-choice[aria-pressed="true"] { border-color: var(--color-text); background: var(--color-surface); }
.growth-choice:active { transform: scale(0.99); }
.growth-choice strong { font-size: 15px; font-weight: 650; line-height: 1.4; display: block; }
.growth-choice small { color: var(--color-text-muted); margin-top: 4px; font-size: 12px; line-height: 1.5; display: block; }
.growth-choice__number { width: 24px; color: var(--color-text-muted); font-size: 16px; font-weight: 500; }
.growth-choice__check { border: 1px solid var(--color-border-strong); border-radius: 50%; flex: 0 0 auto; place-items: center; width: 22px; height: 22px; display: grid; }
.growth-choice[aria-pressed="true"] .growth-choice__check { color: var(--color-on-emphasis); background: var(--color-text); border-color: var(--color-text); }
.growth-intention { background: var(--color-surface-sunken); border-radius: var(--radius-xl); margin-top: 24px; padding: 20px; }
.growth-intention > div:last-child > span + span::before { content: "·"; margin-right: 8px; }
.growth-diagnosis__footer { margin-top: auto; padding-top: 28px; }
.growth-plan { overflow: hidden; }
.growth-phases { margin-top: 20px; }
.growth-phases > li { gap: 14px; padding-bottom: 24px; display: flex; position: relative; }
.growth-phases > li:last-child { padding-bottom: 0px; }
.growth-phases > li:not(:last-child)::before { content: ""; background: var(--color-border-strong); width: 1px; position: absolute; top: 34px; bottom: 5px; left: 16px; }
.growth-phases__marker { background: var(--color-surface-sunken); width: 33px; height: 33px; color: var(--color-text-muted); border-radius: 50%; flex: 0 0 auto; place-items: center; font-size: 11px; font-weight: 600; display: grid; }
.growth-phases > li[data-current] .growth-phases__marker { background: var(--color-text); color: var(--color-on-emphasis); }
.growth-goal-banner { border-radius: var(--radius-xl); background: var(--color-surface-sunken); align-items: flex-start; gap: 12px; padding: 20px; display: flex; }
.growth-goal-banner > svg { flex: 0 0 auto; margin-top: 3px; }
.growth-week-heading { justify-content: space-between; align-items: center; gap: 12px; min-height: 120px; padding-block: 6px 20px; display: flex; }
.growth-week-heading h2 { letter-spacing: -0.03em; color: var(--color-text); margin-top: 6px; font-size: 24px; font-weight: 750; line-height: 1.2; }
.growth-week-ring { background: conic-gradient(var(--color-action) var(--growth-progress), var(--color-border-strong) 0); border-radius: 50%; flex: 0 0 auto; width: 80px; height: 80px; padding: 4px; }
.growth-week-ring > span { border-radius: inherit; background: var(--color-surface); flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; display: flex; }
.growth-week-ring strong { color: var(--color-text); font-size: 28px; font-weight: 750; line-height: 1.1; }
.growth-week-ring small { color: var(--color-text-muted); font-size: 14px; font-weight: 500; line-height: 1; }
.growth-week-ring__fraction { font-variant-numeric: tabular-nums; align-items: baseline; gap: 2px; display: inline-flex; }
.growth-week-missions { margin-top: 18px; }
.growth-mission { border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-surface); padding: 18px 16px; }
.growth-mission[data-done] { background: var(--color-surface-sunken); border-color: rgba(0, 0, 0, 0); }
.growth-record-mission { background: var(--color-surface-sunken); border-radius: 12px; padding: 18px; }
@media (max-width: 359px) {
  .growth-heading { font-size: 25px; }
  .growth-choice { gap: 8px; padding: 14px 12px; }
  .growth-choice small { font-size: 11px; }
  .growth-week-ring { width: 74px; height: 74px; }
  .growth-week-heading h2 { font-size: 22px; }
  .growth-week-heading [role="status"] { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-choice { transition: none; }
}
.growth-diagnosis__footer { bottom: calc(4rem + env(safe-area-inset-bottom)); z-index: 1; background: var(--color-bg); margin-top: 20px; padding-block: 16px 12px; position: sticky; }
.growth-week-navigation { border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--card-shadow); padding: 12px 16px 0px; }
.growth-week-navigation__row { grid-template-columns: 44px minmax(0px, 1fr) 44px; align-items: center; gap: 8px; display: grid; }
.growth-week-arrow { background: var(--color-surface-sunken); width: 44px; height: 44px; color: var(--color-text); border-radius: 50%; flex: 0 0 auto; place-items: center; display: grid; }
.growth-week-arrow:disabled { opacity: 0.3; }
.growth-week-select { min-width: 0px; min-height: 76px; color: var(--color-text); border-radius: 8px; flex-direction: column; justify-content: center; align-items: center; gap: 5px; display: flex; }
.growth-week-select > span:first-child { align-items: center; gap: 7px; display: flex; }
.growth-week-select strong { letter-spacing: -0.03em; font-size: 24px; font-weight: 750; line-height: 1.3; }
.growth-week-select__dates { color: var(--color-text-muted); font-variant-numeric: tabular-nums; text-align: center; font-size: 12px; line-height: 1.5; }
.growth-week-navigation__footer { border-top: 1px solid var(--color-border); min-height: 45px; color: var(--color-text-muted); justify-content: space-between; align-items: center; gap: 10px; margin-top: 9px; font-size: 12px; display: flex; }
.growth-week-navigation__footer > button { min-height: 44px; color: var(--color-text); font-weight: 600; }
.growth-current-week { color: var(--color-action-strong); align-items: center; gap: 5px; font-size: 12px; font-weight: 600; display: inline-flex; }
.growth-current-week > span { background: currentcolor; border-radius: 50%; width: 5px; height: 5px; }
.growth-week-navigation + .growth-week-heading { padding-top: 24px; }
.growth-week-picker { background: var(--color-surface); width: 100%; max-width: 560px; height: min(720px, 100dvh - 24px); max-height: none; color: var(--color-text); border: 0px; border-radius: 24px 24px 0px 0px; margin: 0px auto; padding: 0px; position: fixed; inset: auto 0px 0px; overflow: hidden; }
.growth-week-picker[open] { animation: composer-in .22s var(--ease-composer) both; flex-direction: column; display: flex; }
.growth-week-picker::backdrop { background: var(--color-composer-scrim); }
.growth-week-picker__handle { flex: 0 0 auto; justify-content: center; padding: 10px 0px 2px; display: flex; }
.growth-week-picker__handle > span { background: var(--color-border-strong); border-radius: 4px; width: 32px; height: 4px; }
.growth-week-picker__header { flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 20px 22px; display: flex; }
.growth-week-picker__body { overscroll-behavior: contain; min-height: 0px; padding: 0 20px calc(24px + env(safe-area-inset-bottom)); scroll-padding-block: 16px; overflow-y: auto; }
.growth-week-group + .growth-week-group { border-top: 1px solid var(--color-border); margin-top: 24px; padding-top: 24px; }
.growth-week-group__heading { align-items: flex-start; gap: 10px; margin-bottom: 12px; display: flex; }
.growth-week-group__heading > span { background: var(--color-surface-sunken); width: 30px; height: 30px; color: var(--color-text-muted); border-radius: 50%; flex: 0 0 auto; place-items: center; font-size: 11px; display: grid; }
.growth-week-group__heading p { color: var(--color-text-muted); font-size: 11px; }
.growth-week-group__heading h3 { color: var(--color-text); margin-top: 2px; font-size: 14px; font-weight: 650; line-height: 1.5; }
.growth-week-group__options { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 7px; display: grid; }
.growth-week-option { background: var(--color-surface-sunken); min-height: 106px; color: var(--color-text); border: 1px solid rgba(0, 0, 0, 0); border-radius: 12px; flex-direction: column; justify-content: center; align-items: center; padding: 8px 2px; display: flex; }
.growth-week-option[aria-pressed="true"] { border-color: var(--color-text); background: var(--color-surface); }
.growth-week-option__current { min-height: 15px; color: var(--color-action-strong); align-items: center; gap: 3px; margin-bottom: 5px; font-size: 9px; font-weight: 650; line-height: 1.2; display: flex; }
.growth-week-option__current > span { background: currentcolor; border-radius: 50%; width: 3px; height: 3px; }
.growth-week-option strong { font-size: 15px; font-weight: 650; line-height: 1.3; }
.growth-week-option > time { color: var(--color-text-muted); font-variant-numeric: tabular-nums; margin-top: 3px; font-size: 11px; line-height: 1.5; }
.growth-week-option__progress { color: var(--color-text-muted); margin-top: 7px; font-size: 10px; line-height: 1.3; }
@media (min-width: 640px) {
  .growth-week-picker { border-radius: 24px; max-width: 480px; height: min(720px, 100dvh - 64px); margin: auto; inset: 0px; }
}
@media (max-width: 359px) {
  .growth-week-navigation { padding-inline: 12px; }
  .growth-week-navigation__row { gap: 4px; }
  .growth-week-select strong { font-size: 22px; }
  .growth-week-select__dates { font-size: 11px; }
  .growth-week-picker__body { padding-inline: 16px; }
  .growth-week-option strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-week-picker[open] { animation: auto ease 0s 1 normal none running none; }
}
.growth-mission__meta { flex-wrap: wrap; align-items: center; gap: 6px; min-height: 22px; margin-bottom: 12px; display: flex; }
.growth-mission__meta > span:first-child { background: var(--color-surface-sunken); color: var(--color-text-muted); border-radius: 6px; padding: 3px 8px; font-size: 11px; font-weight: 500; line-height: 1.4; }
.growth-mission__work { margin-top: 16px; }
.growth-mission-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; min-width: 0px; display: grid; }
.growth-mission-action { background: var(--color-surface-sunken); min-height: 44px; color: var(--color-text); border-radius: 10px; justify-content: center; align-items: center; gap: 6px; padding: 8px; font-size: 13px; font-weight: 600; line-height: 1.4; transition: background 0.12s, transform 0.12s; display: flex; }
.growth-mission-action > svg { flex: 0 0 auto; }
.growth-mission-action:hover { background: var(--color-border); }
.growth-mission-action:active { transform: scale(0.98); }
.growth-mission-action:disabled { opacity: 0.4; }
.growth-mission-photo-options { scroll-margin-block: 16px calc(5.5rem + env(safe-area-inset-bottom)); border: 1px solid var(--color-border); border-radius: 12px; margin-top: 12px; padding: 16px; }
.growth-mission-photo-method { background: var(--color-surface-sunken); min-height: 44px; color: var(--color-text); border-radius: 8px; justify-content: center; align-items: center; gap: 6px; padding: 8px 4px; font-size: 12px; font-weight: 600; display: flex; }
@media (prefers-reduced-motion: reduce) {
  .growth-mission-action { transition: none; }
}
.week-report-period { background: var(--color-surface-sunken); border-radius: 14px; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 4px; margin-top: 20px; padding: 4px; display: grid; }
.week-report-period a { min-height: 44px; color: var(--color-text-muted); border-radius: 10px; justify-content: center; align-items: center; font-size: 14px; font-weight: 600; display: flex; }
.week-report-period a[aria-current="page"] { color: var(--color-text); background: var(--color-surface); box-shadow: rgba(25, 25, 25, 0.06) 0px 1px 4px; }
.week-report-body { gap: 28px; margin-top: 20px; display: grid; }
.week-report-summary { padding: 20px; }
.week-report-score { font-variant-numeric: tabular-nums; align-items: baseline; gap: 3px; margin: 18px 0px 16px; display: flex; }
.week-report-score strong { letter-spacing: -2px; font-size: 56px; font-weight: 750; line-height: 1; }
.week-report-score > span { color: var(--color-text-muted); font-size: 26px; font-weight: 500; line-height: 1; }
.week-report-tally { border-top: 1px solid var(--color-border); grid-template-columns: repeat(2, minmax(0px, 1fr)); margin-top: 20px; padding-top: 16px; display: grid; }
.week-report-tally > div { justify-content: space-between; align-items: baseline; gap: 8px; display: flex; }
.week-report-tally > div:first-child { border-right: 1px solid var(--color-border); padding-right: 16px; }
.week-report-tally > div:last-child { padding-left: 16px; }
.week-report-tally dt { color: var(--color-text-muted); font-size: 13px; }
.week-report-tally dd { font-variant-numeric: tabular-nums; font-size: 20px; font-weight: 650; line-height: 1.3; }
.week-report-tally dd span { color: var(--color-text-muted); margin-left: 2px; font-size: 12px; font-weight: 400; }
.week-report-mission { align-items: flex-start; gap: 12px; padding: 17px 16px; display: flex; }
.week-report-mission__check { background: var(--color-surface-sunken); border-radius: 50%; flex: 0 0 auto; justify-content: center; align-items: center; width: 28px; height: 28px; margin-top: -2px; display: flex; }
.week-report-next { gap: 18px; margin-top: 20px; display: grid; }
.week-report-next li { align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.5; display: flex; }
.week-report-next li > span { font-variant-numeric: tabular-nums; color: var(--color-text-muted); flex: 0 0 auto; padding-top: 2px; font-size: 12px; font-weight: 600; }
.week-report-next li p { overflow-wrap: anywhere; }
.week-report-next__link { border-top: 1px solid var(--color-border); min-height: 44px; color: var(--color-text); justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px; padding-top: 10px; font-size: 14px; font-weight: 600; display: flex; }
.week-report-month { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; margin-top: 12px; display: grid; }
.week-report-month__count { font-variant-numeric: tabular-nums; align-items: baseline; gap: 3px; margin-top: 4px; font-size: 30px; font-weight: 700; line-height: 1.3; display: flex; }
.week-report-month__count > span { color: var(--color-text-muted); font-size: 13px; font-weight: 400; }
.week-report-staff { padding: 18px 16px; display: block; }
.week-report-staff:hover { background: var(--color-surface-sunken); }
.week-report-staff__details { border-top: 1px solid var(--color-border); grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; margin-top: 14px; padding-top: 12px; display: grid; }
.week-report-staff__details dt { color: var(--color-text-muted); font-size: 12px; }
.week-report-staff__details dd { font-variant-numeric: tabular-nums; margin-top: 4px; font-size: 15px; font-weight: 600; }
@media (max-width: 359px) {
  .week-report-summary { padding: 18px; }
  .week-report-tally > div:first-child { padding-right: 10px; }
  .week-report-tally > div:last-child { padding-left: 10px; }
  .week-report-mission { gap: 10px; padding: 16px 14px; }
}
.home-topic-composer { scroll-margin-top: 16px; }
.home-topic-form { border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--card-shadow); margin-top: 16px; padding: 20px; }
.home-topic-heading { letter-spacing: -0.5px; color: var(--color-text); font-size: 21px; font-weight: 750; line-height: 1.35; }
.home-topic-ideas { flex-wrap: wrap; gap: 4px 6px; margin-top: 8px; display: flex; }
.home-topic-ideas button { background: var(--color-surface-sunken); min-height: 44px; color: var(--color-text); border-radius: 10px; align-items: center; gap: 4px; padding: 6px 10px; font-size: 12px; font-weight: 500; display: inline-flex; }
.home-topic-ideas button:hover { background: var(--color-border); }
.home-topic-categories { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 12px 4px; margin-top: 6px; display: grid; }
.home-topic-categories button { border-radius: 12px; flex-direction: column; align-items: center; gap: 6px; min-height: 76px; padding: 4px 0px; display: flex; }
.home-topic-brief { background: var(--color-surface-sunken); border-radius: 12px; margin-top: 20px; padding: 6px 16px 16px; }
.home-topic-outputs { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px; margin-top: 14px; display: grid; }
.home-topic-outputs li { flex-direction: column; align-items: flex-start; min-width: 0px; display: flex; }
.home-topic-outputs svg { color: var(--color-text-muted); margin-bottom: 10px; }
.home-topic-outputs strong { color: var(--color-text); font-size: 13px; font-weight: 600; line-height: 1.5; }
.home-topic-outputs li > span { color: var(--color-text-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 4px; font-size: 12px; line-height: 1.5; }
.home-topic-options { border: 1px solid var(--color-border); border-radius: 12px; margin-top: 22px; overflow: hidden; }
.home-topic-options > li + li { border-top: 1px solid var(--color-border); }
@media (max-width: 359px) {
  .home-topic-form { padding: 18px 16px; }
  .home-topic-heading { font-size: 20px; }
  .home-topic-ideas button { padding-inline: 8px; }
  .home-topic-outputs { gap: 10px; }
  .home-topic-brief { padding-inline: 12px; }
}
.home-studio-title { letter-spacing: -1px; color: var(--color-text); margin-bottom: 20px; font-size: 28px; font-weight: 750; line-height: 1.25; }
.home-studio { grid-template-columns: minmax(0px, 1fr); gap: 28px; min-width: 0px; display: grid; }
.studio-stories { min-width: 0px; }
.studio-hero { background: var(--color-text); color: rgb(255, 255, 255); border-radius: 18px; padding: 22px 20px 18px; }
.studio-hero h2 { letter-spacing: -1px; font-size: 30px; font-weight: 750; line-height: 1.3; }
.studio-hero__frames { grid-template-columns: minmax(0px, 1fr) 12px minmax(0px, 1fr) 12px minmax(0px, 1fr); align-items: center; gap: 5px; margin-top: 18px; display: grid; }
.studio-hero__frames > div { min-width: 0px; }
.studio-hero__frames > svg { color: rgb(176, 176, 176); width: 12px; margin-top: -22px; }
.studio-hero__frames .studio-photo { aspect-ratio: 1 / 1.08; border-radius: 9px; }
.studio-hero__frames > div > span:last-child { color: rgb(208, 208, 208); margin-top: 7px; font-size: 11px; line-height: 16px; display: block; }
.studio-hero__start { background: var(--color-action); color: rgb(255, 255, 255); border-radius: 12px; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 54px; margin-top: 16px; padding: 12px 17px; font-size: 18px; font-weight: 700; display: flex; }
.studio-hero__start:hover { background: var(--color-action-strong); }
.studio-hero__start:focus-visible { outline-color: rgb(255, 255, 255); }
.studio-photo { background: rgb(229, 224, 217); width: 100%; min-width: 0px; height: 100%; display: block; position: relative; overflow: hidden; }
.studio-photo img { object-fit: cover; object-position: 50% 30%; }
.studio-photo__fallback { background: var(--color-surface-sunken); justify-content: center; align-items: center; width: 100%; height: 100%; display: flex; }
.studio-stories__heading { justify-content: space-between; align-items: center; gap: 8px; display: flex; }
.studio-stories__heading h2 { letter-spacing: -0.45px; font-size: 18px; font-weight: 700; line-height: 1.5; }
.studio-field { flex: 0 0 auto; position: relative; }
.studio-field select { appearance: none; background: var(--color-surface); max-width: 96px; min-height: 44px; color: var(--color-text); border-radius: 12px; padding: 10px 28px 10px 12px; font-size: 12px; font-weight: 600; }
.studio-field > svg { pointer-events: none; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }
.studio-story-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 10px; margin-top: 12px; display: grid; }
.studio-story { text-align: left; border-radius: 11px; flex-direction: column; justify-content: flex-start; align-items: stretch; min-width: 0px; display: flex; }
.studio-story__photo { aspect-ratio: 3 / 4; border-radius: 11px; flex: 0 0 auto; width: 100%; display: block; position: relative; overflow: hidden; }
.studio-story__photo .studio-photo img { transition: transform 0.26s; }
.studio-story:hover .studio-photo img { transform: scale(1.035); }
.studio-story__photo--close .studio-photo img { object-position: 64% 22%; transform: scale(1.3); }
.studio-story:hover .studio-story__photo--close .studio-photo img { transform: scale(1.33); }
.studio-story__number { color: rgb(255, 255, 255); background: rgba(25, 25, 25, 0.7); border-radius: 50%; justify-content: center; align-items: center; width: 22px; height: 22px; font-size: 10px; font-weight: 600; display: flex; position: absolute; top: 7px; left: 7px; }
.studio-story > strong { margin-top: 10px; font-size: 14px; font-weight: 700; line-height: 1.4; display: block; }
.studio-story__subject { min-height: 54px; min-block-size: 3lh; color: var(--color-text-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 5px; font-size: 12px; line-height: 1.5; display: block; }
.studio-image-note { color: var(--color-text-muted); margin-top: 13px; font-size: 11px; line-height: 1.5; }
.studio-return { min-height: 44px; color: var(--color-text-muted); align-items: center; gap: 4px; margin: -8px 0px 10px -5px; padding: 0px 5px; font-size: 14px; display: inline-flex; }
.studio-week { border-radius: var(--radius-xl); background: var(--color-surface); align-items: center; gap: 13px; min-height: 112px; padding: 18px 16px; display: flex; }
.studio-week > svg { flex: 0 0 auto; align-self: flex-start; margin-top: 4px; }
.studio-week__status { flex: 1 1 0%; min-width: 0px; }
.studio-week__status > span { display: block; }
.studio-week__count { font-variant-numeric: tabular-nums; margin-top: 3px; line-height: 1.15; }
.studio-week__count strong { color: var(--color-action-strong); font-size: 30px; font-weight: 750; }
.studio-week__count > span { font-size: 24px; font-weight: 650; }
.studio-week__empty { margin-top: 5px; font-size: 15px; font-weight: 650; line-height: 1.5; display: block; }
.studio-week__next { color: var(--color-text-muted); overflow-wrap: anywhere; margin-top: 5px; font-size: 12px; line-height: 1.5; }
.studio-week__link { border-left: 1px solid var(--color-border); flex: 0 0 auto; align-items: center; gap: 3px; padding-left: 12px; font-size: 12px; font-weight: 500; display: flex; }
.studio-recommendation-cover.home-idea-cover { background: var(--color-surface-sunken); grid-template-columns: minmax(0px, 1fr) 136px; min-height: 162px; padding: 0px; display: grid; overflow: hidden; }
.studio-recommendation-cover .home-idea-caption { align-self: center; max-width: none; padding: 16px; position: static; }
.studio-recommendation-photo { min-height: 162px; position: relative; }
.studio-recommendation-photo > span:last-child { color: rgb(255, 255, 255); background: rgba(25, 25, 25, 0.8); border-radius: 4px; padding: 3px 5px; font-size: 10px; position: absolute; bottom: 6px; right: 6px; }
@media (max-width: 359px) {
  .home-studio-title { font-size: 26px; }
  .studio-hero { padding: 20px 16px 16px; }
  .studio-hero h2 { font-size: 27px; }
  .studio-stories__heading h2 { font-size: 17px; }
  .studio-story-grid { gap: 8px; }
  .studio-story > strong { font-size: 13px; }
  .studio-week { gap: 9px; padding-inline: 13px; }
  .studio-week__link { padding-left: 9px; font-size: 11px; }
  .studio-recommendation-cover.home-idea-cover { grid-template-columns: minmax(0px, 1fr) 112px; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-story__photo .studio-photo img { transition: none; }
  .studio-story:hover .studio-photo img { transform: none; }
  .studio-story:hover .studio-story__photo--close .studio-photo img { transform: scale(1.3); }
}
.shooting-workspace-heading h1 { color: var(--color-text); letter-spacing: -0.8px; overflow-wrap: anywhere; word-break: keep-all; margin-top: 0px; font-size: 27px; font-weight: 750; line-height: 1.35; }
.shooting-workspace-heading > div > span { color: rgb(90, 98, 120); }
@supports (color: color-mix(in lab, red, red)) {
  .shooting-workspace-heading > div > span { color: color-mix(in srgb, var(--color-text-muted) 80%, var(--color-text)); }
}
.shooting-plan-section { margin-top: 24px; }
.shooting-plans { background: var(--color-surface); border-radius: 12px; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 4px; padding: 4px; display: grid; }
.shooting-plan-choice { min-width: 0px; min-height: 44px; color: var(--color-text-muted); border-radius: 9px; justify-content: center; align-items: center; gap: 8px; padding: 10px; display: flex; }
.shooting-plan-choice[aria-pressed="true"] { background: var(--color-text); color: var(--color-surface); }
.shooting-plan-choice strong { font-size: 14px; font-weight: 600; line-height: 1.5; }
.shooting-plan-choice > span { font-variant-numeric: tabular-nums; font-size: 12px; }
.shooting-plan-description { color: rgb(90, 98, 120); margin-top: 10px; }
@supports (color: color-mix(in lab, red, red)) {
  .shooting-plan-description { color: color-mix(in srgb, var(--color-text-muted) 80%, var(--color-text)); }
}
.shooting-plan-description { text-align: center; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }
.shooting-hook { margin-top: 25px; padding-inline: 2px; }
.shooting-hook > p { color: rgb(90, 98, 120); }
@supports (color: color-mix(in lab, red, red)) {
  .shooting-hook > p { color: color-mix(in srgb, var(--color-text-muted) 80%, var(--color-text)); }
}
.shooting-hook > p { font-size: 12px; line-height: 1.5; }
.shooting-hook blockquote { color: var(--color-text); letter-spacing: -0.4px; overflow-wrap: anywhere; word-break: keep-all; margin-top: 6px; font-size: 21px; font-weight: 600; line-height: 1.5; }
.shooting-guide { min-width: 0px; scroll-margin-top: 64px; }
.shooting-guide__card { padding: 20px; }
.shooting-tips-toggle { min-height: 44px; color: var(--color-text-muted); padding-inline: 3px; font-size: 12px; }
.shooting-scene-picker { flex-wrap: wrap; gap: 2px; margin-top: 10px; display: flex; }
.shooting-scene-picker button { width: 44px; min-height: 44px; color: var(--color-text-muted); border-radius: 50%; justify-content: center; align-items: center; display: flex; }
.shooting-scene-picker button > span { font-variant-numeric: tabular-nums; border-radius: 50%; justify-content: center; align-items: center; width: 32px; height: 32px; font-size: 13px; font-weight: 500; display: flex; }
.shooting-scene-picker button[aria-pressed="true"] > span { background: var(--color-text); color: var(--color-surface); }
.shooting-scene { padding-top: 24px; }
.shooting-scene__meta { color: var(--color-text-muted); font-variant-numeric: tabular-nums; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; display: flex; }
.shooting-scene__instruction { color: var(--color-text); letter-spacing: -0.5px; overflow-wrap: anywhere; word-break: keep-all; outline: none; margin-top: 8px; font-size: 24px; font-weight: 700; line-height: 1.5; }
.shooting-scene__tip { color: var(--color-text-muted); overflow-wrap: anywhere; margin-top: 10px; font-size: 13px; line-height: 1.7; }
.shooting-scene__cue { margin-top: 25px; }
.shooting-scene__label { color: var(--color-text-muted); font-size: 12px; line-height: 1.5; }
.shooting-scene__cue > p:not(.shooting-scene__label) { color: var(--color-text); word-break: keep-all; overflow-wrap: anywhere; margin-top: 6px; font-size: 15px; line-height: 1.7; }
.shooting-scene-navigation { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; margin-top: 28px; display: grid; }
.shooting-scene-navigation button { min-height: 48px; color: var(--color-text); border-radius: 10px; justify-content: center; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; display: flex; }
.shooting-scene-navigation button:last-child:not(:disabled) { background: var(--color-text); color: var(--color-surface); }
.shooting-scene-navigation button:disabled { opacity: 0.38; }
.shooting-overview { margin-top: 10px; }
.shooting-overview > summary, .shooting-script-overview > summary { min-height: 48px; color: var(--color-text-muted); cursor: pointer; justify-content: space-between; align-items: center; padding-block: 6px; font-size: 13px; list-style: none; display: flex; }
.shooting-overview > summary::-webkit-details-marker { display: none; }
.shooting-script-overview > summary::-webkit-details-marker { display: none; }
.shooting-overview[open] > summary > svg, .shooting-script-overview[open] > summary > svg { transform: rotate(180deg); }
.shooting-overview li + li { border-top: 1px solid var(--color-border); }
.shooting-overview li > button { text-align: left; border-radius: 8px; align-items: flex-start; gap: 10px; width: 100%; min-height: 56px; padding: 14px 8px; display: flex; }
.shooting-overview li > button[aria-current="step"] { background: var(--color-surface-sunken); }
.shooting-overview li > button[aria-current="step"] .shooting-overview__number, .shooting-overview li > button[aria-current="step"] > span:nth-child(2) > span { color: var(--color-text); }
.shooting-overview__number { color: var(--color-text-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; padding-top: 3px; font-size: 11px; }
.shooting-overview li > button > span:nth-child(2) { flex: 1 1 0%; min-width: 0px; }
.shooting-overview strong { color: var(--color-text); overflow-wrap: anywhere; font-size: 14px; font-weight: 500; line-height: 1.6; display: block; }
.shooting-overview li > button > span:nth-child(2) > span { color: var(--color-text-muted); overflow-wrap: anywhere; margin-top: 5px; font-size: 12px; line-height: 1.6; display: block; }
.shooting-overview li > button > svg { color: var(--color-text-muted); flex: 0 0 auto; margin-top: 4px; }
.shooting-script-overview { margin-top: 8px; }
@media (max-width: 359px) {
  .shooting-workspace-heading h1 { font-size: 24px; }
  .shooting-guide__card { padding: 16px; }
  .shooting-scene__instruction { font-size: 21px; }
  .shooting-guide__card > div:first-child h2 { font-size: 16px; }
  .shooting-tips-toggle { font-size: 11px; }
}
.editor-media-start { min-height: 0px; color: var(--color-on-emphasis); flex-direction: column; flex: 1 1 0%; display: flex; }
.editor-media-start__body { overscroll-behavior: contain; flex: 1 1 0%; min-height: 0px; padding: clamp(24px, 6dvh, 52px) 24px 24px; overflow-y: auto; }
.editor-media-start__steps { color: var(--color-on-emphasis-muted); align-items: center; gap: 22px; font-size: 13px; line-height: 1.5; display: flex; }
.editor-media-start__steps li { align-items: center; gap: 6px; display: flex; }
.editor-media-start__steps li[aria-current="step"] { color: var(--color-on-emphasis); font-weight: 600; }
.editor-media-start__steps li > span { font-variant-numeric: tabular-nums; font-size: 11px; }
.editor-media-start__intro { margin-top: 32px; }
.editor-media-start__intro h1 { letter-spacing: -0.8px; overflow-wrap: anywhere; word-break: keep-all; max-width: 290px; font-size: 30px; font-weight: 700; line-height: 1.35; }
.editor-media-start__intro > p { max-width: 300px; color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 13px; font-size: 15px; line-height: 1.7; }
.editor-media-start__template { margin-top: 36px; }
.editor-media-start__template > button { width: auto; min-height: 44px; color: var(--color-on-emphasis-muted); text-align: left; text-underline-offset: 5px; background: none; align-items: center; padding-inline: 0px; font-size: 14px; text-decoration: underline; display: flex; }
.editor-start-template { text-align: left; min-width: 0px; }
.editor-start-template > div:first-child { align-items: flex-start; }
.editor-start-template > div:first-child > p { padding-top: 12px; font-size: 14px; line-height: 1.7; }
.editor-start-template > div:first-child > button { min-width: 44px; font-size: 12px; }
.editor-start-template__choice { min-width: 0px; min-height: 44px; color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; border-bottom: 2px solid rgba(0, 0, 0, 0); flex: 1 1 0%; padding: 8px; font-size: 14px; line-height: 1.6; }
.editor-start-template__choice[aria-pressed="true"] { border-bottom-color: var(--color-on-emphasis); color: var(--color-on-emphasis); font-weight: 600; }
.editor-start-template__choice:hover, .editor-media-start__template > button:hover { color: var(--color-on-emphasis); }
.editor-media-start__actions { padding: 16px 24px calc(16px + env(safe-area-inset-bottom, 0px)); flex: 0 0 auto; }
.editor-media-start__limit { color: var(--color-on-emphasis-muted); text-align: center; font-size: 12px; line-height: 1.6; }
.editor-media-start__limit > span { margin-inline: 5px; }
.editor-media-start__pick { background: var(--color-action); min-height: 56px; color: var(--color-on-action); border-radius: 12px; justify-content: center; align-items: center; gap: 7px; margin-top: 12px; padding: 12px 16px; font-size: 16px; font-weight: 700; line-height: 1.5; transition: filter 0.12s, transform 0.12s; display: flex; }
.editor-media-start__pick:hover { filter: brightness(0.95); }
.editor-media-start__pick:active { transform: scale(0.98); }
.editor-media-start__privacy { min-height: 20px; color: var(--color-on-emphasis-muted); text-align: center; margin-top: 12px; font-size: 12px; line-height: 1.6; }
.editor-media-start__error { color: var(--color-on-emphasis); overflow-wrap: anywhere; margin-bottom: 14px; font-size: 13px; line-height: 1.6; }
@media (max-width: 359px), (max-height: 600px) {
  .editor-media-start__body { padding-top: 20px; padding-bottom: 16px; }
  .editor-media-start__intro { margin-top: 24px; }
  .editor-media-start__intro h1 { font-size: 27px; }
  .editor-media-start__template { margin-top: 24px; }
  .editor-media-start__actions { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .editor-media-start__pick { transition: none; }
  .editor-media-start__pick:active { transform: none; }
}
.editor-start-scenes { margin-top: 24px; }
.editor-start-scenes__heading { color: var(--color-on-emphasis-muted); justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; line-height: 1.5; display: flex; }
.editor-start-scenes__heading > h2 { font-weight: 500; }
.editor-start-scenes__heading > span { font-variant-numeric: tabular-nums; flex-shrink: 0; }
.editor-start-scenes ol { margin-top: 8px; }
.editor-start-scenes li { border-top: 1px solid rgba(169, 170, 176, 0.18); align-items: flex-start; gap: 14px; padding-block: 14px; display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-start-scenes li { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 18%, transparent); }
}
.editor-start-scenes__number { width: 20px; color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; padding-top: 1px; font-size: 13px; line-height: 1.5; }
.editor-start-scenes li > div { flex: 1 1 0%; min-width: 0px; }
.editor-start-scenes__meta { color: var(--color-on-emphasis-muted); justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; line-height: 1.5; display: flex; }
.editor-start-scenes__meta > span:last-child { font-variant-numeric: tabular-nums; flex-shrink: 0; }
.editor-start-scenes__instruction { color: var(--color-on-emphasis); word-break: keep-all; overflow-wrap: anywhere; margin-top: 4px; font-size: 15px; line-height: 1.6; }
.editor-workspace-header { padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 12px; flex: 0 0 auto; grid-template-columns: 44px minmax(0px, 1fr) auto; align-items: center; gap: 12px; display: grid; }
.editor-workspace-header__title { min-width: 0px; }
.editor-workspace-header__title h1 { text-overflow: ellipsis; white-space: nowrap; color: var(--color-on-emphasis); font-size: 15px; font-weight: 600; line-height: 1.5; overflow: hidden; }
.editor-workspace-header__title p { text-overflow: ellipsis; white-space: nowrap; color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; margin-top: 2px; font-size: 12px; line-height: 1.5; overflow: hidden; }
.editor-workspace-control { background: var(--color-emphasis-raised); width: 44px; height: 44px; color: var(--color-on-emphasis); border-radius: 50%; flex: 0 0 auto; justify-content: center; align-items: center; transition: background-color 0.12s; display: flex; }
.editor-workspace-control:hover { background: rgb(63, 63, 63); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-workspace-control:hover { background: color-mix(in srgb, var(--color-on-emphasis) 9%, var(--color-emphasis-raised)); }
}
.editor-workspace-control:disabled { opacity: 0.35; }
.editor-workspace-header__create { background: var(--color-action); min-height: 44px; color: var(--color-on-action); border-radius: 12px; padding: 8px 16px; font-size: 14px; font-weight: 700; line-height: 1.5; transition: filter 0.12s; }
.editor-workspace-header__create:hover { filter: brightness(0.95); }
.editor-workspace-header__create:disabled { opacity: 0.4; }
.editor-playback { flex: 0 0 auto; grid-template-columns: 44px minmax(0px, 1fr) 44px; align-items: center; gap: 12px; padding: 10px 16px 0px; display: grid; }
.editor-playback__time { text-align: center; min-width: 0px; color: var(--color-on-emphasis); font-variant-numeric: tabular-nums; font-size: 15px; line-height: 1.5; }
.editor-playback__audio { color: var(--color-on-emphasis-muted); margin-top: 1px; font-size: 12px; line-height: 1.5; display: block; }
.editor-timeline-controls { min-height: 44px; color: var(--color-on-emphasis-muted); justify-content: flex-end; align-items: center; gap: 4px; padding-inline: 16px 12px; font-size: 12px; line-height: 1.5; }
.editor-timeline-controls__scene { min-width: 0px; color: var(--color-on-emphasis); font-variant-numeric: tabular-nums; flex: 1 1 0%; font-size: 13px; }
.editor-timeline-controls__scene > span:first-child { margin-left: 4px; font-weight: 600; }
@media (max-width: 359px) {
  .editor-workspace-header { gap: 8px; padding-inline: 12px; }
  .editor-workspace-header__create { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .editor-workspace-control, .editor-workspace-header__create { transition: none; }
}
@media (max-height: 600px) {
  .editor-workspace-header { padding-top: calc(6px + env(safe-area-inset-top, 0px)); padding-bottom: 6px; }
  .editor-playback { padding-top: 6px; }
  .editor-workspace-tools { padding-top: 0px; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .editor-workspace-hint { white-space: nowrap; clip-path: inset(50%); width: 1px; height: 1px; padding: 0px; position: absolute; overflow: hidden; }
}
.portfolio-filters { gap: 8px; margin: 20px -20px 0px; padding: 0px 20px 4px; display: flex; overflow-x: auto; }
.portfolio-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: start; gap: 20px 12px; display: grid; }
.portfolio-grid--compact { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px; }
.portfolio-tile { text-align: left; border-radius: 8px; width: 100%; min-width: 0px; display: block; }
.portfolio-tile__media { aspect-ratio: 4 / 5; background: var(--color-surface-sunken); border-radius: 8px; display: block; position: relative; overflow: hidden; }
.portfolio-grid--compact .portfolio-tile__media { aspect-ratio: 1 / 1; }
.portfolio-tile__caption { color: var(--color-text); justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 20px; display: flex; }
.portfolio-tile__caption time { color: var(--color-text-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; font-size: 13px; font-weight: 400; }
.portfolio-tile__memo { -webkit-line-clamp: 2; color: var(--color-text-muted); overflow-wrap: anywhere; -webkit-box-orient: vertical; margin-top: 4px; font-size: 13px; line-height: 19px; display: -webkit-box; overflow: hidden; }
.portfolio-tile__badge { background: var(--color-emphasis); color: var(--color-on-emphasis); border-radius: 3px; padding: 2px 6px; font-size: 13px; line-height: 18px; position: absolute; bottom: 6px; left: 6px; }
.portfolio-tile__reel { height: 100%; color: var(--color-text); flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 16px; display: flex; }
.portfolio-tile__reel > span { flex-direction: column; gap: 4px; display: flex; }
.portfolio-tile__views { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; font-size: 24px; font-weight: 600; line-height: 32px; }
.portfolio-grid--compact .portfolio-tile__reel { padding: 8px; }
.portfolio-grid--compact .portfolio-tile__reel > svg { width: 20px; height: 20px; }
.portfolio-grid--compact .portfolio-tile__reel > span { gap: 0px; width: 100%; min-width: 0px; }
.portfolio-grid--compact .portfolio-tile__views { white-space: nowrap; text-overflow: ellipsis; font-size: 14px; line-height: 20px; overflow: hidden; }
.portfolio-image, .portfolio-image > img { width: 100%; height: 100%; display: block; }
.portfolio-image > img { object-fit: cover; }
.portfolio-image__fallback { min-height: 100%; color: var(--color-text); text-align: center; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 12px; font-size: 13px; line-height: 19px; display: flex; }
.portfolio-grid--compact .portfolio-image__fallback { gap: 0px; padding: 8px; }
.portfolio-grid--compact .portfolio-image__fallback > span { display: none; }
.portfolio-image--detail { height: auto; }
.portfolio-image--detail > img { object-fit: contain; height: auto; max-height: 52dvh; }
.portfolio-image--detail .portfolio-image__fallback { min-height: 180px; }
.portfolio-viewer { border-radius: var(--radius-xl); background: var(--color-surface); width: calc(100% - 32px); max-width: 448px; max-height: calc(100dvh - 32px); color: var(--color-text); border: 0px; margin: auto; padding: 0px; position: fixed; inset: 0px; overflow: hidden; }
.portfolio-viewer[open] { flex-direction: column; display: flex; }
.portfolio-viewer::backdrop { background: var(--color-composer-scrim); }
.portfolio-viewer__header { border-bottom: 1px solid var(--color-border); flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; display: flex; }
.portfolio-viewer__body { overscroll-behavior: contain; min-height: 0px; padding: 16px 20px 20px; scroll-padding-block: 16px; overflow-y: auto; }
.portfolio-viewer__photo { background: var(--color-surface-sunken); border-radius: 8px; overflow: hidden; }
.portfolio-viewer__memo { color: var(--color-text); overflow-wrap: anywhere; margin-top: 16px; font-size: 15px; line-height: 23px; }
.portfolio-viewer__reel { padding: 12px 0px 0px; }
.portfolio-viewer__metric { color: var(--color-text); font-variant-numeric: tabular-nums; font-size: 22px; font-weight: 600; line-height: 30px; }
.portfolio-viewer__edit { border-top: 1px solid var(--color-border); margin-top: 20px; }
.portfolio-viewer__edit > summary { cursor: pointer; min-height: 48px; color: var(--color-text); justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; line-height: 20px; list-style: none; display: flex; }
.portfolio-viewer__edit > summary::-webkit-details-marker { display: none; }
.portfolio-viewer__edit[open] > summary > svg { transform: rotate(180deg); }
.portfolio-viewer input { min-width: 0px; font-size: 16px; }
.sns-recent { margin-top: 12px; }
.sns-recent__heading { justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; margin-bottom: 8px; display: flex; }
.sns-recent__all { min-height: 44px; color: var(--color-text-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; align-items: center; gap: 4px; font-size: 13px; line-height: 18px; display: inline-flex; }
.sns-recent__surface { background: var(--color-surface); border-radius: 12px; }
.sns-recent__surface > [aria-live] { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--color-border); background: none; border-radius: 0px; margin-top: 0px; }
.sns-recent__open { border-radius: inherit; align-items: stretch; gap: 16px; min-width: 0px; padding: 16px; display: flex; }
.sns-recent__open:hover, .package-list__link:hover { background: var(--color-surface-sunken); }
.sns-recent__body { flex-direction: column; flex: 1 1 0%; align-items: flex-start; min-width: 0px; display: flex; }
.sns-recent__title { -webkit-line-clamp: 3; color: var(--color-text); overflow-wrap: anywhere; -webkit-box-orient: vertical; font-size: 18px; font-weight: 700; line-height: 26px; display: -webkit-box; overflow: hidden; }
.sns-recent__body .package-meta { margin-top: 8px; }
.sns-recent__action { min-height: 32px; color: var(--color-action-strong); align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; font-size: 14px; font-weight: 600; line-height: 20px; display: inline-flex; }
.sns-recent__empty { align-items: flex-start; gap: 12px; padding: 24px 20px 16px; display: flex; }
.package-cover { background: var(--color-surface-sunken); border-radius: 8px; flex: 0 0 auto; justify-content: center; align-items: center; width: 64px; height: 80px; display: flex; position: relative; overflow: hidden; }
.sns-recent__open .package-cover { width: 96px; height: 128px; }
.package-cover__label { background: var(--color-emphasis); color: var(--color-on-emphasis); border-radius: 3px; padding: 1px 5px; font-size: 13px; line-height: 18px; position: absolute; bottom: 4px; right: 4px; }
.package-meta { color: var(--color-text-muted); flex-wrap: wrap; gap: 4px 8px; font-size: 13px; line-height: 18px; display: flex; }
.package-meta > span, .package-meta > time { white-space: nowrap; }
.package-meta > time { font-variant-numeric: tabular-nums; }
.package-list { background: var(--color-surface); border-radius: 12px; margin-top: 16px; overflow: hidden; }
.package-list > li + li { border-top: 1px solid var(--color-border); }
.package-list__link { align-items: center; gap: 12px; min-width: 0px; min-height: 108px; padding: 14px 16px; display: flex; }
.package-list__link:focus-visible { outline-offset: -3px; }
.package-list__body { flex: 1 1 0%; min-width: 0px; }
.package-list__title { -webkit-line-clamp: 2; color: var(--color-text); overflow-wrap: anywhere; -webkit-box-orient: vertical; font-size: 15px; font-weight: 600; line-height: 22px; display: -webkit-box; overflow: hidden; }
.package-list__body .package-meta { margin-top: 6px; }
.editor-scene-range { gap: 16px; display: grid; }
.editor-scene-range__source { align-items: center; gap: 12px; min-width: 0px; display: flex; }
.editor-scene-range__source > img { object-fit: cover; background: var(--color-emphasis); border-radius: 6px; flex: 0 0 auto; width: 42px; height: 56px; }
.editor-scene-range__source > div { min-width: 0px; }
.editor-scene-range__source p:first-child { color: var(--color-on-emphasis-muted); font-size: 12px; line-height: 1.5; }
.editor-scene-range__source p + p { -webkit-line-clamp: 2; color: var(--color-on-emphasis); overflow-wrap: anywhere; -webkit-box-orient: vertical; margin-top: 4px; font-size: 14px; line-height: 1.5; display: -webkit-box; overflow: hidden; }
.editor-scene-range__summary { border-block: 1px solid rgba(169, 170, 176, 0.2); grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px; padding: 12px 0px; display: grid; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-scene-range__summary { border-block: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-scene-range__summary dt { color: var(--color-on-emphasis-muted); font-size: 12px; line-height: 1.5; }
.editor-scene-range__summary dd { color: var(--color-on-emphasis); font-variant-numeric: tabular-nums; margin-top: 4px; font-size: 18px; font-weight: 600; line-height: 1.4; }
.editor-scene-range__strip { gap: 8px; display: grid; }
.editor-scene-range__strip > p:first-child { color: var(--color-on-emphasis); font-size: 14px; font-weight: 600; line-height: 1.5; }
.editor-scene-range__help { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
.editor-scene-range > .editor-scene-duration { border-top: 1px solid rgba(169, 170, 176, 0.2); padding-top: 16px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-scene-range > .editor-scene-duration { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-caption-appearance { gap: 20px; display: grid; }
.editor-caption-appearance__scope, .editor-caption-appearance__hint { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
.editor-caption-appearance > .editor-caption-appearance__hint { margin-top: -12px; }
.editor-caption-appearance__heading { justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; display: flex; }
.editor-caption-appearance__heading > h3 { color: var(--color-on-emphasis); font-size: 14px; font-weight: 600; line-height: 1.5; }
.editor-caption-appearance__heading > span { color: var(--color-on-emphasis-muted); font-size: 12px; line-height: 1.5; }
.editor-caption-appearance__grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; display: grid; }
.editor-caption-appearance__option { border: 1px solid rgba(169, 170, 176, 0.2); gap: 8px; min-width: 0px; min-height: 80px; padding: 12px; display: grid; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-caption-appearance__option { border: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-caption-appearance__option { text-align: left; color: var(--color-on-emphasis); border-radius: 10px; transition: border-color 0.12s, background 0.12s; }
.editor-caption-appearance__option[aria-pressed="true"] { border-color: var(--color-action); }
.editor-caption-appearance__option:hover:not(:disabled), .editor-caption-appearance__motion:hover:not(:disabled) { background: var(--color-emphasis); }
.editor-caption-appearance__option:disabled, .editor-caption-appearance__motion:disabled { opacity: 0.4; }
.editor-caption-appearance__font { white-space: nowrap; min-width: 0px; font-size: 20px; line-height: 1.6; display: block; }
.editor-caption-appearance__label { color: var(--color-on-emphasis-muted); justify-content: space-between; align-items: center; gap: 4px; font-size: 12px; line-height: 1.5; display: flex; }
.editor-caption-appearance__label > svg, .editor-caption-appearance__motion > svg { color: var(--color-action); opacity: 0; flex: 0 0 auto; }
.editor-caption-appearance__option[aria-pressed="true"] .editor-caption-appearance__label > svg, .editor-caption-appearance__motion[aria-pressed="true"] > svg { opacity: 1; }
.editor-caption-appearance__look { justify-content: center; align-items: center; min-height: 40px; font-size: 22px; line-height: 1.4; display: flex; }
.editor-caption-appearance section > .editor-caption-appearance__hint { margin-top: 10px; }
.editor-caption-appearance__motions { border-top: 1px solid rgba(169, 170, 176, 0.2); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-caption-appearance__motions { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-caption-appearance__motion { border-bottom: 1px solid rgba(169, 170, 176, 0.2); justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 68px; padding: 12px 4px; display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-caption-appearance__motion { border-bottom: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-caption-appearance__motion { text-align: left; transition: background 0.12s; }
.editor-caption-appearance__motion > span { gap: 3px; display: grid; }
.editor-caption-appearance__motion > span > span:first-child { color: var(--color-on-emphasis); font-size: 14px; line-height: 1.5; }
.editor-caption-appearance__motion[aria-pressed="true"] > span > span:first-child { font-weight: 600; }
.editor-caption-appearance__motion > span > span + span { color: var(--color-on-emphasis-muted); font-size: 12px; line-height: 1.5; }
@media (max-height: 600px) {
  .editor-caption-appearance__option { gap: 4px; min-height: 64px; padding: 6px 10px; }
  .editor-caption-appearance__font { font-size: 18px; line-height: 1.4; }
  .editor-caption-appearance__look { min-height: 28px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .editor-caption-appearance__option, .editor-caption-appearance__motion { transition: none; }
}
.editor-media-add__modes { border-bottom: 1px solid rgba(169, 170, 176, 0.2); grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; display: grid; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-media-add__modes { border-bottom: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-media-add__modes > button { min-height: 48px; color: var(--color-on-emphasis-muted); border-bottom: 2px solid rgba(0, 0, 0, 0); padding: 10px 0px; font-size: 14px; line-height: 1.5; transition: color 0.12s; }
.editor-media-add__modes > button[aria-pressed="true"] { border-bottom-color: var(--color-on-emphasis); color: var(--color-on-emphasis); font-weight: 600; }
.editor-media-add__modes > button:hover:not(:disabled) { color: var(--color-on-emphasis); }
.editor-media-add__modes > button:disabled { opacity: 0.4; }
.editor-media-add__destination > p:first-child { color: var(--color-on-emphasis); flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; font-size: 14px; font-weight: 600; line-height: 1.5; display: flex; }
.editor-media-add__destination > p:first-child > span { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; font-size: 12px; font-weight: 400; }
.editor-media-add__destination > p + p { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 5px; font-size: 13px; line-height: 1.6; }
.editor-media-add__pick { background: var(--color-on-emphasis); width: 100%; min-height: 48px; color: var(--color-emphasis); border-radius: 12px; justify-content: center; align-items: center; gap: 8px; padding: 12px; font-size: 14px; font-weight: 600; line-height: 1.5; transition: filter 0.12s; display: flex; position: relative; }
.editor-media-add__pick:hover { filter: brightness(0.93); }
.editor-media-add__pick > input { clip: auto; clip-path: none; opacity: 0; width: 100%; height: 100%; cursor: inherit; margin: 0px; inset: 0px; }
.editor-media-add__import > p { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 8px; font-size: 12px; line-height: 1.6; }
.editor-media-add__library { border-top: 1px solid rgba(169, 170, 176, 0.2); padding-top: 16px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-media-add__library { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-media-add__library-heading { justify-content: space-between; align-items: baseline; gap: 12px; display: flex; }
.editor-media-add__library-heading > h3 { color: var(--color-on-emphasis); font-size: 14px; font-weight: 600; line-height: 1.5; }
.editor-media-add__library-heading > span { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; font-size: 12px; line-height: 1.5; }
.editor-media-add__library-help, .editor-media-add__empty { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 5px; font-size: 13px; line-height: 1.6; }
.editor-media-add__library > .editor-media-choices { margin-top: 12px; }
.editor-media-add__error { color: rgb(255, 138, 122); word-break: keep-all; overflow-wrap: anywhere; border-left: 2px solid; padding: 10px 12px; font-size: 13px; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  .editor-media-add__modes > button, .editor-media-add__pick { transition: none; }
}
.editor-exit-dialog { overscroll-behavior: contain; border: 1px solid rgba(169, 170, 176, 0.2); width: calc(100% - 32px); max-width: 360px; max-height: calc(100dvh - 32px); margin: auto; padding: 24px; position: fixed; inset: 0px; overflow-y: auto; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-exit-dialog { border: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-exit-dialog { background: var(--color-emphasis-raised); color: var(--color-on-emphasis); border-radius: 16px; }
.editor-exit-dialog::backdrop { background: rgba(0, 0, 0, 0.68); }
.editor-exit-dialog__eyebrow { color: var(--color-on-emphasis-muted); font-size: 12px; line-height: 1.5; }
.editor-exit-dialog h2 { letter-spacing: -0.02em; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; margin-top: 8px; font-size: 20px; font-weight: 600; line-height: 1.4; }
.editor-exit-dialog__description { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 12px; font-size: 14px; line-height: 1.65; }
.editor-exit-dialog__actions { gap: 8px; margin-top: 24px; display: grid; }
.editor-exit-dialog__actions > button { border-radius: 12px; width: 100%; min-height: 48px; padding: 12px; font-size: 14px; font-weight: 600; line-height: 1.5; transition: background-color 0.12s, color 0.12s; }
.editor-exit-dialog__stay { background: var(--color-on-emphasis); color: var(--color-emphasis); }
.editor-exit-dialog__stay:hover { background: rgb(232, 232, 232); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-exit-dialog__stay:hover { background: color-mix(in srgb, var(--color-on-emphasis) 90%, var(--color-emphasis)); }
}
.editor-exit-dialog__leave { color: rgb(255, 138, 122); }
.editor-exit-dialog__leave:hover { background: var(--color-emphasis); }
.editor-ai-status { padding-block: 4px; }
.editor-ai-status__heading { color: var(--color-on-emphasis); align-items: center; gap: 10px; font-size: 15px; font-weight: 600; line-height: 1.5; display: flex; }
.editor-ai-status__heading .ai-spinner { border-color: rgba(169, 170, 176, 0.3); flex: 0 0 auto; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-ai-status__heading .ai-spinner { border-color: color-mix(in srgb, var(--color-on-emphasis-muted) 30%, transparent); }
}
.editor-ai-status__heading .ai-spinner { border-top-color: var(--color-on-emphasis); }
.editor-ai-status__source { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; margin-top: 6px; font-size: 12px; line-height: 1.5; }
.editor-ai-status__description { color: var(--color-on-emphasis); word-break: keep-all; overflow-wrap: anywhere; margin-top: 16px; font-size: 14px; line-height: 1.6; }
.editor-ai-status__tasks { color: var(--color-on-emphasis-muted); flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; font-size: 12px; line-height: 1.5; display: flex; }
.editor-ai-status__tasks > li + li { border-left: 1px solid rgba(169, 170, 176, 0.35); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-ai-status__tasks > li + li { border-left: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 35%, transparent); }
}
.editor-ai-status__tasks > li + li { padding-left: 12px; }
.editor-ai-status__after { border-top: 1px solid rgba(169, 170, 176, 0.2); margin-top: 20px; padding-top: 14px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-ai-status__after { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-ai-status__after { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  .editor-exit-dialog__actions > button { transition: none; }
}
.editor-subtitle-heading { color: var(--color-on-emphasis); justify-content: space-between; align-items: baseline; gap: 12px; display: flex; }
.editor-subtitle-heading > h3 { min-width: 0px; font-size: 15px; font-weight: 600; line-height: 1.5; }
.editor-subtitle-heading > span { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; font-size: 12px; line-height: 1.5; }
.editor-subtitle-intro > p, .editor-subtitle-description { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 6px; font-size: 13px; line-height: 1.6; }
.editor-subtitle-notice { border-left: 2px solid var(--color-on-emphasis-muted); background: var(--color-emphasis); color: var(--color-on-emphasis); word-break: keep-all; overflow-wrap: anywhere; padding: 12px 14px; font-size: 13px; line-height: 1.6; }
.editor-subtitle-options { gap: 12px; display: grid; }
.editor-subtitle-options--review { border-top: 1px solid rgba(169, 170, 176, 0.2); padding-top: 4px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-options--review { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-subtitle-import > summary { min-height: 44px; color: var(--color-on-emphasis-muted); cursor: pointer; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; line-height: 1.5; list-style: none; display: flex; }
.editor-subtitle-import > summary::-webkit-details-marker { display: none; }
.editor-subtitle-import[open] > summary { color: var(--color-on-emphasis); }
.editor-subtitle-import[open] > summary svg { transform: rotate(180deg); }
.editor-subtitle-import__body { padding-bottom: 4px; }
.editor-subtitle-import__body > p { margin-top: 0px; }
.editor-subtitle-import__pick { border: 1px solid rgba(169, 170, 176, 0.25); align-items: center; gap: 12px; min-height: 68px; margin-top: 12px; padding: 12px 14px; display: flex; position: relative; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-import__pick { border: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 25%, transparent); }
}
.editor-subtitle-import__pick { color: var(--color-on-emphasis); cursor: pointer; border-radius: 12px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.editor-subtitle-import__pick > svg { color: var(--color-on-emphasis-muted); flex: 0 0 auto; }
.editor-subtitle-import__format { color: var(--color-on-emphasis-muted); margin-top: 3px; font-size: 12px; font-weight: 400; line-height: 1.5; display: block; }
.editor-subtitle-import__pick:has(input:focus-visible) { outline: 2px solid var(--color-on-emphasis); outline-offset: 2px; }
.editor-subtitle-import__pick[aria-disabled="true"] { opacity: 0.4; cursor: default; }
.editor-subtitle-primary, .editor-subtitle-secondary { text-align: center; border-radius: 12px; justify-content: center; align-items: center; width: 100%; min-height: 48px; padding: 10px 12px; font-size: 14px; font-weight: 600; line-height: 1.5; display: flex; }
.editor-subtitle-primary { background: var(--color-on-emphasis); color: var(--color-emphasis); }
.editor-subtitle-secondary { border: 1px solid rgba(169, 170, 176, 0.35); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-secondary { border: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 35%, transparent); }
}
.editor-subtitle-secondary { color: var(--color-on-emphasis); }
.editor-subtitle-primary:disabled, .editor-subtitle-secondary:disabled { opacity: 0.4; }
.editor-subtitle-privacy { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }
.editor-subtitle-pending { border-top: 1px solid rgba(169, 170, 176, 0.2); padding-block: 12px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-pending { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-subtitle-pending > button { margin-top: 12px; }
.editor-subtitle-stale { color: var(--color-on-emphasis); word-break: keep-all; overflow-wrap: anywhere; margin-top: 10px; font-size: 13px; line-height: 1.6; }
.editor-subtitle-lines { margin-block: 14px; }
.editor-subtitle-lines > li { border-top: 1px solid rgba(169, 170, 176, 0.18); padding-block: 14px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-lines > li { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 18%, transparent); }
}
.editor-subtitle-original { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; grid-template-columns: 26px minmax(0px, 1fr); gap: 10px; font-size: 13px; line-height: 1.6; display: grid; }
.editor-subtitle-original > span:first-child { font-size: 12px; }
.editor-subtitle-line-label { color: var(--color-on-emphasis); justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 12px; line-height: 1.5; display: flex; }
.editor-subtitle-line-label > span:last-child { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.editor-subtitle-input { resize: vertical; min-height: 80px; margin-top: 6px; display: block; }
.editor-subtitle-restore { border-top: 1px solid rgba(169, 170, 176, 0.2); padding-top: 14px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-restore { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-subtitle-restore > h3 { color: var(--color-on-emphasis); font-size: 14px; font-weight: 600; line-height: 1.5; }
.editor-subtitle-restore > button { margin-top: 12px; }
.editor-subtitle-save-note { border-top: 1px solid rgba(169, 170, 176, 0.18); padding-top: 12px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-subtitle-save-note { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 18%, transparent); }
}
.editor-subtitle-save-note { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }
.editor-template-current { text-align: left; }
.editor-template-current__header { align-items: flex-start; gap: 12px; display: flex; }
.editor-template-current__eyebrow { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; font-size: 12px; line-height: 1.5; }
.editor-template-current__title { -webkit-line-clamp: 2; color: var(--color-on-emphasis); word-break: keep-all; overflow-wrap: anywhere; -webkit-box-orient: vertical; margin-top: 5px; font-size: 17px; font-weight: 600; line-height: 1.5; display: -webkit-box; overflow: hidden; }
.editor-template-current__remove { max-width: 84px; min-height: 44px; color: var(--color-on-emphasis-muted); text-underline-offset: 4px; flex: 0 0 auto; font-size: 12px; line-height: 1.5; text-decoration: underline; }
.editor-template-choices { gap: 8px; margin-top: 12px; display: flex; overflow-x: auto; }
.editor-template-choices__button { border-bottom: 2px solid rgba(169, 170, 176, 0.2); flex: 1 0 auto; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-template-choices__button { border-bottom: 2px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-template-choices__button { color: var(--color-on-emphasis-muted); font-size: 14px; line-height: 1.5; }
.editor-template-choices__button[aria-pressed="true"] { border-bottom-color: var(--color-action); color: var(--color-on-emphasis); font-weight: 600; }
.editor-template-current__scope, .editor-template-current__note, .editor-template-intro { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
.editor-template-current__scope, .editor-template-current__note { margin-top: 12px; }
.editor-template-scenes { border-bottom: 1px solid rgba(169, 170, 176, 0.2); margin-top: 8px; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-template-scenes { border-bottom: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-template-scenes > summary { min-height: 44px; color: var(--color-on-emphasis); cursor: pointer; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; line-height: 1.5; list-style: none; display: flex; }
.editor-template-scenes > summary::-webkit-details-marker { display: none; }
.editor-template-scenes[open] > summary svg { transform: rotate(180deg); }
.editor-template-scenes .editor-start-scenes { margin-top: 0px; padding-bottom: 8px; }
.editor-template-scenes .editor-start-scenes__heading { display: none; }
.editor-template-scenes .editor-start-scenes li { gap: 10px; padding-block: 10px; }
.editor-template-scenes .editor-start-scenes__instruction { font-size: 14px; }
.editor-template-ai { padding-top: 2px; }
.editor-template-ai__button { background: var(--color-on-emphasis); width: 100%; min-height: 48px; color: var(--color-emphasis); border-radius: 12px; justify-content: center; align-items: center; gap: 8px; padding: 10px 12px; font-size: 15px; font-weight: 600; line-height: 1.5; display: flex; }
.editor-template-ai__privacy { color: var(--color-on-emphasis-muted); word-break: keep-all; overflow-wrap: anywhere; margin-top: 10px; font-size: 12px; line-height: 1.6; }
.editor-template-load { background: var(--color-emphasis); width: 100%; min-height: 52px; color: var(--color-on-emphasis); text-align: left; border-radius: 12px; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; font-size: 15px; font-weight: 600; line-height: 1.5; display: flex; }
.editor-template-loading { color: var(--color-on-emphasis-muted); padding-block: 20px; font-size: 13px; line-height: 1.6; }
.editor-template-empty { background: var(--color-emphasis); text-align: left; border-radius: 12px; padding: 16px; }
.editor-template-empty__action { min-height: 44px; color: var(--color-on-emphasis); text-underline-offset: 4px; align-items: center; gap: 8px; margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: underline; display: inline-flex; }
.editor-template-library__heading { color: var(--color-on-emphasis-muted); justify-content: space-between; gap: 12px; font-size: 12px; line-height: 1.5; display: flex; }
.editor-template-library { margin-top: 8px; }
.editor-template-library > li { border-top: 1px solid rgba(169, 170, 176, 0.18); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-template-library > li { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 18%, transparent); }
}
.editor-template-library__item { text-align: left; align-items: center; gap: 12px; width: 100%; min-height: 72px; padding: 12px 4px; display: flex; }
.editor-template-library__title { text-overflow: ellipsis; white-space: nowrap; color: var(--color-on-emphasis); font-size: 15px; font-weight: 600; line-height: 1.5; display: block; overflow: hidden; }
.editor-template-library__meta { color: var(--color-on-emphasis-muted); font-variant-numeric: tabular-nums; margin-top: 4px; font-size: 12px; line-height: 1.5; display: block; }
.editor-template-choices__button:hover, .editor-template-current__remove:hover, .editor-template-library__item:hover { color: var(--color-on-emphasis); }
.editor-template-library__item:hover { background: rgba(255, 255, 255, 0.04); }
@supports (color: color-mix(in lab, red, red)) {
  .editor-template-library__item:hover { background: color-mix(in srgb, var(--color-on-emphasis) 4%, transparent); }
}
.editor-template-choices__button:disabled, .editor-template-current__remove:disabled, .editor-template-ai__button:disabled, .editor-template-load:disabled, .editor-template-empty__action:disabled, .editor-template-library__item:disabled { opacity: 0.4; }
.editor-panel__header { flex: 0 0 auto; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 10px 16px; display: flex; }
.editor-panel__header > h2 { text-overflow: ellipsis; white-space: nowrap; min-width: 0px; color: var(--color-on-emphasis); font-size: 15px; font-weight: 600; line-height: 1.5; overflow: hidden; }
.editor-panel__actions { flex: 0 0 auto; align-items: center; gap: 8px; display: flex; }
.editor-panel__resize { width: 44px; height: 44px; color: var(--color-on-emphasis-muted); cursor: ns-resize; touch-action: none; border-radius: 8px; flex-direction: column; flex: 0 0 auto; justify-content: center; align-items: center; gap: 2px; font-size: 11px; line-height: 1.4; display: flex; }
.editor-panel__resize:hover { color: var(--color-on-emphasis); background: var(--color-emphasis); }
.editor-panel__tabs { z-index: 1; background: var(--color-emphasis-raised); padding: 0px 16px 12px; position: sticky; top: 0px; }
.editor-caption-tabs { border-bottom: 1px solid rgba(169, 170, 176, 0.2); display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-caption-tabs { border-bottom: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 20%, transparent); }
}
.editor-caption-tabs__tab { min-width: 44px; min-height: 44px; color: var(--color-on-emphasis-muted); border-bottom: 2px solid rgba(0, 0, 0, 0); flex: 1 1 0%; font-size: 14px; line-height: 1.5; }
.editor-caption-tabs__tab[aria-selected="true"] { border-bottom-color: var(--color-on-emphasis); color: var(--color-on-emphasis); font-weight: 600; }
.editor-caption-choices { align-items: center; gap: 8px; display: flex; overflow-x: auto; }
.editor-caption-choices__button, .editor-caption-choices__add { min-height: 44px; color: var(--color-on-emphasis-muted); border-bottom: 2px solid rgba(0, 0, 0, 0); flex: 0 0 auto; padding: 8px 12px; font-size: 13px; line-height: 1.5; }
.editor-caption-choices__button[aria-pressed="true"] { border-bottom-color: var(--color-on-emphasis); color: var(--color-on-emphasis); font-weight: 600; }
.editor-caption-choices__add { margin-left: auto; padding-inline: 4px; }
.editor-caption-tabs__tab:hover, .editor-caption-choices button:hover { color: var(--color-on-emphasis); }
.editor-caption-tabs__tab:disabled, .editor-caption-choices button:disabled { opacity: 0.4; }
.editor-caption-input__label { color: var(--color-on-emphasis-muted); justify-content: space-between; align-items: baseline; gap: 12px; font-size: 12px; line-height: 1.5; display: flex; }
.editor-caption-input__label > span { font-variant-numeric: tabular-nums; }
.editor-caption-input { resize: vertical; min-height: 80px; margin-top: 6px; display: block; }
.editor-caption-secondary { border-top: 1px solid rgba(169, 170, 176, 0.18); justify-content: space-between; align-items: center; gap: 12px; display: flex; }
@supports (color: color-mix(in lab, red, red)) {
  .editor-caption-secondary { border-top: 1px solid color-mix(in srgb, var(--color-on-emphasis-muted) 18%, transparent); }
}
.editor-scene-duration > p { color: var(--color-on-emphasis-muted); justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; line-height: 1.5; display: flex; }
.editor-scene-duration > p > span:last-child { font-size: 12px; }
.editor-scene-duration__controls { grid-template-columns: 64px minmax(0px, 1fr) 64px; align-items: center; gap: 16px; margin-top: 16px; display: grid; }
.editor-scene-duration__value { color: var(--color-on-emphasis); text-align: center; font-variant-numeric: tabular-nums; font-size: 28px; font-weight: 600; line-height: 1.4; }
@media (max-width: 359px) {
  .editor-panel__header { gap: 8px; }
  .editor-panel__actions { gap: 4px; }
}
@media (max-height: 600px) {
  .editor-panel__header { min-height: 56px; padding-block: 6px; }
  .editor-panel__tabs { padding-bottom: 8px; position: static; }
}
.editor-result { flex-direction: column; flex: 1 1 0%; min-height: 0px; display: flex; }
.editor-result__scroll { overscroll-behavior-y: contain; flex: 1 1 0%; min-height: 0px; padding: 12px 20px 20px; overflow-y: auto; }
.editor-result__content { flex-direction: column; gap: 16px; width: 100%; display: flex; }
.editor-result__preview { justify-content: center; display: flex; }
.editor-result__preview video { height: clamp(144px, calc(var(--editor-viewport, 100dvh) - 376px), 432px); aspect-ratio: 9 / 16; background: var(--color-emphasis); object-fit: contain; border-radius: 16px; max-width: 100%; display: block; }
.editor-result__info { min-width: 0px; }
.editor-result__sound { align-items: flex-start; gap: 6px; margin-top: 10px; display: flex; }
.editor-result__sound svg { margin-top: 2px; }
.editor-result__checks { border-top: 1px solid var(--color-emphasis-raised); }
.editor-result__checks summary { cursor: pointer; align-items: center; gap: 8px; min-height: 48px; list-style: none; display: flex; }
.editor-result__checks summary::-webkit-details-marker { display: none; }
.editor-result__checks[open] summary > svg { transform: rotate(180deg); }
.editor-result__footer { border-top: 1px solid var(--color-emphasis-raised); padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)); flex: 0 0 auto; }
.editor-result__primary { border-radius: 12px; justify-content: center; align-items: center; gap: 6px; width: 100%; min-height: 48px; padding: 8px 16px; transition: filter 0.12s; display: flex; }
.editor-result__primary:hover { filter: brightness(0.95); }
.editor-result__secondary { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; margin-top: 8px; display: grid; }
.editor-result__secondary > * { border-radius: 12px; justify-content: center; align-items: center; gap: 6px; min-height: 44px; transition: background-color 0.12s; display: flex; }
.editor-result__secondary > :hover { background: var(--color-emphasis-raised); }
@media (max-width: 359px) {
  .editor-result__scroll, .editor-result__footer { padding-left: 16px; padding-right: 16px; }
}
.editor-render-status { border-top: 1px solid var(--color-emphasis-raised); padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px)); flex: 0 0 auto; }
.editor-render-status__heading { justify-content: space-between; align-items: center; gap: 16px; display: flex; }
.editor-render-status__track { background: var(--color-emphasis-raised); border-radius: 4px; height: 4px; margin-top: 12px; overflow: hidden; }
.editor-render-status__track > div { background: var(--color-action); height: 100%; }
.editor-render-status__cancel { background: var(--color-emphasis-raised); border-radius: 12px; justify-content: center; align-items: center; width: 100%; min-height: 44px; transition: filter 0.12s; display: flex; }
.editor-render-status__cancel:hover { filter: brightness(1.1); }
.editor-render-notice { background: var(--color-emphasis-raised); border-radius: 12px; flex: 0 0 auto; margin: 8px 16px 0px; padding: 12px; }
.editor-render-notice__body { overscroll-behavior-y: contain; max-height: 96px; overflow-y: auto; }
.editor-render-notice[data-kind="error"] h2 { color: rgb(255, 138, 122); }
.editor-render-notice__actions { gap: 8px; margin-top: 8px; display: flex; }
.editor-render-notice__actions > button { min-width: 0px; min-height: 44px; font-size: var(--text-name); line-height: var(--text-name--line-height); border-radius: 8px; flex: 1 1 0%; padding: 8px; font-weight: 600; }
@media (max-width: 359px) {
  .editor-render-status { padding-left: 16px; padding-right: 16px; }
}
@media (max-height: 600px) {
  .editor-render-status { padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  .editor-render-status__track, .editor-render-status__cancel { margin-top: 8px; }
  .editor-render-notice { margin-top: 4px; padding: 8px 12px; }
  .editor-render-notice__body { max-height: 44px; }
  .editor-render-notice[data-kind="cancelled"] { align-items: center; gap: 12px; display: flex; }
  .editor-render-notice[data-kind="cancelled"] .editor-render-notice__body { flex: 1 1 0%; min-width: 0px; }
  .editor-render-notice[data-kind="cancelled"] .editor-render-notice__actions { flex: 0 0 auto; margin-top: 0px; }
}
.editor-media-choices { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px 8px; max-height: 240px; padding: 2px; display: grid; overflow-y: auto; }
.editor-media-choice { text-align: left; border-radius: 8px; min-width: 0px; min-height: 44px; transition: filter 0.12s; }
.editor-media-choice:disabled { opacity: 0.4; }
.editor-media-choice:hover:not(:disabled) { filter: brightness(1.08); }
.editor-media-choice__frame { aspect-ratio: 1 / 1; background: var(--color-emphasis); border-radius: 8px; display: block; position: relative; overflow: hidden; }
.editor-media-choice__frame img { object-fit: cover; width: 100%; height: 100%; }
.editor-media-choice[data-selected="true"] .editor-media-choice__frame { outline: 2px solid var(--color-action); outline-offset: -2px; }
.editor-media-choice__check { background: var(--color-action); width: 24px; height: 24px; color: var(--color-on-action); border-radius: 50%; justify-content: center; align-items: center; display: flex; position: absolute; top: 6px; right: 6px; }
.editor-source-management { border-top: 1px solid var(--color-emphasis); }
.editor-source-management summary { cursor: pointer; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; list-style: none; display: flex; }
.editor-source-management summary::-webkit-details-marker { display: none; }
.editor-source-management[open] summary > svg { transform: rotate(180deg); }
.editor-scene-order__strip { gap: 10px; padding: 2px 2px 6px; display: flex; overflow-x: auto; }
.editor-scene-order__item { text-align: center; flex: 0 0 auto; width: 64px; }
.editor-scene-order__item img, .editor-scene-order__empty { object-fit: cover; background: var(--color-emphasis); border-radius: 8px; width: 64px; height: 64px; display: block; }
.editor-scene-order__empty { justify-content: center; align-items: center; display: flex; }
.editor-scene-order__item[aria-current="true"] img, .editor-scene-order__item[aria-current="true"] .editor-scene-order__empty { outline: 2px solid var(--color-action); outline-offset: -2px; }
.editor-scene-order__actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; display: grid; }
.editor-scene-order__actions > button { background: var(--color-emphasis); border-radius: 12px; justify-content: center; align-items: center; gap: 6px; min-height: 44px; transition: filter 0.12s; display: flex; }
.editor-scene-order__actions > button:disabled { opacity: 0.35; }
.editor-scene-order__actions > button:hover:not(:disabled) { filter: brightness(1.15); }
@media (max-height: 600px) {
  .editor-source-hint, .editor-scene-order__strip { display: none; }
  .editor-media-choices { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; max-height: 176px; }
  .editor-media-choice { grid-template-columns: 44px minmax(0px, 1fr); column-gap: 8px; display: grid; }
  .editor-media-choice__frame { grid-row: span 2; width: 44px; height: 44px; }
  .editor-media-choice > .mt-1\.5 { align-self: end; margin-top: 0px; }
  .editor-media-choice__check { width: 18px; height: 18px; top: 3px; right: 3px; }
}
@media (max-width: 359px) {
  .editor-scene-order__strip { padding-bottom: 4px; }
  .editor-scene-order__item { width: 56px; }
  .editor-scene-order__item img, .editor-scene-order__empty { width: 56px; height: 56px; }
}
.editor-sound-settings__original { cursor: pointer; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; display: flex; }
.editor-sound-settings .switch > input { inset: -9px 0px; }
.editor-sound-settings__music { border-top: 1px solid var(--color-emphasis); margin-top: 16px; padding-top: 14px; }
@media (max-height: 600px) {
  .editor-sound-settings__original { min-height: 48px; }
  .editor-sound-settings__music { margin-top: 12px; padding-top: 12px; }
}
.editor-layer-scale { grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr); align-items: center; gap: 16px; display: grid; }
.editor-layer-scale > button { background: var(--color-emphasis); min-width: 44px; min-height: 48px; color: var(--color-on-emphasis); border-radius: 12px; justify-content: center; align-items: center; gap: 6px; font-size: 14px; transition: filter 0.12s; display: flex; }
.editor-layer-scale > button:hover:not(:disabled) { filter: brightness(1.15); }
.editor-layer-scale > button:disabled { opacity: 0.4; }
.editor-layer-sound { cursor: pointer; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; display: flex; }
.editor-layer-sound .switch > input { inset: -9px 0px; }
@media (max-height: 600px) {
  .editor-layer-source, .editor-layer-summary, .editor-layer-help { display: none; }
  .editor-layer-source + [role="tabpanel"] { margin-top: 0px; }
  .editor-layer-sound { min-height: 48px; }
}
.editor-layer-order { overflow-anchor: none; gap: 4px; max-height: clamp(56px, 36dvh - 170px, 184px); padding: 2px; display: grid; overflow-y: auto; }
.editor-layer-order__item { border-radius: 8px; align-items: center; gap: 10px; min-height: 56px; padding: 6px 8px; display: flex; }
.editor-layer-order__item[aria-current="true"] { background: var(--color-emphasis); box-shadow: inset 2px 0 var(--color-action); }
.editor-layer-order__thumb { background: var(--color-emphasis); object-fit: cover; border-radius: 6px; flex: 0 0 auto; width: 44px; height: 44px; }
@media (max-height: 600px) {
  .editor-layer-order-hint, .editor-layer-order { display: none; }
  .editor-layer-order + .editor-scene-order__actions { margin-top: 0px; }
}
.consent-inbox .consent-document-list, .consent-record .consent-record-info { box-shadow: none; }
.consent-inbox > ul { box-shadow: none; background: none; }
.consent-record-info li > div { align-items: flex-start; min-height: 44px; padding: 10px 0px; }
.consent-record-info li > div > span:first-child { flex-shrink: 0; }
.consent-record-info li > div > span:last-child { text-align: right; overflow-wrap: anywhere; min-width: 0px; }
.consent-document figure { min-width: 0px; }
.consent-document figcaption { overflow-wrap: anywhere; }
.consent-reading { margin-top: 20px; }
.consent-document > .consent-reading:first-child { margin-top: 0px; }
.consent-document .consent-reading ol { line-height: 1.65; }
@media print {
  .consent-document { background: none; border: 0px; border-radius: 0px; padding: 0px; }
}
.consent-template-list, .consent-intake-info, .consent-intake-summary, .consent-intake-signature { box-shadow: none; }
.consent-template-list > li > a { padding-top: 16px; padding-bottom: 16px; }
.consent-template-list > li > a > span:first-child > span:last-child { margin-top: 6px; line-height: 1.6; }
.consent-template-editor input:not([type="radio"]):not([type="checkbox"]), .consent-template-editor textarea { font-size: 16px; }
.consent-template-editor .consent-template-item, .consent-template-item > div > span { min-width: 0px; }
.consent-intake-summary li > div { align-items: flex-start; padding-top: 12px; padding-bottom: 12px; }
.consent-intake-summary li > div > span:first-child { flex-shrink: 0; }
.consent-intake-summary li > div > span:last-child { text-align: right; overflow-wrap: anywhere; min-width: 0px; }
.consent-customer-screen h1, .consent-customer-screen label > span, .consent-customer-screen p { overflow-wrap: anywhere; }
.consent-customer-screen canvas { max-width: 100%; }
@media (max-height: 600px) {
  .consent-intake-bar { position: static; }
}
.consent-intake h1, .consent-intake-signature p { overflow-wrap: anywhere; min-width: 0px; }
.consent-intake-signature button { flex-shrink: 0; }
.consent-link-screen h1, .consent-link-screen p, .consent-link-screen span, .consent-link-screen dt, .consent-link-screen dd, .consent-link-share p, .consent-pending p { overflow-wrap: anywhere; }
.consent-link-panel, .consent-pending-list { box-shadow: none; }
.consent-link-screen .consent-link-code { font-size: 20px; }
.consent-link-copy-meta > div { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.35fr); gap: 12px; display: grid; }
.consent-link-copy-meta dd { text-align: right; min-width: 0px; }
.consent-link-reading > ol, .consent-link-reading section > ol { margin-top: 16px; }
.consent-link-reading > ol > li > label, .consent-link-reading section > ol > li > label { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--color-line); background: none; border-radius: 0px; padding-left: 0px; padding-right: 0px; }
.consent-link-reading label > span, .consent-link-reading > div > div > div > p { min-width: 0px; }
.consent-link-reading canvas { max-width: 100%; }
.consent-link-reading button { white-space: normal; }
.account-overview > ul, .account-results > ul, .account-identity-list, .account-settings > section > label { box-shadow: none; }
.account-profile h1, .account-profile p, .account-profile label, .account-identities li > span, .account-results a span, .account-delete p, .account-delete li, .account-delete label { overflow-wrap: anywhere; }
.account-profile-editor input, .account-delete input { font-size: 16px; }
.account-results > ul > li > a { padding-top: 14px; padding-bottom: 14px; }
.account-menu > li > a { min-height: 60px; }
.account-settings > section > label { min-height: 64px; }
.account-settings .switch > input { inset: -9px 0px; }
.account-settings > section > p { overflow-wrap: anywhere; }
.model-log-form, .model-log-list, .model-log-week-table, .model-log-material-entry, .model-log-document, .model-log-materials > section { box-shadow: none; }
.model-log-form :is(input, select, textarea) { font-size: 16px; }
.model-log-form__summary > div > span { white-space: normal; }
.model-log-form__step:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 6px; border-radius: 4px; }
.model-log-form :is(p, legend), .model-log-form__summary span, .model-log-list a span, .model-log-meta, .model-log-heading h1, .model-log-week-table th, .model-log-recent h2, .model-log-document :is(p, span, dd, a), .model-log-materials :is(h2, li > span) { overflow-wrap: anywhere; }
.model-log-list > li > a { padding-block: 16px; }
.model-log-actions > button { margin-top: 0px; display: block; }
.model-log-materials li { padding-block: 12px; }
.style-form, .style-card__rows, .style-voice, .style-fallback { box-shadow: none; }
.style-form :is(input, textarea) { min-height: 48px; font-size: 16px; }
.style-form :is(p, legend, label), .style-card :is(p, li, span), .style-voice p, .style-fallback a span { overflow-wrap: anywhere; }
.style-form .style-choice { white-space: normal; text-align: left; min-width: 44px; min-height: 44px; }
.style-card__rows > li:not(.style-card__analysis) > div { align-items: flex-start; padding-block: 14px; }
.style-card__rows > li:not(.style-card__analysis) > div > span:first-child { flex: 0 0 auto; font-size: 13px; }
.style-card__rows > li:not(.style-card__analysis) > div > span:last-child { text-align: right; min-width: 0px; }
.style-reanalyze .style-analyze { margin-bottom: 12px; }
.style-voice-form textarea { min-height: 136px; }
.style-form :is(input, textarea, button) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.performance-member, .performance-surface, .instagram-connection { box-shadow: none; }
.performance-platform:first-child { padding-top: 0px; }
.performance-platform:last-child { padding-bottom: 0px; }
.performance-metric .text-kpi { margin-top: 4px; font-size: clamp(18px, 5vw, 24px); line-height: 1.3; }
.performance-view :is(p, h2, h3, summary, label), .instagram-connection :is(p, label) { overflow-wrap: anywhere; }
.performance-form :is(input, select), .performance-view input[type="date"] { min-height: 48px; font-size: 16px; }
.performance-form select { height: 48px; }
.performance-form :is(label, fieldset) { min-width: 0px; }
.performance-view :is(input, select, button), .instagram-connection :is(input, button) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.performance-form:focus { outline: 2px solid var(--color-focus); outline-offset: 4px; }
.performance-evidence > summary { font-size: 13px; }
.performance-evidence time { white-space: nowrap; }
.performance-range > details > summary { padding-block: 8px; }
.performance-post > div:first-child > a { min-height: 48px; }
.performance-post .text-card { overflow-wrap: normal; }
.reference-surface, .reference-history { box-shadow: none; }
.reference-flow :is(input:not([type="checkbox"]), textarea, select) { min-height: 48px; font-size: 16px; }
.reference-flow textarea { min-height: 144px; }
.reference-flow select { height: 48px; }
.reference-flow :is(p, label, legend, button), .reference-source :is(p, a) { overflow-wrap: anywhere; }
.reference-flow fieldset { min-width: 0px; }
.reference-flow :is(input, textarea, select, button, a) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.reference-choice:focus-within { outline: 2px solid var(--color-focus); outline-offset: 2px; border-radius: 4px; }
.reference-history button:focus-visible { outline-offset: -4px; }
.usage-summary .usage-list { box-shadow: none; }
.usage-summary .usage-meter > div { background: var(--color-surface-sunken); height: 4px; }
.usage-summary .usage-meter > div > div { background: var(--color-ink-soft); }
.usage-summary :is(p, summary), .reference-accounts :is(p, label, button) { overflow-wrap: anywhere; }
.reference-accounts input { min-height: 48px; font-size: 16px; }
.reference-accounts :is(input, button, h2), .usage-summary summary { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.reference-quality .reference-review { border: 1px solid var(--color-line); }
.reference-quality .reference-pattern, .reference-quality .reference-recent button { overflow-wrap: anywhere; }
.reference-quality summary { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.reference-quality .reference-step { scroll-margin-top: 16px; }
.coach-view, .coach-surface { box-shadow: none; }
.coach-view :is(p, span, h2, h3, dd, label), .coach-history :is(p, span, dd) { overflow-wrap: anywhere; }
.coach-form :is(input:not([type="file"]), select) { min-height: 48px; font-size: 16px; }
.coach-form select { height: 48px; }
.coach-form textarea { min-height: 120px; font-size: 16px; }
.coach-view :is(input, select, textarea, button), .coach-history :is(button, summary) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.coach-frames { scroll-snap-type: x; }
.coach-frames > li { scroll-snap-align: start; }
.coach-feedback { min-width: 0px; }
.coach-history button { overflow-wrap: anywhere; }
.stock-screen :is(input:not([type="checkbox"]), select, textarea), .stock-dialog :is(input, select, textarea) { font-size: 16px; }
.stock-screen :is(input:not([type="checkbox"]), select), .stock-dialog :is(input, select) { min-height: 48px; }
.stock-screen select, .stock-dialog select { height: 48px; }
.stock-screen :is(button, a, summary, input, select, textarea), .stock-dialog :is(button, input, select, textarea) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.stock-screen :is(p, span, h2, h3, td, th), .stock-dialog p { overflow-wrap: anywhere; }
.stock-screen :is(section, table), .stock-dialog { box-shadow: none; }
.stock-screen table { width: 100%; }
@media (max-width: 639px) {
  .stock-screen table thead { display: none; }
  .stock-screen table :is(tbody, tr, td) { width: 100%; display: block; }
  .stock-screen table tr { padding-block: 12px; }
  .stock-screen table td { text-align: left; white-space: normal; border: 0px; padding: 5px 16px; }
  .stock-screen table td::before { content: attr(data-label); color: var(--color-ink-soft); font: 500 13px/1.5 var(--font-sans); margin-right: 12px; display: inline-block; }
  .stock-screen table td:not([data-label])::before { display: none; }
}
.stock-dialog { max-height: calc(100dvh - 32px); padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.stock-screen details > summary { cursor: pointer; min-height: 48px; }
.stock-screen button, .stock-dialog button { min-height: 44px; }
.stock-screen label:has(input[type="checkbox"]) { min-height: 44px; }
.stock-screen button.bg-action, .stock-dialog button.bg-action { min-height: 48px; }
.owner-staff [hidden] { display: none; }
.owner-staff :is(p, span, h2, h3, h4, legend, label) { overflow-wrap: anywhere; }
.owner-staff-open { align-items: center; gap: 12px; min-height: 88px; display: flex; }
.owner-staff :is(button, summary, a, input, select, textarea, h2, h3) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.owner-staff :is(button, summary) { min-height: 44px; }
.owner-staff :is(section, ul) { box-shadow: none; }
.owner-mission-form :is(input, select, textarea) { font-size: 16px; }
.owner-mission-form :is(input, select) { min-height: 48px; }
.owner-mission-form select { height: 48px; }
.owner-mission-form textarea { min-height: 120px; }
.owner-mission-form button[type="submit"] { min-height: 48px; }
.store-connect { box-shadow: none; }
.store-connect input { font-size: 16px; }
.store-connect :is(input, button, [role="alert"]) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
.home-overview { --home-text-muted: #646a79; }
.home-shell { background: linear-gradient(var(--color-action) 0 235px,var(--color-bg) 235px); }
.home-shell__top :is(.text-ink, a) { color: rgb(255, 255, 255); }
.home-shell__top a:focus-visible { outline-color: rgb(255, 255, 255); }
.home-shell__top .store-logo[src="/store-logos/arish.png"] { filter: invert(); mix-blend-mode: screen; }
.home-shell__top a[aria-current="page"] { color: var(--color-action-strong); }
.home-calendar { color: rgb(255, 255, 255); margin: -4px -20px 0px; padding: 0px 20px 28px; }
.home-calendar__title { justify-content: space-between; align-items: center; gap: 10px; display: flex; }
.home-calendar__title h1 { letter-spacing: -0.03em; font-size: 20px; font-weight: 750; line-height: 1.4; }
.home-calendar__title > span { flex: 0 0 auto; font-size: 13px; }
.home-calendar__week { grid-template-columns: repeat(7, minmax(0px, 1fr)); gap: 0px; margin: 14px -20px 0px; display: grid; }
.home-calendar__week button { color: rgb(255, 255, 255); border-radius: 12px; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-width: 0px; min-height: 72px; display: flex; }
.home-calendar__week button:focus-visible { outline-color: rgb(255, 255, 255); }
.home-calendar__week button > span { color: rgba(255, 255, 255, 0.81); font-size: 13px; }
.home-calendar__week button > b { border-radius: 50%; place-items: center; width: 32px; height: 32px; font-size: 14px; font-weight: 500; display: grid; }
.home-calendar__week button[aria-pressed="true"] > b { color: var(--color-action-strong); background: rgb(255, 255, 255); font-weight: 750; }
.home-calendar__week button:hover { background: rgba(255, 255, 255, 0.08); }
.home-calendar__week i { background: none; border-radius: 50%; width: 3px; height: 3px; }
.home-calendar__week i.has-record { background: rgba(255, 255, 255, 0.85); }
.home-daily { background: var(--color-surface); animation: dialog-pop-in .18s var(--ease-soft); border-radius: 22px; margin-top: -11px; padding: 21px 20px 18px; position: relative; }
.home-daily h2 { letter-spacing: -0.035em; margin-top: 7px; font-size: 23px; font-weight: 750; line-height: 1.4; }
.home-daily__counts { flex-wrap: wrap; gap: 5px 15px; margin-top: 13px; font-size: 13px; display: flex; }
.home-daily__counts > div { align-items: baseline; gap: 6px; display: flex; }
.home-daily__counts dt { color: var(--color-text-muted); }
.home-daily__counts dd { font-variant-numeric: tabular-nums; font-weight: 650; }
.home-daily__actions { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; display: grid; }
.home-daily__actions > :is(button, a) { min-width: 0px; min-height: 48px; color: var(--color-action-strong); background: var(--color-action-soft); transition: transform .12s var(--ease-soft); border-radius: 12px; justify-content: center; align-items: center; gap: 6px; padding: 9px 7px; font-size: 14px; font-weight: 650; display: flex; }
.home-daily__actions > button { color: rgb(255, 255, 255); background: var(--color-action); }
.home-daily__actions > :is(button, a):active { transform: scale(0.98); }
.home-daily__actions > :is(button, a):hover { filter: brightness(0.97); }
.home-metrics { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; margin-top: 12px; display: grid; }
.home-metric { background: var(--color-surface); min-width: 0px; min-height: 177px; transition: transform .12s var(--ease-soft),box-shadow .18s; border-radius: 20px; flex-direction: column; align-items: stretch; padding: 18px 16px; display: flex; }
.home-metric:hover { box-shadow: rgba(32, 36, 49, 0.04) 0px 3px 18px; }
.home-metric:active { transform: scale(0.985); }
.home-metric__label { color: var(--home-text-muted); justify-content: space-between; align-items: center; gap: 7px; font-size: 13px; display: flex; }
.home-metric__label svg { color: rgb(144, 149, 161); flex: 0 0 auto; }
.home-metric__value { letter-spacing: -0.05em; font-variant-numeric: tabular-nums; margin-top: 13px; font-size: 29px; font-weight: 750; line-height: 1.1; display: block; }
.home-metric__value > span { color: var(--color-text-muted); margin-left: 4px; font-size: 16px; font-weight: 400; }
.home-metric__empty { margin-top: 14px; font-size: 22px; font-weight: 700; }
.home-metric__hint { color: var(--home-text-muted); overflow-wrap: anywhere; margin-top: 9px; font-size: 13px; line-height: 1.6; }
.home-metric__track { background: var(--color-action-soft); border-radius: 4px; height: 6px; margin-top: auto; padding-top: 0px; overflow: hidden; }
.home-metric__track > span { background: var(--color-action); height: 100%; transition: width .22s var(--ease-soft); border-radius: 4px; display: block; }
.home-metric__hint + .home-metric__track { margin-top: 17px; }
.home-metric__footer { color: var(--color-action-strong); margin-top: auto; padding-top: 15px; font-size: 13px; }
.home-metric--small { min-height: 139px; }
.home-metric--small .home-metric__value { font-size: 27px; }
.home-overview__retry { color: var(--color-text-muted); flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; margin-top: 12px; font-size: 13px; display: flex; }
.home-overview__retry button { text-underline-offset: 4px; min-height: 44px; text-decoration: underline; }
.home-overview__retry button:disabled { opacity: 0.5; }
.home-studio--compact .studio-stories { margin-top: 22px; }
.home-detail-sections .home-studio-title { font-size: 19px; }
.home-studio-entry { background: var(--color-surface); border-radius: 20px; align-items: center; gap: 16px; padding: 19px; display: flex; }
.home-studio-entry > div { flex: 1 1 0%; min-width: 0px; }
.home-studio-entry > .studio-photo { border-radius: 12px; flex: 0 0 auto; width: 80px; height: 104px; }
.home-studio-entry h3 { font-size: 16px; font-weight: 700; }
.home-studio-entry p { color: var(--color-text-muted); margin-top: 7px; font-size: 13px; line-height: 1.7; }
.home-studio-entry button { min-height: 44px; color: var(--color-action-strong); align-items: center; gap: 10px; margin-top: 9px; font-size: 14px; font-weight: 650; display: flex; }
@media (max-width: 359px) {
  .home-calendar__title h1 { font-size: 18px; }
  .home-daily { padding: 19px 16px; }
  .home-daily h2 { font-size: 21px; }
  .home-metric { padding: 16px 13px; }
  .home-metric__label, .home-daily__actions > :is(button, a) { font-size: 13px; }
  .home-studio-entry { gap: 12px; padding: 16px; }
  .home-studio-entry > .studio-photo { width: 64px; height: 92px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-daily { animation: auto ease 0s 1 normal none running none; }
  .home-overview :is(a, button), .home-metric__track > span { transition: none; }
}
.salog-wordmark { color: var(--color-text); flex: 0 0 auto; align-items: center; gap: 0.36em; font-size: 22px; line-height: 1; display: inline-flex; }
.salog-wordmark__symbol { object-fit: contain; width: auto; height: 1.22em; display: block; }
.salog-wordmark__name { letter-spacing: -0.055em; font-size: 1em; font-weight: 800; }
.salog-wordmark[data-tone="inverse"] { color: rgb(255, 255, 255); }
.salog-wordmark.h-9, .salog-wordmark.h-10 { font-size: 26px; }
.app-shell__top { min-width: 0px; }
.app-shell__top > :first-child { min-width: 0px; max-width: calc(100% - 56px); }
.page-title { margin-bottom: 4px; }
.page-title h1 { letter-spacing: -0.035em; }
.ai-avatar { background: var(--color-action-soft); border-radius: 16px; flex: 0 0 auto; justify-content: center; align-items: center; width: 44px; height: 44px; display: flex; }
.ai-avatar > img { object-fit: contain; width: 24px; height: 29px; display: block; }
.ai-avatar--small { border-radius: 13px; width: 36px; height: 36px; }
.ai-avatar--small > img { width: 20px; height: 24px; }
.ai-avatar--thinking > img { animation: 1.8s ease-in-out 0s infinite normal none running ai-breathe; }
.ai-identity { color: var(--color-action-strong); letter-spacing: 0px; font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai-intro { min-width: 0px; }
.ai-intro__heading { align-items: center; gap: 14px; display: flex; }
.ai-intro__title { letter-spacing: -0.025em; color: var(--color-text); margin-top: 4px; font-size: 18px; font-weight: 700; line-height: 1.45; }
.ai-intro__description { color: var(--color-text-muted); margin-top: 7px; font-size: 14px; line-height: 1.65; }
.ai-wait { border: 1px solid var(--color-border); background: var(--color-surface); animation: ai-wait-in .24s var(--ease-soft) both; border-radius: 20px; margin-top: 16px; padding: 18px; }
.ai-wait__header { align-items: center; gap: 12px; display: flex; }
.ai-wait__title { color: var(--color-text); margin-top: 3px; font-size: 15px; font-weight: 650; line-height: 1.55; }
.ai-thinking-dots { flex: 0 0 auto; gap: 3px; width: fit-content; margin-top: 9px; display: flex; }
.ai-thinking-dots i { background: var(--color-action); border-radius: 50%; width: 4px; height: 4px; animation: 1.4s ease-in-out 0s infinite normal none running ai-dot; }
.ai-thinking-dots i:nth-child(2) { animation-delay: 0.16s; }
.ai-thinking-dots i:nth-child(3) { animation-delay: 0.32s; }
.ai-wait__hint { color: var(--color-text-muted); margin-top: 12px; font-size: 13px; line-height: 1.65; }
.ai-wait__details { color: var(--color-text-muted); margin-top: 8px; font-size: 13px; }
.ai-wait__details summary { cursor: pointer; width: fit-content; min-height: 44px; padding: 12px 0px; }
.ai-wait__details ul { gap: 6px; padding: 0px 0px 4px 16px; list-style: outside; display: grid; }
.ai-wait[data-surface="workspace"] { background: var(--color-emphasis); border-color: rgba(169, 170, 176, 0.3); }
@supports (color: color-mix(in lab, red, red)) {
  .ai-wait[data-surface="workspace"] { border-color: color-mix(in srgb,var(--color-on-emphasis-muted) 30%,transparent); }
}
.ai-wait[data-surface="workspace"] .ai-wait__title { color: var(--color-on-emphasis); }
.ai-wait[data-surface="workspace"] :is(.ai-wait__hint, .ai-wait__details) { color: var(--color-on-emphasis-muted); }
.ai-wait[data-surface="workspace"] .ai-identity { color: rgb(183, 198, 255); }
.ai-wait[data-surface="workspace"] summary:focus-visible { outline-color: rgb(255, 255, 255); }
.ai-suggestions { gap: 8px; margin-top: 20px; display: grid; }
.ai-suggestion { border: 1px solid var(--color-border); min-height: 48px; color: var(--color-text); background: var(--color-surface); text-align: left; border-radius: 14px; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 14px; font-size: 14px; line-height: 1.5; display: flex; }
.ai-suggestion svg { color: var(--color-text-muted); flex: 0 0 auto; }
.ai-suggestion:hover { border-color: var(--color-action); background: var(--color-action-soft); }
.ai-user-message { background: var(--color-action-soft); color: var(--color-action-strong); border-radius: 18px 18px 4px; margin-left: 32px; padding: 14px; font-size: 14px; line-height: 1.65; }
.ai-reply { gap: 10px; padding-top: 8px; display: flex; }
.ai-reply > div { flex: 1 1 0%; min-width: 0px; }
.ai-composer { border: 1px solid var(--color-border-strong); background: var(--color-surface); border-radius: 18px; margin-top: 6px; padding: 12px; }
.ai-composer:focus-within { border-color: var(--color-action); box-shadow: 0 0 0 2px var(--color-action-soft); }
.package-assistant [role="log"] { max-height: 420px; }
@keyframes ai-breathe { 
  50% { transform: translateY(-2px) scale(1.04); }
}
@keyframes ai-dot { 
  0%, 70%, 100% { opacity: 0.35; transform: translateY(0px); }
  35% { opacity: 1; transform: translateY(-3px); }
}
@keyframes ai-wait-in { 
  0% { opacity: 0; transform: translateY(6px); }
}
@media (max-width: 359px) {
  .ai-wait { padding: 14px; }
  .ai-wait__header { gap: 9px; }
  .ai-intro { gap: 10px; }
  .ai-user-message { margin-left: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-avatar--thinking > img, .ai-thinking-dots i, .ai-wait { animation: auto ease 0s 1 normal none running none; }
}
.salog-mascot { pointer-events: none; user-select: none; flex: 0 0 auto; justify-content: center; align-items: center; display: inline-flex; }
.salog-mascot > img { object-fit: contain; width: 100%; height: 100%; display: block; }
.salog-mascot[data-mood="thinking"] { transform-origin: 50% 85%; animation: 3.2s ease-in-out 0s infinite normal none running mascot-think; }
.salog-mascot[data-mood="celebrate"] { animation: mascot-hello .32s var(--ease-soft) both; }
@keyframes mascot-think { 
  0%, 100% { transform: rotate(-1deg) translateY(0px); }
  50% { transform: rotate(1deg) translateY(-3px); }
}
@keyframes mascot-hello { 
  0% { opacity: 0; transform: translateY(5px) scale(0.95); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}
@media (max-width: 359px) {
  .growth-welcome__number { gap: 7px; font-size: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .salog-mascot[data-mood] { animation: auto ease 0s 1 normal none running none; }
}
.onboarding-tour__title { font-size: 28px; }
.onboarding-tour__stage { border-radius: 24px; gap: 10px; margin-top: 18px; padding: 12px; display: grid; }
.tour-narrator { align-items: center; gap: 8px; min-height: 98px; display: flex; }
.tour-narrator__character { transform-origin: 50% 90%; animation: tour-guide-in .24s var(--ease-soft) both; flex: 0 0 auto; }
.tour-narrator .salog-mascot[data-mood] { animation: auto ease 0s 1 normal none running none; }
.tour-narrator__speech { background: var(--color-surface); border-radius: 16px 16px 16px 4px; flex: 1 1 0%; min-width: 0px; padding: 10px 12px; position: relative; }
.tour-narrator__speech > span { color: var(--color-action-strong); font-size: 11px; font-weight: 700; }
.tour-narrator__speech > p { color: var(--color-text); word-break: keep-all; overflow-wrap: anywhere; margin-top: 3px; font-size: 13px; line-height: 1.6; }
.onboarding-tour .tour-phone { border-color: var(--color-border); background: var(--color-surface); max-width: none; height: 326px; box-shadow: none; border-radius: 18px; }
.onboarding-tour .tour-phone__content { padding: 14px; }
.onboarding-tour .tour-phone__title { margin-bottom: 10px; font-size: 15px; }
.onboarding-tour .tour-photo-demo__photo { height: 144px; }
.onboarding-tour .tour-photo-demo--saved .tour-photo-demo__photo { height: 132px; }
.onboarding-tour .tour-content-result { min-height: 158px; }
.onboarding-tour .tour-hook { height: 158px; }
.onboarding-tour .tour-shot-list > li { min-height: 50px; }
.onboarding-tour .tour-roadmap, .onboarding-tour .tour-missions { background: var(--color-bg); padding: 12px; }
.tour-explain { color: var(--color-text-muted); justify-content: space-between; align-items: center; gap: 8px; padding-top: 4px; font-size: 10px; display: flex; }
.tour-explain button { min-height: 44px; color: var(--color-action-strong); align-items: center; gap: 5px; padding-inline: 4px; font-size: 12px; font-weight: 600; display: inline-flex; }
.onboarding-tour__stage[data-playing] .tour-demo-action { animation: tour-guide-focus .6s var(--ease-soft) 1; }
.onboarding-tour__stage[data-playing] .tour-mission[aria-pressed="false"] { outline: 2px solid var(--color-action); outline-offset: 3px; border-radius: 10px; }
@keyframes tour-guide-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes tour-guide-focus { 
  50% { box-shadow: 0 0 0 4px var(--color-action-soft); transform: scale(0.99); }
}
@media (max-width: 359px) {
  .onboarding-tour__title { font-size: 25px; }
  .tour-narrator { gap: 4px; }
  .tour-narrator__character .salog-mascot { width: 72px !important; height: 72px !important; }
  .tour-narrator__speech { padding: 9px 10px; }
  .tour-explain { flex-wrap: wrap; gap: 0px; }
  .tour-explain > span { flex: 1 1 0%; min-width: 140px; }
}
@media (prefers-reduced-motion: reduce) {
  .tour-narrator__character, .onboarding-tour__stage[data-playing] .tour-demo-action { animation: auto ease 0s 1 normal none running none; }
}
.tour-content-result--enter { animation: tour-content-in .24s var(--ease-soft) both; }
@keyframes tour-content-in { 
  0% { opacity: 0.6; transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
  .tour-content-result--enter { animation: auto ease 0s 1 normal none running none; }
}
:root { --ease-responsive: cubic-bezier(.22,1.12,.36,1); }
.app-screen-content > :is(section, .home-daily, .home-overview) { animation: surface-arrive .32s var(--ease-composer) backwards; }
.app-screen-content > :is(section, .home-daily, .home-overview):nth-child(2) { animation-delay: 40ms; }
.app-screen-content > :is(section, .home-daily, .home-overview):nth-child(3) { animation-delay: 75ms; }
.glass-dock-link[aria-current="page"] svg { transform-origin: 50% 70%; animation: nav-settle .3s var(--ease-responsive) both; }
.tour-mission__check[data-done] svg { transform-origin: center center; animation: tour-check-in .28s var(--ease-responsive) both; }
.tour-demo-success { animation: surface-arrive .24s var(--ease-composer) both; }
@keyframes surface-arrive { 
  0% { opacity: 0; transform: translateY(9px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes nav-settle { 
  0% { transform: translateY(2px) scale(0.86); }
  65% { transform: translateY(-2px) scale(1.05); }
  100% { transform: translateY(0px) scale(1); }
}
@keyframes tour-check-in { 
  0% { opacity: 0; transform: scale(0.35) rotate(-16deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .app-screen-content > :is(section, .home-daily, .home-overview), .glass-dock-link[aria-current="page"] svg, .tour-mission__check[data-done] svg, .tour-demo-success { animation: auto ease 0s 1 normal none running none; }
}
.rogi-greeting { transform-origin: 50% 88%; width: 100%; height: 100%; animation: 1.6s cubic-bezier(0.45, 0, 0.55, 1) 0s 1 normal none running rogi-greeting; display: block; }
.rogi-greeting > img { object-fit: contain; width: 100%; height: 100%; display: block; }
@keyframes rogi-greeting { 
  0%, 100% { transform: rotate(0deg); }
  35% { transform: rotate(-2deg); }
  65% { transform: rotate(0.7deg); }
}
@media (prefers-reduced-motion: reduce) {
  .rogi-greeting { animation: auto ease 0s 1 normal none running none; }
}
.xhs-home { gap: 24px; min-width: 0px; display: grid; }
.xhs-home__intro { color: var(--color-text-muted); margin-top: 2px; font-size: 14px; line-height: 1.6; }
.xhs-section-heading { justify-content: space-between; align-items: baseline; gap: 12px; min-width: 0px; display: flex; }
.xhs-section-heading h2 { color: var(--color-text); font-size: 16px; font-weight: 700; line-height: 1.5; }
.xhs-section-heading > span { color: var(--color-text-muted); flex: 0 0 auto; font-size: 11px; line-height: 1.5; }
.xhs-topic-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 8px; margin-top: 12px; display: grid; }
.xhs-topic { min-width: 0px; min-height: 92px; color: var(--color-text-muted); border: 1px solid rgba(0, 0, 0, 0); border-radius: 14px; flex-direction: column; justify-content: flex-start; align-items: center; gap: 8px; padding: 10px 3px; font-size: 12px; font-weight: 600; line-height: 18px; transition: background-color 0.12s, border-color 0.12s; display: flex; }
.xhs-topic:hover { background: var(--color-surface); }
.xhs-topic[aria-current="page"] { border-color: var(--color-action); background: var(--color-surface); color: var(--color-action-strong); }
.xhs-topic[aria-disabled="true"] { opacity: 0.55; cursor: default; }
.xhs-topic__photo { border-radius: 11px; flex: 0 0 auto; width: 44px; height: 44px; display: block; position: relative; }
.xhs-topic__photo > .studio-photo { border-radius: inherit; }
.xhs-topic__check { border: 2px solid var(--color-surface); background: var(--color-action); width: 18px; height: 18px; color: var(--color-on-action); border-radius: 50%; justify-content: center; align-items: center; display: flex; position: absolute; bottom: -3px; right: -4px; }
.xhs-image-note { color: var(--color-text-muted); margin-top: 8px; font-size: 10px; line-height: 1.5; }
.xhs-compose { background: var(--color-surface); border-radius: 20px; padding: 20px; }
.xhs-compose__intro { grid-template-columns: minmax(0px, 1fr) 72px; align-items: start; gap: 16px; display: grid; }
.xhs-compose__photo { border-radius: 12px; height: 96px; overflow: hidden; }
.xhs-compose__eyebrow { color: var(--color-action-strong); font-size: 11px; font-weight: 650; line-height: 1.5; }
.xhs-compose h2 { letter-spacing: -0.025em; margin-top: 5px; font-size: 21px; font-weight: 750; line-height: 1.4; }
.xhs-compose__description { color: var(--color-text-muted); margin-top: 7px; font-size: 13px; line-height: 1.6; }
.xhs-compose__outputs { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 10px; margin-top: 16px; padding-block: 16px; display: grid; }
.xhs-compose__outputs li { flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0px; display: flex; }
.xhs-compose__outputs strong { font-size: 12px; font-weight: 650; line-height: 18px; }
.xhs-compose__outputs span { color: var(--color-text-muted); font-size: 11px; line-height: 17px; }
.xhs-compose__basis { color: var(--color-text-muted); margin-top: 14px; font-size: 12px; line-height: 1.6; }
.xhs-compose__action { margin-top: 14px; }
.xhs-compose__usage { color: var(--color-text-muted); text-align: center; margin-top: 10px; font-size: 11px; line-height: 1.6; }
.xhs-compose__message { color: var(--color-critical); overflow-wrap: anywhere; margin-top: 12px; font-size: 13px; line-height: 1.6; }
.xhs-references { min-width: 0px; }
.xhs-references__content { background: var(--color-surface); border-radius: 20px; margin-top: 12px; padding: 0px 16px; }
.xhs-references__more > summary, .xhs-tags > summary { min-height: 48px; color: var(--color-text-muted); cursor: pointer; justify-content: space-between; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; list-style: none; display: flex; }
.xhs-references__more > summary::-webkit-details-marker { display: none; }
.xhs-tags > summary::-webkit-details-marker { display: none; }
.xhs-references__more { border-top: 1px solid var(--color-border); }
.xhs-references__more[open] > summary svg, .xhs-tags[open] > summary svg { transform: rotate(180deg); }
.xhs-references__note { color: var(--color-text-muted); margin-top: 9px; font-size: 11px; line-height: 1.6; }
.xhs-reference-empty { padding: 18px 0px 0px; }
.xhs-reference-empty > p:first-child { font-size: 14px; font-weight: 600; line-height: 1.6; }
.xhs-reference-empty > p + p { color: var(--color-text-muted); margin-top: 5px; font-size: 13px; line-height: 1.6; }
.xhs-reference-empty > a { min-height: 44px; color: var(--color-action-strong); align-items: center; gap: 5px; margin-top: 7px; font-size: 12px; display: inline-flex; }
.xhs-tags { border: 1px solid var(--color-border); border-radius: 16px; padding: 0px 16px; }
.xhs-tags__content { padding: 0px 0px 16px; }
@media (max-width: 359px) {
  .xhs-home { gap: 20px; }
  .xhs-topic-grid { gap: 6px; }
  .xhs-compose { padding: 16px; }
  .xhs-compose__intro { gap: 12px; }
  .xhs-compose h2 { font-size: 19px; }
  .xhs-compose__outputs { gap: 6px; }
  .xhs-references__content { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .xhs-topic { transition: none; }
}
.staff-doc-fields :is(input, textarea, select) { font-size: 16px; }
.staff-doc-fields :is(input, textarea, select, button) { scroll-margin-block: 16px calc(6.5rem + env(safe-area-inset-bottom)); }
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@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-pan-x { syntax: "*"; inherits: false; }
@property --tw-pan-y { syntax: "*"; inherits: false; }
@property --tw-pinch-zoom { syntax: "*"; inherits: false; }
@property --tw-scroll-snap-strictness { syntax: "*"; inherits: false; initial-value: proximity; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-divide-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-leading { syntax: "*"; inherits: false; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-ordinal { syntax: "*"; inherits: false; }
@property --tw-slashed-zero { syntax: "*"; inherits: false; }
@property --tw-numeric-figure { syntax: "*"; inherits: false; }
@property --tw-numeric-spacing { syntax: "*"; inherits: false; }
@property --tw-numeric-fraction { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@property --tw-backdrop-blur { syntax: "*"; inherits: false; }
@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }
@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }
@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }
@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-backdrop-invert { syntax: "*"; inherits: false; }
@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }
@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }
@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-content { syntax: "*"; inherits: false; initial-value: ""; }
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
:root { --card-shadow: 0 2px 12px #0000000d; --bar-shadow: 0 -4px 16px #0000000f; --glass-surface: #fff; --capsule-surface: #fff; --capsule-surface-open: #fff; --glass-edge: #eee; --glass-shadow: 0 4px 16px #00000014; --dock-sel: #f2f2f4; --dock-sel-opacity: 1; --glow-icon-ink: #191919; --glow-icon-start: #f2f2f4; --glow-icon-mid: #f2f2f4; --glow-icon-end: #f2f2f4; }
.glow-hero { background: var(--color-surface); color: var(--color-text); box-shadow: var(--card-shadow); }
.home-deck { padding-bottom: 22px; position: relative; overflow: hidden; }
.home-deck-back { border-radius: var(--radius-3xl); pointer-events: none; position: absolute; inset: 0px 0px 22px; }
.home-deck-back-far { z-index: 0; background: var(--color-border); transform: translateY(20px) scale(0.94) rotate(-1deg); }
.home-deck-back-near { z-index: 1; background: var(--color-surface-sunken); transform: translateY(11px) scale(0.975) rotate(0.7deg); }
.home-deck-front { z-index: 2; touch-action: pan-y; min-height: 0px; transition: transform .38s var(--ease-spring); flex-direction: column; display: flex; position: relative; }
@starting-style {
  .home-deck-enter { transform: translateY(11px) scale(0.975) rotate(0.7deg) !important; }
}
.home-feature-chip { color: var(--color-action-strong); background: var(--color-action-soft); }
.home-feature-icon { color: var(--color-text); background: var(--color-surface-sunken); border-radius: 9999px; }
.home-hook-panel { background: var(--color-surface-sunken); }
.home-evidence-summary { list-style: none; }
.home-evidence-summary::-webkit-details-marker { display: none; }
.home-feature-primary { border-radius: var(--radius-md); background: var(--color-action); color: var(--color-on-action); transition: filter .12s ease, transform .12s var(--ease-soft); font-weight: 700; }
.home-feature-primary:active, .bg-glow-button:active { transform: scale(0.98); }
.home-feature-primary:hover { filter: brightness(0.95); }
.home-feature-icon:hover { background: var(--color-border); }
.home-feature-primary:disabled:not([aria-busy="true"]), .home-feature-icon:disabled { opacity: 0.5; }
@media (prefers-reduced-motion: reduce) {
  .home-deck-front, .home-evidence-summary svg { transition: none; }
}
.glow-icon { background: var(--color-surface-sunken); color: var(--color-text); }
.text-glow-on { color: var(--color-text); }
.text-glow-muted { color: var(--color-text-muted); }
.bg-glow-button { background-color: var(--color-action); }
.text-on-glow-button { color: var(--color-on-action); }
.glass-dock { padding-bottom: env(safe-area-inset-bottom); background: var(--color-surface); box-shadow: var(--bar-shadow); border-top: 1px solid var(--color-border); bottom: 0px; left: 0px; right: 0px; }
.glass-dock > ul { max-width: 28rem; height: 64px; margin: 0px auto; position: relative; }
.glass-dock-link { min-width: 44px; min-height: 44px; }
.glow-hero input { color: rgb(18, 18, 18); background-color: rgb(255, 255, 255); }
.ai-capsule { z-index: 21; left: 50%; bottom: calc(env(safe-area-inset-bottom) + 76px); color: rgb(255, 255, 255); width: calc(100% - 32px); max-width: 408px; max-height: min(360px, 100dvh - 120px); animation: ai-notice-in .2s var(--ease-soft) both; background: rgb(24, 33, 54); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 24px; padding: 16px; position: fixed; overflow-y: auto; transform: translateX(-50%); box-shadow: rgba(32, 40, 62, 0.18) 0px 8px 32px; }
.ai-capsule__row { align-items: center; gap: 10px; display: flex; }
.ai-capsule__identity { color: rgb(186, 198, 231); font-size: 11px; font-weight: 650; }
.ai-capsule__title { overflow-wrap: anywhere; margin-top: 5px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.ai-capsule__subject { -webkit-line-clamp: 2; color: rgb(209, 217, 235); overflow-wrap: anywhere; -webkit-box-orient: vertical; margin-top: 7px; font-size: 12px; line-height: 1.6; display: -webkit-box; overflow: hidden; }
.ai-capsule__actions { grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.2fr); gap: 8px; margin-top: 14px; display: grid; }
.ai-capsule__action, .ai-capsule__dismiss { overflow-wrap: anywhere; border-radius: 12px; justify-content: center; align-items: center; min-height: 44px; padding: 10px 12px; font-size: 14px; font-weight: 650; display: flex; }
.ai-capsule__action { color: rgb(32, 40, 62); background: rgb(255, 255, 255); }
.ai-capsule__dismiss { color: rgb(224, 229, 241); background: rgba(255, 255, 255, 0.08); }
.ai-capsule button:focus-visible { outline-color: rgb(200, 211, 255); }
.ai-capsule-detail { color: rgb(209, 217, 235); overflow-wrap: anywhere; margin-top: 10px; font-size: 13px; line-height: 1.6; }
@keyframes ai-notice-in { 
  0% { opacity: 0; translate: 0px 6px; }
}
.ai-spinner { border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top-color: var(--color-action); border-radius: 999px; width: 14px; height: 14px; animation: 0.8s linear 0s infinite normal none running ai-spin; display: block; }
@keyframes ai-spin { 
  100% { transform: rotate(360deg); }
}
:root:has(.ai-capsule) main { padding-bottom: calc(20rem + env(safe-area-inset-bottom)); }
@media (prefers-reduced-motion: reduce) {
  .ai-capsule { transition: none; }
  .ai-spinner, .ai-capsule { animation: auto ease 0s 1 normal none running none; }
}
.coach-submit-float { bottom: calc(env(safe-area-inset-bottom) + 72px); z-index: 10; position: sticky; }
.coach-submit-float > button { box-shadow: var(--glass-shadow); }
.home-idea-cover { border-radius: var(--radius-3xl) var(--radius-3xl) 0 0; background: var(--color-bg); min-height: 142px; margin: -20px -20px 16px; padding: 20px; position: relative; overflow: hidden; }
.home-idea-caption { z-index: 1; justify-items: start; gap: 10px; max-width: 47%; display: grid; position: relative; }
.home-idea-title { letter-spacing: -0.04em; font-size: 24px; line-height: 1.3; }
.home-idea-conditions { flex-wrap: wrap; gap: 14px; margin-top: 12px; display: flex; }
.home-idea-conditions > span { white-space: nowrap; align-items: center; gap: 5px; display: inline-flex; }
.home-idea-details { margin-top: 8px; }
.home-idea-detail-body { padding: 8px 0px 16px; }
.home-topic-art { position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }
.home-topic-plus { transition: transform .26s var(--ease-spring); }
.home-topic-toggle[aria-expanded="true"] .home-topic-plus { transform: rotate(45deg); }
.home-topic-input { font-size: 16px; }
.home-topic-input:focus-visible { outline-color: var(--color-text-muted); }
@media (max-width: 359px) {
  .home-idea-title { font-size: 22px; }
  .home-topic-art { transform-origin: 100% center; right: 12px; transform: translateY(-50%) scale(0.85); }
}
@media (prefers-reduced-motion: reduce) {
  .home-topic-plus { transition: none; }
}
.store-logo { mix-blend-mode: multiply; }




/* The iPhone's status bar and home indicator, which a browser doesn't give the app. */
html, body { scrollbar-width: none; background: #f5f6fa; }
html:not(.live) { overflow: hidden; }
html::-webkit-scrollbar { display: none; }
.app-shell { padding-top: calc(1rem + 50px) !important; }
.ph-status { position: fixed; z-index: 40; inset: 0 0 auto; height: 50px; padding: 18px 28px 0 44px; display: flex; justify-content: space-between; align-items: center; font-size: 16px; color: #20283e; background: #f5f6fa; pointer-events: none; }
.ph-status i { display: flex; }
.ph-status.on-blue { color: #fff; background: #3f5bd8; }
.ph-home { position: fixed; z-index: 40; left: 50%; bottom: 7px; width: 134px; height: 5px; margin-left: -67px; border-radius: 3px; background: #20283e; pointer-events: none; }
nav.glass-dock { padding-bottom: 16px; }
a, button { -webkit-tap-highlight-color: transparent; }
a:active, button:active { opacity: 0.65; }
/* On main, not the screen: a transform on the screen would stop the tab bar being fixed to the viewport. */
[data-screen]:not([hidden]) main { animation: ph-in 0.28s ease both; }
@keyframes ph-in { from { opacity: 0; transform: translateX(10px); } }
@media (prefers-reduced-motion: reduce) { [data-screen]:not([hidden]) main { animation: none; } }
