:root{--brand-teal: #23c7b3;--brand-teal-dark: #209c8d;--brand-coral: #f57b4f;--brand-light-orange: #f4a261;--brand-coral-dark: #d9653c;--brand-coral-light: #f9a185;--brand-navy: #083e54;--brand-sand: #f4dea8;--brand-cream: #fffbf0;--brand-slate: #6a8789;--brand-disabled: #c4d4d5;--brand-dark-bg: #003044;--brand-teal-light: #4ad6c5;--brand-checkbox-border: #d1d1d6;--brand-radio-muted: #8e8e93;--bg-page: var(--brand-cream);--bg-page-alt: #fdf6e4;--bg-card: var(--brand-cream);--bg-card-nested: var(--brand-cream);--bg-input: var(--brand-cream);--surface-bar: var(--bg-page);--surface-bar-translucent: rgba(255, 251, 240, .85);--surface-bar-text: var(--brand-navy);--surface-bar-text-muted: rgba(8, 62, 84, .8);--surface-bar-border: var(--brand-light-orange);--surface-footer: var(--brand-navy);--surface-footer-text: var(--brand-cream);--surface-footer-text-muted: rgba(255, 251, 240, .8);--brand-name: var(--brand-coral);--footer-brand: var(--brand-coral);--countdown: var(--brand-coral);--countdown-far: var(--brand-teal);--text-primary: var(--brand-navy);--text-secondary: var(--brand-slate);--text-tertiary: rgba(106, 135, 137, .75);--border-color: var(--brand-coral);--border-input: var(--brand-slate);--border-subtle: rgba(106, 135, 137, .25);--border-dashed: 1px dashed var(--brand-slate);--border-dashed-thin: .5px dashed var(--brand-slate);--border-dashed-coral: 1px dashed var(--brand-coral);--border-dashed-coral-thin: .5px dashed var(--brand-coral);--color-error: var(--brand-coral);--color-error-bg: #fdeee7;--color-error-border: rgba(245, 123, 79, .45);--color-success: var(--brand-teal-dark);--color-success-bg: #e6f8f5;--color-success-border: rgba(35, 199, 179, .45);--color-warning: #b07d1a;--color-warning-bg: #fdf3dc;--color-warning-text: #7a5610;--btn-on-color: var(--brand-cream);--btn-surface: var(--bg-page);--btn-outline-ink: var(--brand-slate);--btn-primary-bg: var(--brand-teal);--btn-primary-text: var(--btn-on-color);--btn-primary-hover-bg: var(--brand-teal-dark);--btn-disabled-bg: var(--brand-disabled);--btn-disabled-text: var(--btn-on-color);--link-color: var(--brand-teal-dark);--shadow-sm: 0 2px 8px rgba(11, 65, 86, .08);--shadow-md: 0 4px 20px rgba(11, 65, 86, .1);--shadow-lg: 0 8px 40px rgba(11, 65, 86, .12);--shadow-tile-edge: -1px -1px 0 rgba(106, 135, 137, .15);--shadow-tile: var(--shadow-tile-edge), 4px 4px 0 rgba(244, 162, 97, .15);--shadow-tile-coral: var(--shadow-tile-edge), 4px 4px 0 rgba(245, 123, 79, .15);--shadow-tile-teal: var(--shadow-tile-edge), 4px 4px 0 rgba(35, 199, 179, .15);--shadow-panel: -3px 3px 0 rgba(244, 162, 97, .15);--gift-strip-bg: var(--brand-slate);--gift-strip-text: var(--brand-cream);--shadow-tile-taken: var(--shadow-tile-edge), 4px 4px 0 rgba(106, 135, 137, .15);--avatar-placeholder: #d9d9d9;--input-placeholder: var(--brand-slate);--gutter: clamp(24px, 5vw, 72px);--font-brand: clamp(22px, 2.23vw, 32px);--font-section-title: clamp(25px, 2.23vw, 32px);--font-modal-title: clamp(22px, 1.95vw, 28px);--font-tab: clamp(15px, 1.39vw, 20px);--font-tile-title: clamp(20px, 1.6vw, 23px);--font-tile-meta: clamp(12px, .91vw, 13px);--tile-gap: clamp(12px, 1.67vw, 24px);--tile-height: clamp(72px, 6.67vw, 96px);--tile-height-tall: clamp(84px, 7.64vw, 110px);--tile-thumb: clamp(72px, 7.78vw, 112px);--space-page-top: clamp(24px, 5.56vw, 80px);--space-page-top-back: clamp(16px, 3.34vw, 48px);--space-page-bottom: clamp(24px, 5vw, 72px);--space-section: clamp(2rem, 4.45vw, 4rem);--space-block: clamp(1rem, 2.23vw, 2rem);--radius-ui: 10px;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--radius-pill: 50px;--radius-input: var(--radius-ui);--radius-card: var(--radius-ui);--control-height: 48px;--control-min-width: 120px;--font-heading: "Baloo 2", cursive, system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, sans-serif;--skeleton-from: var(--bg-page-alt);--skeleton-via: var(--brand-sand);--skeleton-to: var(--bg-page-alt);--chip-bg: var(--bg-card-nested);--chip-border: var(--brand-slate);--chip-text: var(--text-secondary);--gradient-page: linear-gradient(180deg, var(--brand-cream) 0%, var(--bg-page-alt) 100%);--gradient-page-subtle: linear-gradient(180deg, var(--brand-cream) 0%, var(--bg-page-alt) 100%);--coral: var(--brand-coral);--coral-light: var(--brand-coral-light);--coral-dark: var(--brand-coral-dark);--yellow: var(--brand-sand);--yellow-light: var(--brand-sand);--yellow-dark: var(--brand-sand);--sky: var(--brand-teal);--sky-light: var(--brand-teal);--sky-dark: var(--brand-teal-dark);--mint: var(--brand-teal);--mint-light: var(--brand-teal);--mint-dark: var(--brand-teal-dark);--purple: var(--brand-navy);--purple-light: var(--brand-navy);--pink: var(--brand-coral);--accent: var(--brand-teal)}@media(max-width:600px){:root{--btn-weight: 700;--control-min-width: 88px;--space-page-top: 32px;--space-page-top-back: 32px;--space-page-bottom: 32px;--space-section: 48px;--space-block: 24px}}.theme-dark{--bg-page: var(--brand-dark-bg);--bg-page-alt: var(--brand-dark-bg);--bg-card: var(--brand-dark-bg);--bg-card-nested: #0c4a63;--bg-input: var(--brand-dark-bg);--brand-teal-dark: var(--brand-teal);--surface-bar: var(--brand-dark-bg);--surface-bar-translucent: rgba(0, 48, 68, .85);--surface-bar-text: var(--brand-cream);--surface-bar-text-muted: rgba(255, 251, 240, .8);--surface-bar-border: var(--brand-coral);--brand-name: var(--brand-light-orange);--footer-brand: var(--brand-coral);--gift-strip-bg: var(--brand-disabled);--gift-strip-text: var(--brand-dark-bg);--avatar-placeholder: #75787d;--text-primary: var(--brand-cream);--text-secondary: var(--brand-disabled);--text-tertiary: rgba(196, 212, 213, .75);--border-color: var(--brand-light-orange);--border-input: var(--brand-disabled);--border-subtle: rgba(196, 212, 213, .25);--border-dashed: 1px dashed var(--brand-disabled);--border-dashed-thin: .5px dashed var(--brand-disabled);--input-placeholder: var(--brand-disabled);--btn-on-color: var(--brand-dark-bg);--btn-outline-ink: var(--brand-disabled);--btn-disabled-bg: var(--brand-slate);--btn-primary-hover-bg: var(--brand-teal-light);--color-error-bg: #4a2418;--color-error-border: rgba(245, 123, 79, .5);--color-success-bg: #0d4a45;--color-success-border: rgba(35, 199, 179, .5);--color-warning: var(--brand-sand);--color-warning-bg: #3d2e0a;--color-warning-text: var(--brand-sand);--link-color: var(--brand-teal);--shadow-tile-coral: var(--shadow-tile-edge), 4px 4px 0 rgba(255, 111, 72, .25);--shadow-tile-teal: var(--shadow-tile-edge), 4px 4px 0 rgba(0, 108, 114, .25);--shadow-tile: var(--shadow-tile-edge), 4px 4px 0 rgba(244, 162, 97, .25);--shadow-panel: -3px 3px 0 rgba(244, 162, 97, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .35);--skeleton-from: #0c4a63;--skeleton-via: #14607f;--skeleton-to: #0c4a63;--chip-bg: #0c4a63;--chip-border: var(--brand-slate);--chip-text: var(--brand-disabled);--gradient-page: var(--brand-dark-bg);--gradient-page-subtle: var(--brand-dark-bg)}.dashboard .create input[type=text],.dashboard .create-dialog input[type=text],.dashboard .create-dialog textarea{width:100%;min-width:0;min-height:var(--control-height);padding:12px;border:var(--border-dashed-thin);border-radius:var(--radius-ui);background:transparent;font-family:var(--font-body);font-size:clamp(16px,1.39vw,20px);line-height:1.2;color:var(--text-primary);box-sizing:border-box}.dashboard .create input[type=text]::placeholder,.dashboard .create-dialog input[type=text]::placeholder,.dashboard .create-dialog textarea::placeholder{color:var(--input-placeholder)}.dashboard .create input[type=text]:focus-visible,.dashboard .create-dialog input[type=text]:focus-visible,.dashboard .create-dialog textarea:focus-visible{border-color:transparent;outline:2px solid var(--brand-coral);outline-offset:-2px}.image-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.image-thumb{width:64px;height:64px;border-radius:var(--radius-ui);object-fit:cover;flex-shrink:0}.file-field{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 1 auto;min-width:0;height:var(--control-height);padding:0 12px;border:var(--border-dashed-thin);border-radius:var(--radius-ui);color:var(--input-placeholder);font-size:clamp(16px,1.39vw,20px);line-height:1.2;cursor:pointer}.file-field:focus-within{border-color:transparent;outline:2px solid var(--brand-coral);outline-offset:-2px}.file-field input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-field-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.remove-image-toggle{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer}.remove-image-toggle input[type=checkbox]{width:18px;height:18px;min-height:0}.context-actions{position:relative;display:inline-flex}.menu-trigger{min-height:30px;min-width:30px;border:none;background:none;border-radius:var(--radius-ui);color:var(--text-primary);font-size:1.2rem;font-weight:700;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{color:var(--text-secondary)}.menu-panel{position:absolute;top:calc(100% + .3rem);right:0;min-width:160px;background:var(--bg-card);border:var(--border-dashed-thin);border-radius:var(--radius-ui);padding:0;overflow:hidden;z-index:30}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:37px;text-align:left;padding:0 14px;border:none;border-radius:0;background:transparent;font-family:var(--font-body);font-size:16px;font-weight:400;color:var(--text-primary);cursor:pointer}.menu-item.danger{color:var(--brand-coral);background:transparent;border-color:transparent}.menu-item app-icon{flex-shrink:0;display:inline-flex}.menu-item+.menu-item{background-image:linear-gradient(to right,var(--brand-slate) 0,var(--brand-slate) 100%);background-repeat:no-repeat;background-size:calc(100% - 24px) .5px;background-position:12px top}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes springBounce{0%{transform:scale(1)}15%{transform:scale(1.08)}30%{transform:scale(.95)}45%{transform:scale(1.03)}60%{transform:scale(.98)}75%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.05)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}body{min-width:320px;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-page);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2}a{color:var(--link-color);text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}:focus-visible{outline:2px solid var(--coral);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-radius:var(--radius-input)}.app-splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--bg-page)}.app-splash__spinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--border-subtle);border-top-color:var(--coral);animation:spin .8s linear infinite}.cdk-drag-preview{overflow:visible;border:0;padding:0;background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
