:root{--ink: #15140f;--ink-2: #2a2822;--ink-3: #4a463d;--muted: #6e685c;--subtle: #9a9385;--line: #efe6d2;--line-2: #e2d6bc;--paper: #fffdf7;--paper-2: #fbf5e6;--surface: #ffffff;--sun: #ffd54d;--sun-deep: #f4b023;--sun-soft: #fff4c7;--sun-wash: #fffaf0;--sun-ink: #5c4300;--sun-grad: linear-gradient(135deg, #ffe680 0%, #ffd54d 42%, #ffbf1f 100%);--sun-grad-soft: linear-gradient(160deg, #fffaea 0%, #fff1c2 100%);--gmi-red: #ed1c24;--dd: #f4b023;--cdm: #4f7a5a;--ibs: #2f4a6d;--ok: #2e7d4f;--ok-soft: #e6f2ea;--warn: #b26a00;--danger: #c0392b;--danger-soft: #fbeae7;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(92 67 0 / .05), 0 1px 1px rgb(92 67 0 / .03);--shadow-2: 0 14px 34px -14px rgb(92 67 0 / .22), 0 2px 6px rgb(92 67 0 / .05);--shadow-3: 0 34px 70px -24px rgb(92 67 0 / .32);--shadow-sun: 0 14px 30px -12px rgb(244 176 35 / .7);--ring: 0 0 0 4px rgb(255 213 77 / .55);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--t-fast: .16s;--t: .28s;--t-slow: .52s;--gutter: clamp(16px, 4vw, 40px);--maxw: 1200px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0;font-variation-settings:"opsz" 96}h1{font-size:clamp(2.2rem,5vw,4rem)}h2{font-size:clamp(1.7rem,3.2vw,2.6rem)}h3{font-size:1.35rem}h4{font-size:1.1rem}p{margin:0}a{color:inherit}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--sun);color:var(--ink)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}.eyebrow{font-family:var(--font-ui);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.lede{font-size:1.08rem;color:var(--ink-3);line-height:1.7}.muted{color:var(--muted)}.serif{font-family:var(--font-display)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mark{background:linear-gradient(transparent 62%,var(--sun) 62%,var(--sun) 92%,transparent 92%);padding:0 .08em}.btn{--bg: var(--sun-grad);--fg: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 1.35rem;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--bg);color:var(--fg);font-weight:700;font-size:.95rem;letter-spacing:.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),background-color var(--t) var(--ease),color var(--t) var(--ease),opacity var(--t) var(--ease);-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sun)}.btn:active{transform:translateY(0) scale(.98);box-shadow:none}.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}.btn svg{width:18px;height:18px;flex:none}.btn-sun{--bg: var(--sun-grad);--fg: var(--ink);box-shadow:0 8px 20px -12px #f4b023e6}.btn-ghost{--bg: var(--surface);--fg: var(--ink);border-color:var(--line-2)}.btn-ghost:hover{--bg: var(--surface);border-color:var(--sun-deep);box-shadow:var(--shadow-2)}.btn-quiet{--bg: transparent;--fg: var(--ink-3);padding:0 .9rem}.btn-quiet:hover{--bg: var(--paper-2);box-shadow:none}.btn-light{--bg: var(--paper);--fg: var(--ink)}.btn-sm{min-height:36px;padding:0 .95rem;font-size:.86rem}.btn-lg{min-height:56px;padding:0 1.8rem;font-size:1.02rem}.btn-block{width:100%}.btn-danger{--bg: transparent;--fg: var(--danger);border-color:#c0392b4d}.field{display:grid;gap:.4rem;align-content:start}.field>label,.label{font-size:.82rem;font-weight:700;color:var(--ink-2)}.field .hint{font-size:.8rem;color:var(--muted)}.field .error{font-size:.8rem;color:var(--danger);font-weight:600;line-height:1.35;animation:err-in .22s var(--ease) both}@keyframes err-in{0%{opacity:0;transform:translateY(-4px)}}.req:after{content:" *";color:var(--sun-deep)}.input,.select,.textarea{width:100%;min-height:48px;padding:.7rem .95rem;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;outline:none;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--sun-deep);box-shadow:var(--ring)}.input.ng-invalid.ng-touched,.select.ng-invalid.ng-touched{border-color:var(--danger)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath stroke='%236E685C' stroke-width='1.8' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}.textarea{resize:none;line-height:1.7}.check{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;font-size:.92rem;line-height:1.5}.check input{appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--line-2);border-radius:7px;background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.check input:after{content:"";width:10px;height:6px;border:2px solid var(--ink);border-top:0;border-right:0;transform:rotate(-45deg) scale(0);transition:transform var(--t) var(--ease-spring);margin-top:-2px}.check input:checked{background:var(--sun);border-color:var(--sun-deep)}.check input:checked:after{transform:rotate(-45deg) scale(1)}.radio-cards{display:grid;gap:.75rem}.radio-card{position:relative;display:grid;gap:.25rem;padding:1rem 1.1rem 1rem 3rem;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--t) var(--ease),background var(--t) var(--ease),box-shadow var(--t) var(--ease)}.radio-card input{position:absolute;opacity:0}.radio-card:before{content:"";position:absolute;left:1.1rem;top:1.15rem;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface);transition:border var(--t) var(--ease-spring)}.radio-card:has(input:checked){border-color:var(--sun-deep);background:var(--sun-wash);box-shadow:0 0 0 3px #ffd54d59}.radio-card:has(input:checked):before{border:6px solid var(--sun-deep)}.radio-card:has(input:focus-visible){box-shadow:var(--ring)}.radio-card strong{font-size:.95rem}.radio-card span{font-size:.84rem;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.admin-content :where(.card){padding:clamp(16px,2vw,22px)}.chip{display:inline-flex;align-items:center;gap:.4rem;height:26px;padding:0 .7rem;border-radius:var(--radius-pill);background:var(--paper-2);color:var(--ink-3);font-size:.74rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.chip-sun{background:var(--sun-soft);color:var(--sun-ink)}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-dark{background:var(--sun);color:var(--ink)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.block-badge{--c: var(--dd);display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 16%,white);color:color-mix(in srgb,var(--c) 70%,black);font-weight:800;font-size:.82rem;letter-spacing:.04em}.theme-DD{--c: var(--dd)}.theme-CDM{--c: var(--cdm)}.theme-IBS{--c: var(--ibs)}.divider{height:1px;background:var(--line);border:0;margin:0}.sunlight{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.sunlight i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;will-change:transform}.sunlight i:nth-child(1){width:46vw;height:46vw;max-width:720px;max-height:720px;right:-8vw;top:-14vw;background:radial-gradient(circle,#ffd54d,#ffd54d00 68%);animation:drift-a 18s ease-in-out infinite alternate}.sunlight i:nth-child(2){width:38vw;height:38vw;max-width:600px;max-height:600px;left:-10vw;bottom:-16vw;background:radial-gradient(circle,#ffe3a8,#ffe3a800 70%);animation:drift-b 22s ease-in-out infinite alternate}.sunlight i:nth-child(3){width:26vw;height:26vw;max-width:420px;max-height:420px;left:38%;top:30%;background:radial-gradient(circle,#fff0b3,#fff0b300 70%);animation:drift-c 26s ease-in-out infinite alternate}@keyframes drift-a{to{transform:translate(-6vw,5vw) scale(1.12)}}@keyframes drift-b{to{transform:translate(7vw,-4vw) scale(1.18)}}@keyframes drift-c{to{transform:translate(-8vw,-6vw) scale(.86)}}.dotgrid{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(92,67,0,.13) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.rise{animation:rise var(--t-slow) var(--ease) both}.rise-1{animation-delay:60ms}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.18s}.rise-4{animation-delay:.24s}.skeleton{border-radius:12px;background:linear-gradient(90deg,var(--paper-2) 0,#ece5d5 40%,var(--paper-2) 80%) var(--paper-2);background-size:800px 100%;animation:shimmer 1.4s linear infinite}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d, 0ms)}.reveal.in{opacity:1;transform:none}::view-transition-old(root){animation:.18s var(--ease) both vt-out}::view-transition-new(root){animation:.36s var(--ease) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}.boot-splash{position:fixed;inset:0;display:grid;place-items:center;background:var(--paper)}.boot-splash span{width:44px;height:44px;border-radius:50%;border:3px solid var(--sun);border-right-color:transparent;animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
