:root{color-scheme:light;--ground: #f9fafb;--surface: #ffffff;--raised: #f3f4f6;--border: #e5e7eb;--rule: #f2f2f2;--control: #d1d5db;--text: #111827;--muted: #5f6672;--accent: #2f7a52;--accent-hover: #256443;--accent-soft: #eef6f1;--accent-track: #d4e8db;--accent-ink: #17402a;--on-accent: #ffffff;--positive: var(--accent);--negative: #c4242a;--negative-hover: #a51e23;--pill-negative-bg: #ffedea;--pill-negative-ink: #831c1e;--pill-neutral-bg: #f3f4f6;--pill-neutral-ink: #374151;--pill-accent-bg: var(--accent-soft);--pill-accent-ink: var(--accent-ink);--field: var(--accent-ink);--field-raised: #1e4d34;--field-active: #275d40;--on-field: #f4f1e9;--on-field-muted: #b5c9bc;--marker: #c6ec7c;--stamp: var(--accent);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-display: "Young Serif", Georgia, serif;--fs-title: 32px;--fs-section: 18px;--fs-kpi: 24px;--fs-body: 14px;--fs-meta: 13px;--fs-small: 12px;--radius-card: 8px;--radius-control: 6px;--control-height: 32px;--field-height: 40px;--sidebar-width: 230px;--content-width: 1440px;--gap: 24px;--pad: 24px;--card-pad: 24px;--ease-out: cubic-bezier(.22, 1, .36, 1);--t-press: .12s;--t-hover: .15s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--text);font:var(--fs-body)/20px var(--font),sans-serif;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,p,ul,ol,dl,dd{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-track);color:var(--accent-ink)}.num{font-variant-numeric:tabular-nums}.back-link{display:inline-block;margin-bottom:16px}.page-header{margin-bottom:var(--gap)}.page-header.split{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-title{font-family:var(--font-display);font-size:var(--fs-title);line-height:40px;font-weight:400;letter-spacing:-.015em}.page-sub{max-width:48em;margin-top:4px;color:var(--muted);font-size:16px;line-height:24px}.muted{color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:var(--gap);align-items:start}.layout>.main,.layout>.side{display:grid;gap:var(--gap);min-width:0}.form-section{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:var(--gap);padding-block:32px;border-top:1px solid var(--border)}.form-section:first-child{padding-top:16px;border-top:0}.form-section h2{font-size:16px;line-height:24px;font-weight:600}.form-section-help{margin-top:4px;color:var(--muted)}.form-submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:32px;padding-left:calc(280px + var(--gap));border-top:1px solid var(--border)}.form-submit .form-alert{flex-basis:100%}.add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}@media(max-width:860px){.form-section{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:24px}.form-submit{padding-left:0}}@media(max-width:640px){.page-title{font-size:24px;line-height:32px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.panel{min-width:0;padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h2{font-size:var(--fs-section);line-height:24px;font-weight:600}.meta{color:var(--muted);font-size:var(--fs-meta);line-height:18px}.about{white-space:pre-line}dl+.about{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}.tile{display:grid;align-content:start;gap:4px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-card)}.tile.picked{border-color:var(--accent-track);background:var(--accent-soft)}.tile-figure{font-size:var(--fs-kpi);line-height:32px;font-weight:500}.tick{display:grid;width:20px;height:20px;flex:none;place-items:center;border:1.5px solid var(--control);border-radius:50%}.done .tick{border-color:var(--accent);background:var(--accent)}.tick svg{width:16px;height:16px;fill:none;stroke:var(--on-accent);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--field-height);padding:0 16px;border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color var(--t-hover) ease,border-color var(--t-hover) ease,transform var(--t-press) var(--ease-out)}.btn:hover{background:var(--raised)}.btn:active{transform:translateY(1px)}.btn.primary{border-color:transparent;background:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{color:var(--negative)}.btn.danger:hover{border-color:var(--negative);background:var(--pill-negative-bg)}.btn.primary.danger{background:var(--negative);color:var(--on-accent)}.btn.primary.danger:hover{border-color:transparent;background:var(--negative-hover)}.btn.small{height:var(--control-height);padding:0 12px}.btn:disabled{cursor:default;opacity:.6}.text-link{color:var(--accent-ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent-track);text-underline-offset:3px;transition:text-decoration-color var(--t-hover) ease}.text-link:hover{text-decoration-color:currentColor}.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:16px}.field{display:grid;gap:8px;min-width:0;align-content:start}.field label{font-weight:500}.field .optional{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;height:var(--field-height);padding:0 12px;border:1px solid var(--control);border-radius:var(--radius-control);background:var(--surface);transition:border-color var(--t-hover) ease,box-shadow var(--t-hover) ease}.field textarea{height:auto;min-height:96px;padding:10px 12px;line-height:20px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-track)}.field input.ng-invalid.ng-touched,.field textarea.ng-invalid.ng-touched{border-color:var(--negative)}.field-help{color:var(--muted);font-size:var(--fs-small);line-height:16px}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.field-error{color:var(--negative);font-size:var(--fs-small);line-height:16px}.form-alert,.warning{padding:10px 12px;border-radius:var(--radius-control);background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.pill{display:inline-flex;flex:none;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--pill-neutral-bg);color:var(--pill-neutral-ink);font-size:var(--fs-small);font-weight:500;white-space:nowrap}.pill.accent{background:var(--pill-accent-bg);color:var(--pill-accent-ink)}.pill.negative{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.dialog{width:min(480px,100% - 32px);padding:var(--card-pad);border:0;border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:0 24px 64px #11182738}.dialog[open]{animation:dialog-in .2s var(--ease-out)}.dialog::backdrop{background:#11182780}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}.dialog-title{margin-bottom:12px;font-size:var(--fs-section);line-height:24px;font-weight:600}.dialog p+p{margin-top:12px}.dialog .field,.dialog .warning,.dialog .form-alert{margin-top:16px}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px}@media(max-width:480px){.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}.brand-field{background:var(--grain),var(--field);color:var(--on-field)}.marker{position:relative;isolation:isolate;width:fit-content}.marker:before{content:"";position:absolute;z-index:-1;inset:.2em -.16em .02em -.1em;background:var(--marker);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M3 10.5c18-3 52-5 96-5.5s78 1 98 3.5c1.5 6 .5 15-1 22-30 3-70 4.5-104 4.5S20 34 5 32.5C2.5 25 2 17 3 10.5Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M3 10.5c18-3 52-5 96-5.5s78 1 98 3.5c1.5 6 .5 15-1 22-30 3-70 4.5-104 4.5S20 34 5 32.5C2.5 25 2 17 3 10.5Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;animation:marker-draw .65s var(--ease-out) .15s both}@keyframes marker-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.stamp{position:absolute;padding:5px 10px 4px;border:2.5px solid currentColor;border-radius:6px;color:var(--stamp);font:17px/1 var(--font-display),serif;rotate:-9deg;mix-blend-mode:multiply;pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 2.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 2.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:stamp-press .38s cubic-bezier(.3,1.5,.5,1) .3s both}@keyframes stamp-press{0%{opacity:0;scale:1.7}}.empty{padding:14px 16px;border:1px dashed var(--control);border-radius:var(--radius-card);color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
