:root{--bg: #f4f4f2;--surface: #ffffff;--surface-2: #f7f7f5;--line: #e2e2de;--line-strong: #cfcfca;--text: #1d1d1b;--text-2: #5c5c57;--text-3: #8c8c86;--accent: #b5262d;--action: #1f5fbf;--ok: #2f7d4a;--warn: #a8670b;--danger: #b00020;--radius: 8px;--radius-l: 14px;--shadow: 0 1px 2px rgba(20, 20, 18, .06), 0 4px 14px rgba(20, 20, 18, .06);--shadow-l: 0 24px 60px -16px rgba(20, 20, 18, .35);--font: system-ui, -apple-system, "Segoe UI", sans-serif;--serif: Georgia, "Times New Roman", serif;--on-action: #fff;--action-hover: #1a4f9f;--hover: rgba(0, 0, 0, .05);--selected: #dbe6f7;--strong: var(--text);--on-strong: #fff;--pill: rgba(255, 255, 255, .92);--glow: #ffffff;--glow-2: #f8f8f6;--critical-bg: #fdecee;--minor-bg: #fdf3e2;--ok-bg: #e8f4ec;--scrim: rgba(20, 20, 18, .45);color-scheme:light}:root[data-theme=dark]{--bg: #15171b;--surface: #1f2228;--surface-2: #272b32;--line: #33373f;--line-strong: #454a53;--text: #ececea;--text-2: #b4b6ba;--text-3: #8a8d93;--accent: #e0575d;--action: #5b93e6;--action-hover: #77a7ee;--on-action: #0f1115;--ok: #6cc28a;--warn: #e3a64b;--danger: #f07178;--hover: rgba(255, 255, 255, .07);--selected: #1f3557;--strong: #ececea;--on-strong: #15171b;--pill: rgba(31, 34, 40, .92);--glow: #2a2e35;--glow-2: #20232a;--critical-bg: #3a1f23;--minor-bg: #3a2d17;--ok-bg: #1b3326;--scrim: rgba(0, 0, 0, .6);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);--shadow-l: 0 24px 60px -16px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:14px/1.45 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{height:100%}h1,h2,h3{margin:0}button,input,select,textarea{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s}button:hover:not(:disabled),.button:hover{border-color:var(--text-3)}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--action);outline-offset:2px}button:disabled{opacity:.45;cursor:default}.primary{background:var(--action);border-color:var(--action);color:var(--on-action);font-weight:600}.primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.ghost{background:transparent;border-color:transparent}.ghost:hover:not(:disabled){background:var(--hover);border-color:transparent}.small{min-height:28px;padding:0 8px;font-size:13px}.large{min-height:48px;font-size:15px;padding:0 22px}.block{width:100%}.icon{padding:0;width:36px}.spinner{display:inline-block;width:28px;height:28px;border-radius:50%;flex:none;aspect-ratio:1;box-sizing:border-box;border:3px solid var(--line);border-top-color:var(--text-2);animation:spin .8s linear infinite}.spinner.small{width:16px;height:16px;min-height:0;padding:0;border-width:2px;vertical-align:-3px}@keyframes spin{to{transform:rotate(360deg)}}.hint{color:var(--text-2);font-size:13px;margin:0}.hint.warn,.warn{color:var(--warn)}.error{color:var(--danger);margin:0}.start-page{height:100%;overflow:auto}.start{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:clamp(24px,5vw,72px);align-items:start;padding:clamp(16px,5vw,72px);max-width:1280px;margin:0 auto;box-sizing:border-box}.start-art{position:sticky;top:0;display:grid;place-items:center;height:min(560px,calc(100vh - (2*clamp(16px,5vw,72px))));perspective:1400px}.start-copy{display:grid;gap:16px}.start h1{font:600 clamp(32px,4vw,48px)/1.1 var(--serif)}.lede{margin:0;color:var(--text-2);font-size:16px}.from{margin:0;font-weight:600;font-size:18px}.size-picker{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}.size-picker legend{font-weight:600;margin-bottom:8px;padding:0}.size-picker legend .hint{font-weight:400;margin-left:6px}.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.size-grid.compact{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.size-grid button.size-option{min-height:0;white-space:normal;flex-direction:column}.size-option{position:relative;display:grid;justify-items:center;gap:4px;padding:10px 6px 8px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.size-option:hover{border-color:var(--text-3)}.size-option.on{border-color:var(--action);box-shadow:0 0 0 1px var(--action)}.size-option:has(input:focus-visible){outline:2px solid var(--action);outline-offset:2px}.size-option input{position:absolute;opacity:0;pointer-events:none}.size-shape{display:grid;place-items:center;width:34px;height:34px}.size-shape i{display:block;max-width:100%;max-height:100%;background:var(--line);border:1.5px solid var(--text-3);border-radius:2px}.size-option.on .size-shape i{background:var(--selected);border-color:var(--action)}.size-name{font-weight:600;font-size:13px;white-space:nowrap}.size-option small{color:var(--text-2);font-size:12px}.start-action{position:sticky;bottom:0;margin:-8px calc(-1*clamp(16px,5vw,72px)) 0;padding:20px clamp(16px,5vw,72px) 12px;background:linear-gradient(to bottom,transparent,var(--bg) 20px)}.start-action .primary{white-space:normal}.promises{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;color:var(--text-2)}.promises li:before{content:"✓";color:var(--ok);margin-right:8px;font-weight:700}@media (max-width: 760px){.start{grid-template-columns:1fr;gap:20px}.start-art{position:static;height:240px}}.mockup{--depth: .07;position:relative;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(10deg)}.mockup .face{display:block;position:relative;box-shadow:22px 30px 40px -8px #14141259}.mockup .side{position:absolute;display:block}.mockup .side.right{top:0;left:100%;height:100%;width:calc(var(--depth) * 100%);transform-origin:left center;transform:rotateY(90deg);filter:brightness(.7)}.mockup .side.bottom{left:0;top:100%;width:100%;height:calc(var(--depth) * 100%);transform-origin:center top;transform:rotateX(-90deg);filter:brightness(.6)}.mockup.demo{--ratio: 1;aspect-ratio:var(--ratio);width:min(380px,70vw,calc(min(460px,100vh - 220px) * var(--ratio)))}@media (max-width: 760px){.mockup.demo{width:min(260px,64vw,calc(190px * var(--ratio)))}}.mockup.demo .face{width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#f59b46,#d26f5a 45%,#6a4a86 75%,#2b2f5c)}.mockup.demo .face:before{content:"";position:absolute;width:22%;aspect-ratio:1;left:58%;top:16%;border-radius:50%;background:#ffe39a}.mockup.demo .face:after{content:"";position:absolute;top:55%;right:0;bottom:0;left:0;background:#262b55;clip-path:polygon(0 100%,30% 10%,55% 100%,62% 100%,75% 0,100% 60%,100% 100%)}.mockup.demo .side.right{background:linear-gradient(180deg,#f59b46,#6a4a86 75%,#1a1e40)}.mockup.demo .side.bottom{background:#1a1e40}.editor{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.topbar{display:flex;align-items:center;gap:12px;padding:6px 12px;min-height:60px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font:600 16px var(--serif)}.logo{display:block;height:22px;width:auto}.brand span{padding-left:10px;border-left:1px solid var(--line-strong)}.icon-only{width:36px;padding:0;justify-content:center}.history{display:flex;gap:2px}.project{display:grid;justify-items:start;min-width:0;margin-left:8px}.project strong{font-size:13px;max-width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project button{min-height:24px;padding:0 6px;margin-left:-6px;color:var(--text-2)}.spacer{flex:1}.subtotal{display:grid;justify-items:end;line-height:1.2}.subtotal small{color:var(--text-2);font-size:12px}.subtotal strong{font-size:16px}.steps{display:flex;align-items:stretch;gap:2px}.step-back{width:40px;padding:0;border-radius:var(--radius) 0 0 var(--radius);min-height:48px}.step-next{border-radius:0 var(--radius) var(--radius) 0;min-height:48px;position:relative;padding:0 12px 0 18px}.step-next .step-label{display:grid;justify-items:start;text-align:left;line-height:1.15}.step-next small{font-weight:400;opacity:.85;font-size:11px}.step-next .dots{display:flex;gap:4px;margin-top:4px}.step-next .dots i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.4}.step-next .dots i.on{opacity:1}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"stage side";min-height:0}.workspace[data-sidebar=left]{grid-template-columns:340px minmax(0,1fr);grid-template-areas:"side stage"}.workspace>.stage-wrap{grid-area:stage}.workspace>.sidebar{grid-area:side}.workspace[data-sidebar=left]>.sidebar{border-left:0;border-right:1px solid var(--line)}.sidebar-side button{min-height:30px;padding:0 8px}.stage-wrap{position:relative;min-width:0;min-height:0;background:var(--stage-bg, var(--surface));overflow:hidden;transition:background-color .2s;container-type:size}.stage.sideways{inset:auto;left:50%;top:50%;width:100cqh;height:100cqw;transform:translate(-50%,-50%) rotate(-90deg)}.stage-background{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 12px;background:var(--pill);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);font-size:12px;color:var(--text-2)}.stage-wrap[data-wall=ink] .stage-loading{color:#d5dae2}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.stage ul{list-style:none;margin:0;padding:24px 0}.stage>ul{box-sizing:border-box;min-height:100%;justify-content:center}.stage.passive{visibility:hidden;pointer-events:none}.stage-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--text-2)}.sidebar{background:var(--bg);border-left:1px solid var(--line);overflow:auto;min-height:0}@media (max-width: 900px){.workspace,.workspace[data-sidebar=left]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(220px,42%);grid-template-areas:"stage" "side"}.workspace[data-sidebar=left]>.sidebar{border-right:0}.segmented.sidebar-side{display:none}.sidebar{border-left:0;border-top:1px solid var(--line)}.history span,.brand span:last-child,.project{display:none}.topbar{gap:6px;padding:6px 8px}}@media (max-width: 960px) and (orientation: landscape) and (max-height: 560px){.workspace,.workspace[data-sidebar=right]{grid-template-columns:minmax(0,1fr) min(300px,40vw);grid-template-rows:minmax(0,1fr);grid-template-areas:"stage side"}.workspace[data-sidebar=left]{grid-template-columns:min(300px,40vw) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"side stage"}.sidebar{border-top:0;border-left:1px solid var(--line)}.workspace[data-sidebar=left]>.sidebar{border-left:0;border-right:1px solid var(--line)}.topbar{min-height:44px;padding:3px 8px}.step-back,.step-next{min-height:38px}.step-next .dots,.subtotal small{display:none}.stage ul{padding:8px 0}.stage-background{left:8px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;padding:6px 4px}.stage-background>span{display:none}.stage-background .swatches{flex-direction:column;flex-wrap:nowrap}}@media (max-width: 520px){.logo{width:22px;object-fit:cover;object-position:left center}.history button{padding:0 8px}}.wrap-guides{position:absolute;pointer-events:none;display:none}.wrap-guides:before{content:"";position:absolute;inset:var(--wrap);outline:1px dashed rgba(0,0,0,.5)}.wrap-label{position:absolute;display:grid;place-items:center;font:700 clamp(10px,calc(var(--wrap) * .42),22px) var(--font);letter-spacing:.02em;color:#fff;-webkit-text-stroke:.6px rgba(0,0,0,.55);opacity:.9;white-space:nowrap}.wrap-label.top{left:var(--wrap);right:var(--wrap);top:0;height:var(--wrap)}.wrap-label.bottom{left:var(--wrap);right:var(--wrap);bottom:0;height:var(--wrap);transform:rotate(180deg)}.wrap-label.left,.wrap-label.right{top:50%;width:220px;height:var(--wrap)}.wrap-label.left{left:0;transform:translate(calc(-110px + var(--wrap) / 2),-50%) rotate(-90deg)}.wrap-label.right{right:0;transform:translate(calc(110px - var(--wrap) / 2),-50%) rotate(90deg)}.wrap-label[hidden]{display:none}.cards{display:grid;gap:10px;padding:12px}.card{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;justify-content:stretch;text-align:left;padding:14px;min-height:60px;white-space:normal;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.static{cursor:default}.card-text{display:grid}.card-text small{color:var(--text-2)}.card-extra{font-size:12px;color:var(--text-2)}.section{display:grid;border-radius:var(--radius)}.section>.card{width:100%}.section.open{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.section.open>.card{border-color:transparent;box-shadow:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.section-body{border-top:1px solid var(--line)}.section-body>.panel{padding-top:12px}.card-extra{display:inline-flex;align-items:center;gap:10px}.chevron{width:8px;height:8px;margin:-4px 4px 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.section.open .chevron{margin-top:4px;transform:rotate(225deg)}.panel-head{padding:14px 12px 6px}.panel-head h2{font-size:18px}.panel{display:grid;gap:14px;padding:8px 12px 20px}.panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.current-size{display:grid;padding:12px 14px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line)}.current-size strong{font-size:18px}.current-size span{color:var(--text-2);font-size:13px}.options{list-style:none;margin:0;padding:0;display:grid;gap:8px}.option{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;justify-content:stretch;text-align:left;padding:12px 14px;min-height:52px;white-space:normal;background:var(--surface);border:1px solid var(--line)}.option.tall{grid-template-columns:auto 1fr}.option.on{border-color:var(--action);box-shadow:0 0 0 1px var(--action)}.option.with-preview{grid-template-columns:64px 1fr auto}.option-preview{width:64px;height:64px;object-fit:cover;border-radius:6px;background:var(--surface-2);border:1px solid var(--line)}.check .option-preview{width:40px;height:40px}.option-text{display:grid;gap:2px}.option-text small{color:var(--text-2)}.option .price{color:var(--text-2);font-size:13px}.edge-swatch{width:56px;height:56px;position:relative;border-radius:3px;overflow:hidden}.edge-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f59b46,#6a4a86 70%,#1a1e40)}.edge-swatch.colour:before{background:var(--edge, #fff);box-shadow:inset 0 0 0 1px var(--line)}.edge-swatch:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px}.edge-swatch.colour:after{background:linear-gradient(180deg,#f59b46,#6a4a86 70%,#1a1e40)}.edge-swatch.wrap:after{outline:1px dashed rgba(255,255,255,.85)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--line-strong);transition:none}.swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--action)}.swatch.custom{display:grid;place-items:center;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer;overflow:hidden}.swatch.custom input{opacity:0;width:100%;height:100%;cursor:pointer}.thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.thumb{position:relative;width:100%;aspect-ratio:1;padding:4px;min-height:0;background:var(--surface);border:1px solid var(--line);overflow:hidden}.thumb img{max-width:100%;max-height:100%;object-fit:contain}.thumb.used{border-color:var(--action);box-shadow:0 0 0 1px var(--action)}.thumb .badge{position:absolute;left:4px;bottom:4px;font-size:10px;padding:1px 5px;border-radius:4px;background:#000000a6;color:#fff}.thumb .badge.error{background:var(--danger)}.thumb .badge.warn{background:var(--warn);left:auto;right:4px}.thumb .tick{position:absolute;right:4px;top:4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--action);color:var(--on-action)}.remove-background{display:grid;gap:6px}.photo-tools{display:grid;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.tool-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.tool-row button{flex-direction:column;gap:2px;min-height:52px;padding:4px;font-size:11px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.segmented button{border:0;border-radius:0;min-height:32px;font-size:12px;padding:0 6px;transition:none}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button.on{background:var(--strong);color:var(--on-strong)}.shape-filter{margin:4px 0 10px}.shape-filter button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.shape-icon{display:inline-block;border:1.5px solid currentColor;border-radius:1px}.shape-icon.square{width:10px;height:10px}.shape-icon.portrait{width:8px;height:12px}.shape-icon.landscape{width:13px;height:9px}.text-box{display:grid;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.text-box.on{border-color:var(--action)}.text-box label{display:grid;gap:4px;font-size:12px;color:var(--text-2)}textarea,select,input[type=email],input[type=password]{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}textarea{resize:vertical;color:var(--text);font-size:14px}.field-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.field-row select{min-height:36px;padding:0 8px;font-size:13px}.style-bar{display:grid;gap:8px}.style-bar .tool-row button{min-height:36px;font-size:12px}.colour-input{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius)}.colour-input input{width:32px;height:28px;border:0;padding:0;background:none}.check{display:flex;align-items:center;gap:8px}.empty{display:grid;gap:6px;padding:18px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.review-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:12px;padding:18px;background:radial-gradient(ellipse 75% 65% at 50% 42%,var(--glow) 0%,var(--glow-2) 40%,var(--bg) 100%)}.review-stage h2{font-size:18px}.review-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:980px}.view-switch{background:var(--surface)}.view-switch button{padding:0 12px}.review-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:980px}.swatches.small{gap:8px}.zoom{display:flex;align-items:center;gap:6px}.zoom .icon{width:30px;min-height:30px}.zoom input[type=range]{width:120px;accent-color:var(--action)}.zoom output{min-width:34px;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}.swatches.small .swatch{width:26px;height:26px}.review-stage:not([data-view=closeup]){background:var(--bg)}.review-stage:not([data-view=closeup]) .room{perspective:none}.room-view{width:100%;height:100%;max-width:980px;border-radius:var(--radius-l);box-shadow:var(--shadow);background:#ece7de}.mockup[hidden]{display:none}.room{position:relative;display:grid;place-items:center;width:100%;min-height:0;perspective:1600px}.closeup{position:relative;display:grid;place-items:center;width:100%;height:100%;perspective:1600px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.closeup:active{cursor:grabbing}.closeup[hidden]{display:none}.closeup .mockup{--fw: min(38vw, calc(52vh * var(--ratio)), 520px);--side: calc(var(--depth) * var(--fw));width:var(--fw);transform:rotateX(var(--tilt, 8deg)) rotateY(var(--turn, -24deg));outline:none}.closeup .mockup:focus-visible .face{outline:2px solid var(--action);outline-offset:6px}.closeup .mockup .face{width:100%;height:auto;box-shadow:none}.closeup .mockup .side.right,.closeup .mockup .side.left{width:var(--side);height:100%}.closeup .mockup .side.bottom,.closeup .mockup .side.top{height:var(--side);width:100%}.mockup .side.left{top:0;right:100%;transform-origin:right center;transform:rotateY(-90deg);filter:brightness(.82)}.mockup .side.top{left:0;bottom:100%;transform-origin:center bottom;transform:rotateX(90deg);filter:brightness(.95)}.floor-shadow{position:absolute;left:50%;bottom:8%;width:min(46vw,560px);height:40px;transform:translate(-50%);background:radial-gradient(ellipse at center,#14141238,#14141200 70%);pointer-events:none}.turn-controls{display:flex;align-items:center;gap:8px}.review-stage[data-ready=false] .mockup{visibility:hidden}.mockup .side.left,.mockup .side.top{display:none}.closeup .mockup .side.left,.closeup .mockup .side.top{display:block}.room>.spinner{position:absolute}.quantity{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stepper{display:flex;align-items:center;gap:4px}.stepper button{width:36px;padding:0}.stepper output{min-width:32px;text-align:center;font-weight:600;font-size:16px}.summary{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.summary dt{color:var(--text-2)}.summary dd{margin:0;text-align:right}.check-results{display:grid;gap:6px}.issue{display:flex;gap:8px;align-items:flex-start;margin:0;padding:8px 10px;border-radius:var(--radius);font-size:13px}.issue svg{flex:none;margin-top:1px}.issue.critical{background:var(--critical-bg);color:var(--danger)}.issue.minor{background:var(--minor-bg);color:var(--warn)}.issue.ok{background:var(--ok-bg);color:var(--ok)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:16px;background:var(--scrim)}.dialog{width:min(440px,100%);max-height:90vh;overflow:auto;background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l)}.dialog.wide{width:min(640px,100%)}.dialog header{position:relative;padding:20px 52px 8px 20px;display:grid;gap:6px}.dialog header h2{font-size:18px}.dialog header p{margin:0;color:var(--text-2)}.dialog .close{position:absolute;top:12px;right:12px;width:32px;min-height:32px;padding:0;border-radius:50%;font-size:20px}.dialog-body{padding:12px 20px 20px}.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.form{display:grid;gap:12px}.form label{display:grid;gap:4px;font-size:13px;color:var(--text-2)}.toasts{position:fixed;left:50%;bottom:20px;transform:translate(-50%);display:grid;gap:8px;z-index:3100}.toast{padding:10px 16px;border-radius:var(--radius);background:var(--strong);color:var(--on-strong);box-shadow:var(--shadow-l);max-width:min(520px,90vw)}.toast.error{background:var(--danger)}:root{--tpx-side-colour: var(--action);--tpx-side-width: 1.5px;--tpx-side-gap: 6px;--tpx-side-radius: var(--radius);--tpx-side-opacity: .55;--tpx-side-hover-opacity: .25}:root{--tpx-selection-colour: var(--action);--tpx-selection-width: 1.5;--tpx-selection-handle-size: 10;--tpx-selection-side-length: 32;--tpx-selection-side-width: 6;--tpx-selection-overlay-colour: color-mix(in srgb, var(--action) 70%, transparent)}
