.is-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.cr{flex:1;grid-template-columns:minmax(0,1fr) clamp(380px,32vw,460px);min-height:0;display:grid}.cr__stage{background:radial-gradient(ellipse at 50% 48%, #262626, transparent 65%), radial-gradient(circle, #ffffff12 1px, transparent 1.4px) 0 0 / 22px 22px, var(--bg);min-height:0;transition:background-color .8s var(--ease);position:relative;overflow:hidden}.cr.is-dark .cr__stage{background:#000}.cr__canvas{position:absolute;inset:0}.cr__canvas canvas{cursor:grab;touch-action:none;width:100%!important;height:100%!important}.cr__canvas canvas:active{cursor:grabbing}.cr__hud{pointer-events:none;justify-content:space-between;gap:12px;font-size:11px;display:flex;position:absolute;top:16px;left:18px;right:18px}.cr__hud span{color:var(--ink-2);background:#ffffff12;border-radius:99px;padding:5px 10px}.cr__hud span:last-child{background:var(--accent-soft);color:var(--accent-ink)}.cr__intro{pointer-events:none;position:absolute;bottom:clamp(18px,3vw,36px);left:clamp(18px,3vw,40px);right:18px}.cr__intro h1{max-width:12ch;font-family:var(--f-display);letter-spacing:-.045em;margin:0 0 14px;font-size:clamp(30px,3.6vw,56px);font-weight:800;line-height:.98}.perks{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.perks li{color:var(--ink-2);background:#ffffff12;border-radius:99px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.perks li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.perks li:first-child{background:var(--accent);color:var(--on-accent)}.perks li:first-child:before{background:var(--on-accent)}.cr__lights{cursor:pointer;background:var(--ink);color:var(--bg);border:0;border-radius:99px;padding:9px 16px;font-size:11px;transition:background-color .3s,color .3s;position:absolute;bottom:18px;right:18px}.cr__lights[hidden]{display:none}.cr__lights:hover,.cr__lights[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.cr__fallback{color:var(--ink-2);margin:0;font-size:14px;position:absolute;inset:60px 20px auto}.cr__panel{background:var(--bg-2);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.cr-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:10px;display:grid}.cr-tab{border-radius:var(--r-sm);cursor:pointer;color:var(--ink-3);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:10px 4px;font-size:14px;font-weight:700;transition:background-color .25s,color .25s;display:flex}.cr-tab .mono{background:var(--bg-3);letter-spacing:0;border-radius:6px;place-items:center;width:20px;height:20px;font-size:10px;transition:background-color .25s;display:grid}.cr-tab:hover{color:var(--ink)}.cr-tab[aria-selected=true]{background:var(--card);color:var(--ink)}.cr-tab[aria-selected=true] .mono{background:var(--accent);color:var(--on-accent)}.cr-body{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:18px 20px 20px;display:flex;overflow-y:auto}.cr-pane[hidden]{display:none}.cr-pane{animation:pane-in .35s var(--ease)}@keyframes pane-in{0%{opacity:0;transform:translateY(6px)}}.cr-step{border:0;min-width:0;margin:0 0 22px;padding:0}.cr-step legend{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;padding:0;font-size:12px;font-weight:700}.cr-next{border:1.5px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:99px;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;padding:10px 18px;font-size:14px;font-weight:700;transition:border-color .25s,color .25s;display:inline-flex}.cr-next:hover{border-color:var(--accent);color:var(--accent-ink)}.cr-next[hidden]{display:none}.cr-opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cr-opts--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cr-opt{cursor:pointer;display:flex;position:relative}.cr-opt input,.cr-sw input,.cr-seg__opt input{opacity:0;width:1px;height:1px;position:absolute}.cr-opt__body{border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--card);flex-direction:column;flex:1;gap:2px;padding:10px 12px;transition:border-color .25s,background-color .25s;display:flex}.cr-opt__body b{font-size:14px;font-weight:700}.cr-opt__body>span{color:var(--ink-3);font-size:12px;line-height:1.35}.cr-opt__body .cr-opt__price{color:var(--ink-2);margin-top:auto;padding-top:4px;font-size:10px}.cr-opt:hover .cr-opt__body{border-color:var(--line-strong)}.cr-opt input:checked+.cr-opt__body{border-color:var(--accent);background:var(--accent-soft)}.cr-opt input:checked+.cr-opt__body .cr-opt__price{color:var(--accent-ink)}.cr-opt input:focus-visible+.cr-opt__body,.cr-seg__opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.cr-text{position:relative}.cr-text input{border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--card);width:100%;font-family:var(--f-display);letter-spacing:-.02em;padding:14px 70px 14px 16px;font-size:24px;font-weight:700;transition:border-color .25s,box-shadow .25s}.cr-text input::placeholder{color:var(--ink-3);opacity:.6}.cr-text input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.cr-text__count{color:var(--ink-3);font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.cr-hint{color:var(--ink-3);margin:8px 0 0;font-size:13px;line-height:1.45}.cr-hint.is-error{color:var(--danger)}.cr-colours{gap:18px;display:grid}.cr-colour__head{color:var(--ink-3);justify-content:space-between;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.cr-colour__head b{color:var(--ink);font-weight:700}.cr-swatches{flex-wrap:wrap;gap:10px;display:flex}.cr-sw{cursor:pointer;position:relative}.cr-sw span{background:var(--c);width:34px;height:34px;box-shadow:inset 0 0 0 1px #ffffff38, 0 0 0 2px var(--bg-2), 0 0 0 3px transparent;transition:box-shadow .25s, transform .25s var(--snap);border-radius:50%;display:block}.cr-sw:hover span{transform:scale(1.1)}.cr-sw input:checked+span{box-shadow:inset 0 0 0 1px #ffffff38, 0 0 0 3px var(--bg-2), 0 0 0 5px var(--accent)}.cr-sw input:focus-visible+span{outline:2px solid var(--ink);outline-offset:6px}.cr-seg{background:var(--card);border:1px solid var(--line);border-radius:99px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.cr-seg__opt{cursor:pointer;position:relative}.cr-seg__opt>span{border-radius:99px;flex-direction:column;align-items:center;padding:7px 8px;transition:background-color .25s,color .25s;display:flex}.cr-seg__opt b{font-family:var(--f-display);font-size:17px;font-weight:700;line-height:1.2}.cr-seg__opt .mono{color:var(--ink-3);font-size:10px}.cr-seg__opt:hover>span{background:var(--bg-3)}.cr-seg__opt input:checked+span{background:var(--accent);color:var(--on-accent)}.cr-seg__opt input:checked+span .mono{color:#fffc}.cr-qty{border:1.5px solid var(--line-strong);background:var(--card);border-radius:99px;display:inline-flex;overflow:hidden}.cr-qty__btn{cursor:pointer;background:0 0;border:0;width:48px;font-size:20px;font-weight:600;transition:background-color .25s,color .25s}.cr-qty__btn:hover{background:var(--accent);color:var(--on-accent)}.cr-qty input{text-align:center;border:0;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);background:var(--card);width:80px;font-family:var(--f-display);-moz-appearance:textfield;padding:10px 4px;font-size:18px;font-weight:700}.cr-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cr-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cr-qty input:focus{outline:2px solid var(--accent);outline-offset:-2px}.cr-tiers{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.cr-tiers li{cursor:pointer;border:1px solid var(--line-strong);color:var(--ink-2);border-radius:99px;padding:6px 12px;font-size:13px;transition:color .25s,border-color .25s,background-color .25s}.cr-tiers li b{color:var(--ink)}.cr-tiers li:hover{border-color:var(--ink-3)}.cr-tiers li.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cr-tiers li.is-on b{color:var(--on-accent)}.cr-sum{border-top:1px solid var(--line);background:var(--bg);padding:12px 20px 14px}.cr-sum__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.cr-sum__total{font-family:var(--f-display);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:800;line-height:1.1}.cr-sum__each{color:var(--ink-3);margin:2px 0 0;font-size:12px}.cr-sum__top .btn{--h:48px;padding:0 20px}.cr-sum__copy{cursor:pointer;color:var(--ink-3);background:0 0;border:0;margin:8px auto 0;padding:2px 0;font-size:10px;transition:color .3s;display:block}.cr-sum__copy:hover{color:var(--accent-ink)}.cr-sum__more{margin-bottom:10px}.cr-sum__more summary{cursor:pointer;color:var(--ink-3);justify-content:space-between;font-size:10px;list-style:none;display:flex}.cr-sum__more summary::-webkit-details-marker{display:none}.cr-sum__more summary:after{content:"+";color:var(--accent-ink);font-size:15px;line-height:1}.cr-sum__more[open] summary:after{content:"−"}.cr-sum__lines{gap:3px;margin:8px 0 0;font-size:13px;display:grid}.cr-sum__lines div{color:var(--ink-2);justify-content:space-between;gap:16px;display:flex}.cr-sum__lines dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.cr-sum__lines .is-sum{border-top:1px solid var(--line);color:var(--ink);margin-top:2px;padding-top:5px;font-weight:700}.cr-sum__note{color:var(--ink-3);margin:8px 0 0;font-size:12px}@media (width<=900px){.cr{grid-template-rows:minmax(220px,42%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.cr__panel{border-left:0;border-top:1px solid var(--line)}.cr__intro h1{display:none}.cr__intro{bottom:12px;left:14px}.cr__hud{top:10px;left:12px;right:12px}.cr__lights{bottom:12px;right:12px}.cr-tabs{padding:6px}.cr-tab{gap:5px;padding:9px 2px;font-size:13px}.cr-body{padding:14px 14px 16px}.cr-sum{padding:10px 14px calc(12px + env(safe-area-inset-bottom))}.cr-sum__total{font-size:24px}.cr-sum__copy{display:none}}@media (width<=520px){.perks li:not(:first-child){display:none}.cr-opts--3{grid-template-columns:minmax(0,1fr)}.cr-opts--3 .cr-opt__body{flex-flow:wrap;align-items:baseline;column-gap:8px}.cr-opts--3 .cr-opt__price{margin-left:auto;padding-top:0}.cr-tab .mono{display:none}.cr-sum__top .btn{padding:0 16px;font-size:14px}}
