#designer [hidden]{display:none!important}#designer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:24px;padding-bottom:96px}#designer .preview-col{position:sticky;top:96px;align-self:start}#designer .preview{position:relative;background:var(--paper-deep);aspect-ratio:4 / 5;display:grid;place-items:center;padding:6%;width:min(100%,calc((100dvh - 160px)*.8));margin-inline:auto;overflow:hidden}#designer .note{text-align:center;margin-top:10px}#designer.is-calendar .preview{width:min(100%,calc((100dvh - 216px)*.8))}#designer .pages{display:flex;justify-content:center;margin:0 auto 12px;width:fit-content}#designer .pages[hidden]{display:none}#designer #previewImg{cursor:zoom-in}#designer #previewImg:focus-visible{outline:2px solid var(--brass-text);outline-offset:4px}#designer .results button[aria-selected=true]{background:var(--paper-deep)}#designer .detail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-out;background:var(--paper-deep);animation:detail-in .25s ease}#designer .detail[hidden],#designer .detail-back[hidden]{display:none}#designer .detail-back{position:absolute;top:12px;left:12px;z-index:2;background:var(--deep-water);color:var(--chart-paper);border:0;font:13px var(--sans);padding:8px 14px;cursor:pointer}@keyframes detail-in{0%{opacity:0;transform:scale(.98)}}#designer .preview img{max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 12px 32px #14283d2e}#designer #previewMsg{max-width:30em;text-align:center;line-height:1.5}#designer .busy{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}#designer .busy[hidden]{display:none}#designer .busy-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 26px 14px;background:#f2ece1f0;box-shadow:0 10px 28px #14283d29;font-size:13px;letter-spacing:.02em;color:var(--deep-water)}#designer .preview img{transition:opacity .25s ease,filter .25s ease}#designer .preview:has(.busy:not([hidden])) img{opacity:.45;filter:saturate(.7)}#designer .tide-loader{display:block;width:72px;height:24px;overflow:hidden;margin:0 auto}#designer #previewMsg .tide-loader{margin-bottom:14px}#designer .tide-loader svg{display:block;width:144px;height:24px}#designer .tide-loader path{fill:none;stroke-linecap:round}#designer .tide-loader .w1{stroke:var(--deep-water);stroke-width:1.8;animation:tide-roll 1.8s linear infinite}#designer .tide-loader .w2{stroke:var(--brass);stroke-width:1.4;opacity:.9;animation:tide-roll 2.7s linear infinite}@keyframes tide-roll{0%{transform:translate(0)}to{transform:translate(-72px)}}@keyframes tide-breathe{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){#designer .tide-loader .w1,#designer .tide-loader .w2{animation:none}#designer .tide-loader{animation:tide-breathe 1.6s ease-in-out infinite}}#designer .note{margin-top:10px}#designer .controls{display:flex;flex-direction:column;gap:22px;min-width:0}#designer .controls h1{font-size:clamp(32px,3.4vw,44px)}#designer fieldset{border:0;border-top:1px solid var(--rule);margin:0;padding:16px 0 0;display:flex;flex-direction:column;gap:12px;min-width:0}#designer legend{font-weight:600;padding:0;margin-bottom:4px;font-size:17px}#designer legend span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--deep-water);color:var(--chart-paper);font-size:13px;margin-right:6px}#designer input:not([type=radio]):not([type=checkbox]):not([type=color]),#designer select{font:inherit;font-size:16px;padding:11px 13px;min-height:46px;border:1px solid var(--rule-2);background:var(--paper-light);color:var(--deep-water);width:100%}#designer .inline{display:flex;align-items:center;gap:8px}#designer .inline select{width:auto;min-height:40px;padding:6px 10px}#designer .field{display:flex;flex-direction:column;gap:4px}#designer .seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--deep-water)}#designer .seg label{cursor:pointer}#designer .seg input,#designer .opts input,#designer .style input,#designer .layouts input{position:absolute;opacity:0;pointer-events:none}#designer .seg span{display:grid;place-items:center;min-height:46px;font-size:15px}#designer .seg input:checked+span{background:var(--deep-water);color:var(--chart-paper)}#designer input:focus-visible+span,#designer .style input:focus-visible+.chip{outline:2px solid var(--brass-text);outline-offset:2px}#designer .search{position:relative}#designer .results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:var(--chart-paper);border:1px solid var(--rule-2);box-shadow:0 16px 32px #14283d26;max-height:320px;overflow:auto}#designer .results button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:11px 14px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}#designer .results button:hover,#designer .results button:focus{background:var(--paper-deep)}#designer .results small{color:var(--muted)}#designer .pad{padding:10px 14px}#designer .mapbox{position:relative;aspect-ratio:4 / 3;background:var(--paper-deep);overflow:hidden}#designer #map{position:absolute;inset:0}#designer .map-frame{position:absolute;border:2px solid var(--deep-water);box-shadow:0 0 0 9999px #f2ece18c;pointer-events:none}#designer .map-frame.circle{border-radius:50%}#designer .map-tools{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:5}#designer .map-tools button{width:40px;height:40px;border:1px solid var(--rule-2);background:var(--chart-paper);color:var(--deep-water);font:600 15px var(--sans);cursor:pointer}#designer .map-tools button:hover{background:#fff}#designer .styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px}#designer .style{display:flex;flex-direction:column;gap:6px;cursor:pointer;font-size:14px;line-height:1.3}#designer .chip{position:relative;display:grid;place-items:center;aspect-ratio:4 / 5;border:1px solid var(--rule-2);padding:30% 18% 40%;overflow:hidden;transition:transform .15s ease}#designer .chip.has-thumb{padding:0;background:var(--paper-deep)!important}#designer .chip.has-thumb img{width:100%;height:100%;object-fit:contain;display:block}#designer .style:hover .chip{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){#designer .chip{transition:none}#designer .style:hover .chip{transform:none}}#designer .chip .strip{position:absolute;left:0;right:0;bottom:0;height:22%;display:flex}#designer .chip .strip i{flex:1}#designer .style-hint{color:var(--muted);font-size:12px;margin-top:-4px}#designer .style input:checked+.chip{box-shadow:0 0 0 2px var(--chart-paper),0 0 0 3px var(--deep-water)}#designer .all-styles{margin-top:16px}#designer .link-btn{background:none;border:0;padding:4px 0;font:inherit;font-size:15px;color:var(--deep-water);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:flex-start}#designer .link-btn:hover{color:var(--brass-text)}#designer .tide-head{font-weight:600}#designer .tide-about{display:inline}#designer .tide-about>summary{display:inline;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px}#designer .tide-about[open]>p{margin-top:6px;color:var(--ink-2)}#designer details.more{border:1px solid var(--rule);background:var(--paper-light)}#designer details.more>summary{cursor:pointer;padding:12px 14px;font-size:15px;list-style:none;display:flex;justify-content:space-between}#designer details.more>summary:after{content:"+"}#designer details.more[open]>summary:after{content:"–"}#designer details.more>summary::-webkit-details-marker{display:none}#designer details.more[open]>summary{border-bottom:1px solid var(--rule)}#designer details.more>*:not(summary){margin:14px}#designer .group+.group{border-top:1px solid var(--rule);padding-top:14px}#designer .group h3{font:600 15px var(--sans);letter-spacing:0;margin-bottom:10px}#designer .group-head{display:flex;justify-content:space-between;align-items:baseline}#designer .layouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}#designer .layouts label{cursor:pointer}#designer .layouts span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--rule-2);height:100%;font-size:15px}#designer .layouts small{color:var(--muted);font-size:13px;line-height:1.35}#designer .layouts input:checked+span{border-color:var(--deep-water);box-shadow:inset 0 0 0 1px var(--deep-water)}#designer .colours{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}#designer .colours label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}#designer .colours input[type=color]{width:36px;height:30px;padding:0;border:1px solid var(--rule-2);background:none;cursor:pointer}#designer .fonts{display:grid;gap:10px}#designer .fonts label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:14px}#designer .fonts select{min-height:42px;padding:6px 10px;font-size:18px}#designer .checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:15px}#designer .checks label{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:32px}#designer .checks input{width:18px;height:18px;accent-color:var(--deep-water)}#designer .opts{display:flex;flex-wrap:wrap;gap:8px}#designer .opts+.opts{margin-top:8px}#designer .opts label{cursor:pointer}#designer .opts span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--rule-2);font-size:15px}#designer .opts input:checked+span{background:var(--deep-water);border-color:var(--deep-water);color:var(--chart-paper)}#designer .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule)}#designer .steps button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:6px 4px 10px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;font:inherit;font-size:15px;color:var(--muted);cursor:pointer}#designer .steps button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor;font-size:13px;flex:none}#designer .steps button.done{color:var(--deep-water)}#designer .steps button.on{color:var(--deep-water);font-weight:600;border-bottom-color:var(--deep-water)}#designer .steps button.on span{background:var(--deep-water);border-color:var(--deep-water);color:var(--chart-paper)}#designer .steps button:hover{color:var(--deep-water)}#designer fieldset[data-step]{border-top:0;padding-top:0;animation:step-in .2s ease}#designer fieldset[data-step]>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#designer .opts small{margin-left:8px;font-size:13px;opacity:.75}#designer .seg.pages{grid-template-columns:repeat(3,auto)}#designer .seg.pages span{padding:0 16px}@keyframes step-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){#designer fieldset[data-step],#designer .detail{animation:none}#designer .preview img{transition:none}}#designer .stepnav{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--rule);background:var(--chart-paper)}#designer .stepnav .price{font-size:22px;margin-right:auto;order:0}#designer .stepnav #backBtn{order:-1}#designer .stepnav .btn{min-width:0}#designer .stepnav #nextBtn,#designer .stepnav #addBtn{flex:0 1 240px}@media(max-width:900px){#designer{grid-template-columns:1fr;gap:12px;padding-top:0}#designer .preview-col{position:sticky;top:64px;z-index:12;background:var(--chart-paper);margin:0 calc(-1 * var(--gutter));padding:8px var(--gutter) 6px;border-bottom:1px solid var(--rule)}#designer .preview,#designer.is-calendar .preview{width:auto;height:38svh;aspect-ratio:auto;padding:8px}#designer .preview img{max-height:calc(38svh - 16px)}#designer .mapbox{aspect-ratio:16 / 10}#designer .note{display:none}#designer .pages{margin-bottom:6px}#designer .pages span{min-height:36px;padding:0 12px}#designer .controls{gap:16px}#designer .controls h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#designer .steps button{flex-direction:column;gap:2px;font-size:13px;padding-bottom:6px}#designer .styles{grid-template-columns:repeat(3,minmax(0,1fr))}#designer .colours,#designer .checks,#designer .layouts{grid-template-columns:1fr}#designer .stepnav{margin:0 calc(-1 * var(--gutter));padding:10px var(--gutter);box-shadow:0 -8px 20px #14283d14}#designer .stepnav .price{font-size:19px}}
