:root{--brand-lilac:#d8cde6;--brand-aubergine:#4b1650;--brand-ink:#141414;--surface:#f7f4f9;--surface-raised:#fff;--text:#141414;--text-muted:#5a5260;--accent:#4b1650;--on-accent:#fff;--line:#14141480;--line-soft:#14141429;--line-strong:#4b1650;--day-off:#4b165014;--font-sans:"Poppins", "Helvetica Neue", Arial, sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--stroke-hairline:1px;--stroke-trip:1.5px;--stroke-month:3px;--measure:1200px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#19121b;--surface-raised:#241a27;--text:#f1ecf4;--text-muted:#b9afbf;--accent:#c9a9d3;--on-accent:#19121b;--line:#f1ecf466;--line-soft:#f1ecf429;--line-strong:#c9a9d3;--day-off:#c9a9d31f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.6}img,svg{max-width:100%}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p,ul,ol,figure{margin:0}ul,ol{padding-left:1.2em}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:var(--measure);padding-inline:max(var(--space-3), env(safe-area-inset-left,0px)) max(var(--space-3), env(safe-area-inset-right,0px));margin:0 auto}@media (min-width:720px){.wrap{padding-inline:var(--space-5)}}.stack{gap:var(--space-3);align-content:start;display:grid}.stack-lg{gap:var(--space-5);align-content:start;display:grid}.section{padding-block:var(--space-6)}.section-tight{padding-block:var(--space-5)}.prose{max-width:38em}.prose>*+*{margin-top:var(--space-3)}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.3}.label.accent{color:var(--accent)}.label.box{border:var(--stroke-hairline) solid currentColor;padding:var(--space-1) var(--space-2);display:inline-block}.display{letter-spacing:-.03em;color:var(--accent);text-wrap:balance;font-size:clamp(40px,8vw,88px);font-weight:700;line-height:1}.h1{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(30px,4.5vw,44px);font-weight:700;line-height:1.1}.h2{text-wrap:balance;font-size:24px;font-weight:600;line-height:1.25}.h3{font-size:17px;font-weight:600;line-height:1.3}.lead{max-width:34em;font-size:18px;line-height:1.6}.small{color:var(--text-muted);font-size:14px;line-height:1.5}.num{font-variant-numeric:tabular-nums}.site-head{padding-block:var(--space-3);border-bottom:var(--stroke-hairline) solid var(--line-soft)}.site-head .wrap{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wordmark{letter-spacing:-.03em;color:var(--text);white-space:nowrap;font-size:22px;line-height:1;text-decoration:none}.wordmark b{font-weight:700}.wordmark span{font-weight:400}.nav{align-items:center;gap:var(--space-4);flex-wrap:wrap;font-size:14px;display:flex}.nav a:not(.btn){color:var(--text);text-decoration:none}.nav a:not(.btn):hover{text-decoration:underline}.site-foot{border-top:var(--stroke-hairline) solid var(--line);padding-block:var(--space-4) var(--space-5);margin-top:var(--space-6)}.site-foot .wrap{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn{letter-spacing:.08em;text-transform:uppercase;min-height:48px;padding:var(--space-3) var(--space-4);cursor:pointer;background:var(--accent);color:var(--on-accent);border:var(--stroke-hairline) solid var(--accent);text-align:center;border-radius:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:inset 0 0 0 100px var(--day-off)}.btn.secondary{color:var(--text);border-color:var(--text);background:0 0}.btn.secondary:hover{background:var(--day-off);box-shadow:none}.btn.small-btn{min-height:40px;padding:var(--space-2) var(--space-3);font-size:12px}.btn[disabled]{opacity:.4;cursor:not-allowed}.linkbtn{color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.field{gap:var(--space-1);min-width:0;display:grid}.input{width:100%;min-width:0;color:var(--text);background:var(--surface);border:var(--stroke-hairline) solid var(--line);border-radius:2px;min-height:44px;padding:10px 12px;font-size:16px}textarea.input{resize:vertical;min-height:88px;line-height:1.5}.input::placeholder{color:var(--text-muted)}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.check{gap:var(--space-2);grid-template-columns:22px 1fr;align-items:start;font-size:14px;line-height:1.5;display:grid}.check input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0}.row{gap:var(--space-2);flex-wrap:wrap;align-items:end;display:flex}.row>.grow{flex:160px;min-width:0}.grid-2{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.status{font-size:14px;line-height:1.5}.status[data-tone=ok]{color:var(--accent);font-weight:500}.status[data-tone=error]{font-weight:500}.panel{background:var(--surface-raised);border:var(--stroke-hairline) solid var(--line);padding:var(--space-4);min-width:0}.note{background:var(--day-off);padding:var(--space-3);font-size:14px;line-height:1.5}.todo{background:var(--day-off);padding:0 4px}.planner{width:100%;height:auto;display:block}.planner-frame{background:var(--brand-lilac);padding:clamp(12px,3vw,40px)}.planner-frame .sheet{box-shadow:0 0 0 var(--stroke-hairline) #1414142e}.caption{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.trip{padding-bottom:12px;position:relative}.trip .label{text-align:center;color:var(--accent)}.trip .ln{border-top:var(--stroke-trip) solid var(--accent);position:absolute;bottom:4px;left:0;right:0}.trip .ln:before,.trip .ln:after{content:"";border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;position:absolute;top:-5.5px}.trip .ln:before{border-right:9px solid var(--accent);left:-1px}.trip .ln:after{border-left:9px solid var(--accent);right:-1px}.hero{padding-block:var(--space-5)}.hero .wrap{gap:var(--space-4);display:grid}.hero .actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.cells{border-top:var(--stroke-month) solid var(--line-strong);border-left:var(--stroke-hairline) solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.cell{border-right:var(--stroke-hairline) solid var(--line);border-bottom:var(--stroke-hairline) solid var(--line);padding:var(--space-3);gap:var(--space-2);align-content:start;min-height:150px;display:grid}.cell.off{background:var(--day-off)}.cell .big{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:40px;font-weight:500;line-height:1}.cell.off .big{color:var(--accent)}.cell p{color:var(--text-muted);max-width:26em;font-size:14px;line-height:1.5}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.card{gap:var(--space-2);align-content:start;min-width:0;display:grid}.card .sheet{border:var(--stroke-hairline) solid var(--line-soft)}.split{gap:var(--space-5);display:grid}@media (min-width:900px){.split{grid-template-columns:1fr 1fr;align-items:start}}.config{gap:var(--space-4);padding-block:var(--space-4) var(--space-6);display:grid}@media (min-width:1040px){.config{grid-template-columns:minmax(0,1fr) 400px;align-items:start}.config .stage{top:var(--space-3);position:sticky}}.stage{gap:var(--space-3);min-width:0;display:grid}.viewer{background:var(--brand-lilac);cursor:zoom-in;max-height:78vh;padding:clamp(8px,2vw,24px);overflow:auto}.viewer.zoomed{cursor:zoom-out}.viewer .sheet{box-shadow:0 0 0 var(--stroke-hairline) #1414142e;margin:0 auto}.viewer.portrait .sheet{max-width:min(100%,52vh)}.viewer.zoomed .sheet{width:300%;max-width:none}.controls{border-top:var(--stroke-month) solid var(--line-strong);gap:0;min-width:0;display:grid}.controls details{border-bottom:var(--stroke-hairline) solid var(--line)}.controls summary{cursor:pointer;padding:var(--space-3) 0;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-weight:600;list-style:none;display:flex}.controls summary::-webkit-details-marker{display:none}.controls summary:after{content:"+";color:var(--text-muted);font-weight:400}.controls details[open] summary:after{content:"–"}.controls summary:hover{background:var(--day-off)}.controls .body{gap:var(--space-3);padding-bottom:var(--space-4);display:grid}.options{gap:var(--space-2);display:grid}.option{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--stroke-hairline) solid var(--line-soft);cursor:pointer;background:var(--surface-raised);grid-template-columns:auto 1fr;align-items:center;display:grid}.option:has(input:checked){outline:2px solid var(--line-strong);outline-offset:-2px}.option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.option input{opacity:0;pointer-events:none;position:absolute}.option .thumb{place-items:center;width:64px;height:46px;display:grid}.option .thumb svg{width:auto;height:100%;max-height:46px;display:block}.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch{cursor:pointer;justify-items:center;gap:4px;padding:4px;font-size:12px;display:grid}.swatch input{opacity:0;pointer-events:none;position:absolute}.swatch .chip{border:var(--stroke-hairline) solid var(--line-soft);place-items:center;width:56px;height:40px;font-size:15px;font-weight:700;display:grid}.swatch:has(input:checked) .chip{outline:2px solid var(--line-strong);outline-offset:2px}.swatch:has(input:focus-visible) .chip{outline:2px solid var(--accent);outline-offset:2px}.colors{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.colors input[type=color]{border:var(--stroke-hairline) solid var(--line);background:var(--surface);cursor:pointer;border-radius:2px;width:100%;height:44px;padding:2px}.bday{gap:var(--space-1);grid-template-columns:minmax(0,1fr) 62px 62px auto;align-items:center;display:grid}.bday .input{padding-inline:8px}.bday.unsure .input{border-color:var(--accent);border-width:2px}.xbtn{cursor:pointer;width:36px;height:44px;color:var(--text-muted);background:0 0;border:0;font-size:18px}.xbtn:hover{background:var(--day-off);color:var(--text)}.list-plain{gap:var(--space-1);padding:0;font-size:14px;list-style:none;display:grid}.list-plain li{justify-content:space-between;gap:var(--space-2);border-bottom:var(--stroke-hairline) solid var(--line-soft);align-items:center;padding-block:4px;display:flex}.assistant{gap:var(--space-3);display:grid}.buybar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.price{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}input[type=range]{width:100%;accent-color:var(--accent)}input[type=file]{max-width:100%;font-size:14px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:var(--stroke-hairline) solid var(--line-soft)}.table th{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.table-scroll{overflow-x:auto}.kv{gap:4px var(--space-3);grid-template-columns:auto 1fr;font-size:14px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}pre.plain{white-space:pre-wrap;font:inherit;margin:0;font-size:14px}.legal .wrap{max-width:760px}.legal h2{margin-top:var(--space-4);font-size:18px;font-weight:600;line-height:1.3}.voucher-card{background:var(--brand-lilac);color:var(--brand-ink);padding:var(--space-5);gap:var(--space-4);max-width:620px;display:grid}.voucher-card .code{letter-spacing:.04em;color:var(--brand-aubergine);font-variant-numeric:tabular-nums;font-size:clamp(24px,6vw,40px);font-weight:700}@media print{.site-head,.site-foot,.no-print{display:none!important}body{background:#fff}}@media (prefers-reduced-motion:no-preference){.btn,a{transition:box-shadow .15s,background-color .15s}}
