:root{color-scheme:dark;--bg:#14172c;--surface:#20243e;--surface-2:#2a3050;--line:#454c70;--text:#f6f7ff;--muted:#b6bfdc;--orange:#ff897f;--orange-2:#8be9d2}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}body{margin:0;background:radial-gradient(circle at 50% -10%,#292018 0,transparent 29%),var(--bg);color:var(--text)}button,input,select{font:inherit}.topbar{border-bottom:1px solid #383f61;background:#191d35}.topbar-inner{max-width:1280px;margin:auto;min-height:74px;padding:0 30px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:.025em}.brand b{color:var(--orange-2)}.brand-mark{width:31px;height:31px;display:grid;place-items:center;background:linear-gradient(135deg,#8be9d2,#a4530a);color:#251400;border-radius:8px;font-weight:900}.prototype-label{color:#b6bfdc;font-size:12px;letter-spacing:.08em}.page-shell{max-width:1280px;margin:auto;padding:50px 30px 26px}.eyebrow,.section-kicker{color:var(--orange-2);font-weight:800;font-size:11px;letter-spacing:.18em}h1{font-size:clamp(34px,5vw,60px);line-height:1.28;letter-spacing:-.06em;margin:12px 0 15px}h1 em{font-style:normal;color:var(--orange-2)}.intro{color:#c7cde5;line-height:1.8;margin:0;max-width:740px}.steps{list-style:none;display:flex;gap:0;margin:43px 0 29px;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#1c203a}.steps li{width:33.333%;padding:15px 20px;display:flex;align-items:center;gap:12px;color:#b6bfdc;font-size:13px;font-weight:700;border-right:1px solid var(--line)}.steps li:last-child{border:0}.steps span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#343b60;color:#aaa;font-size:12px}.steps .current{color:#fff;background:linear-gradient(90deg,#3b345b,#262c49)}.steps .current span{background:var(--orange);color:#17233a}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:28px;align-items:start}.editor,.preview{min-width:0}.section-head{display:flex;justify-content:space-between;align-items:end;margin:0 0 18px}.section-head h2{font-size:24px;letter-spacing:-.04em;margin:5px 0 0}.dimension-pill,.live-dot{font-size:11px;color:#aaf0de;border:1px solid #4b7f85;background:#203d48;border-radius:99px;padding:8px 11px}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#8be9d2;margin-right:7px;box-shadow:0 0 9px #8be9d2}.panel{margin:0 0 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:26px 24px 21px;min-width:0}.panel legend{padding:0 8px;font-weight:800;font-size:15px}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option-card{position:relative;display:flex;flex-direction:column;gap:4px;border:1px solid #4b5276;border-radius:12px;padding:13px;cursor:pointer;min-height:116px;background:#292e4b}.option-card:has(input:checked){border-color:var(--orange);box-shadow:0 0 0 1px #a79afb;background:#393858}.option-card input{position:absolute;right:11px;top:11px;accent-color:var(--orange)}.option-card strong{font-size:13px}.option-card small{font-size:11px;color:#bac2df}.swatch{width:37px;height:37px;border-radius:8px;margin-bottom:5px;border:2px solid rgba(255,255,255,.12)}.swatch.midnight{background:linear-gradient(135deg,#1b2028,#101014)}.swatch.ivory{background:linear-gradient(135deg,#fffaf0,#dbc9a5)}.swatch.copper{background:linear-gradient(135deg,#dc9b58,#8a4520)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.field-row label,.field{display:block;font-size:12px;font-weight:700;color:#d7dff3}.field{margin-top:18px}.field:first-of-type{margin-top:0}.field-note{float:right;color:#888;font-weight:400}.field input,.field-row select{width:100%;height:43px;background:#14192f;border:1px solid #505879;color:#f6f7ff;border-radius:8px;margin-top:9px;padding:0 12px;outline:none}.field input:focus,.field-row select:focus{border-color:var(--orange);box-shadow:0 0 0 2px #d8861e33}.field input[type=file]{padding:9px 10px;height:auto;font-size:11px}.field input[type=file]::file-selector-button{background:#373657;color:#c7b9ff;border:0;border-radius:5px;padding:7px 9px;margin-right:10px;cursor:pointer}.help{font-size:11px;color:#b5bed7;line-height:1.7;margin:13px 0 0}.validation{font-size:12px;min-height:18px;margin:8px 0 0;color:#f1a79f}.validation.ok{color:#9ecb9e}.image-controls{border:1px solid #444;border-radius:8px;padding:10px;margin-top:12px}.image-controls label{display:flex;align-items:center;gap:12px;font-size:12px}.image-controls input{flex:1;accent-color:var(--orange)}.image-controls output{width:40px;text-align:right}.text-button{border:0;background:none;color:#8be9d2;padding:8px 0 0;cursor:pointer;font-size:12px}.preview{position:sticky;top:18px}.preview-head{margin-bottom:18px}.mock-stage{height:440px;border:1px solid #45403e;border-radius:16px;position:relative;overflow:hidden;background:radial-gradient(circle at 46% 42%,#6c4b34 0,#2c2521 30%,#151516 74%);display:flex;align-items:center;justify-content:center}.stage-glow{position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,#f0b57119,transparent 65%);filter:blur(13px)}.tag-shadow{position:absolute;width:265px;height:265px;background:#000a;filter:blur(22px);transform:translate(20px,29px) rotate(-7deg);border-radius:20px}.tag-object{width:264px;height:264px;position:relative;transform:perspective(750px) rotateY(-12deg) rotateZ(-7deg);border-radius:20px;box-shadow:14px 19px 35px #0009,4px 5px 0 #c8c3bb;transition:transform .25s,box-shadow .25s}.tag-object.gloss:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,#fff5,transparent 22%,transparent 63%,#fff3 85%,transparent);pointer-events:none}.tag-object.square,.tag-object.square canvas{border-radius:3px}.tag-object canvas{width:100%;height:100%;display:block;border-radius:20px}.tag-edge{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px #fff5,inset -6px -6px 12px #0003;pointer-events:none}.stage-caption{position:absolute;bottom:17px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;color:#c8d0e9}.preview-note{display:flex;gap:11px;align-items:start;color:#bac4dd}.preview-note p{font-size:11px;line-height:1.7;margin:11px 0 21px}.note-icon{display:grid;place-items:center;border:1px solid #766a5d;border-radius:50%;font:700 12px serif;width:16px;height:16px;min-width:16px;margin-top:12px}.export-panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:21px}.export-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.export-heading h3{font-size:19px;margin:4px 0 0}.status{font-size:11px;color:#9bc99b}.status.error{color:#f3a39b}button{cursor:pointer}.primary-button,.export-grid button{border-radius:9px;border:1px solid #ba8eaa;font-weight:800}.primary-button{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#c87515,#e9962d);color:#241d36;width:100%;padding:15px 16px}.primary-button:hover{filter:brightness(1.1)}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.export-grid button{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#2d3352;color:#f4f5ff;padding:11px;font-size:12px}.export-grid button:hover{background:#414267;border-color:#b9a7ff}.site-footer{border-top:1px solid #353234;margin-top:45px;padding-top:19px;color:#aeb7d3;display:flex;justify-content:space-between;gap:15px;font-size:10px}.site-footer span:first-child{letter-spacing:.15em}@media(max-width:900px){.workspace{grid-template-columns:1fr}.preview{position:static}.mock-stage{height:420px}}@media(max-width:600px){.topbar-inner{padding:0 18px}.prototype-label{display:none}.page-shell{padding:32px 16px}.steps li{padding:11px 7px;font-size:10px;gap:5px}.steps span{width:20px;height:20px;min-width:20px}.option-grid{gap:6px}.option-card{padding:9px;min-height:112px}.option-card small{font-size:10px}.panel{padding:20px 15px}.field-row{gap:8px}.mock-stage{height:355px}.tag-object{width:225px;height:225px}.tag-shadow{width:225px;height:225px}.site-footer{flex-direction:column}}
.write-nfc-button{width:100%;margin-top:10px;padding:11px 13px;border:1px dashed #815e3b;border-radius:9px;color:#f1c185;background:#2b231d;font-size:12px;font-weight:700;text-align:left;display:flex;justify-content:space-between}.write-nfc-button:hover{background:#38291c}
.spec-summary{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:0;margin:0;border:1px solid #424b70;border-radius:0 0 12px 12px;background:#20243e;overflow:hidden}.spec-summary div{padding:12px 14px;border-right:1px solid #424b70;min-width:0}.spec-summary div:last-child{border:0}.spec-summary dt{color:#b5bfdc;font-size:10px;margin-bottom:5px}.spec-summary dd{margin:0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.technology{margin:56px 0 0;border-top:1px solid #3c3835;padding-top:27px}.technology-heading h2{font-size:27px;margin:6px 0 22px}.technology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.technology-grid article{padding:19px 0;border-top:2px solid #8be9d2}.technology-grid b{font:700 12px monospace;color:#e2a35d}.technology-grid h3{font-size:16px;margin:16px 0 8px}.technology-grid p{font-size:12px;line-height:1.8;color:#bdc7e0;margin:0}@media(max-width:700px){.technology-grid{grid-template-columns:1fr;gap:9px}.spec-summary{grid-template-columns:1fr 1fr}.spec-summary div:last-child{grid-column:1/-1;border-top:1px solid #424b70}}

.field-row input{width:100%;height:43px;background:#14192f;border:1px solid #505879;color:#f6f7ff;border-radius:8px;margin-top:9px;padding:0 12px;outline:none}
.field-row input:focus{border-color:var(--orange);box-shadow:0 0 0 2px #d8861e33}
.field input[type=file]{max-width:100%}
.source-summary{border:1px solid #4f577b;border-radius:9px;background:#242b48;color:#d7dff6;padding:12px 14px;font-size:11px;line-height:1.7;margin-top:14px}
.checkbox-field{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:12px;color:#e5e9fc;cursor:pointer}
.checkbox-field input{accent-color:var(--orange);width:17px;height:17px;flex:none}
.readiness-panel{background:#252d49;border:1px solid #6d648e;border-radius:13px;padding:16px 18px;margin:18px 0}
.readiness-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.readiness-heading h3{margin:0;font-size:15px}
.readiness-heading strong{font-size:11px;color:#f7b5cb;white-space:nowrap}
.readiness-heading strong.ready{color:#97c9a3}
.readiness-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;margin:12px 0;padding-left:18px;font-size:11px;color:#cbd4ed;line-height:1.6}
.readiness-panel .help{margin:8px 0 0}
.checklist-button{width:100%;margin-top:10px;padding:11px 13px;border:1px solid #555c83;border-radius:9px;background:#2d3352;color:#f4f5ff;font-size:12px;text-align:left;display:flex;justify-content:space-between}
.checklist-button:hover{background:#414267;border-color:#b9a7ff}
@media(max-width:600px){.readiness-panel ul{grid-template-columns:1fr}.field-note{float:none;display:block;margin-top:3px}.field-row{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.field-row{grid-template-columns:1fr}}

.filament-panel>.help:first-of-type{margin:0 0 14px}
.filament-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px}
.filament-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:112px;padding:12px;border:1px solid #48423e;border-radius:10px;background:#1a1919;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.filament-option:hover{border-color:#b9a7ff;transform:translateY(-2px)}
.filament-option:has(input:checked){border-color:#e59c46;background:#34251a;box-shadow:inset 0 0 0 1px #e59c46}
.filament-option:has(input:focus-visible){outline:2px solid #e59c46;outline-offset:2px}
.filament-option input{position:absolute;opacity:0;width:1px;height:1px}
.filament-swatch{width:28px;height:28px;border:1px solid #ffffff55;border-radius:8px;box-shadow:inset 0 0 0 1px #0004}
.filament-swatch.none{background:linear-gradient(135deg,#777 0 46%,#c58a49 47% 53%,#777 54%)}
.filament-option strong{font-size:11px;line-height:1.35;color:#eee7dd;overflow-wrap:anywhere}
.filament-option small{font-size:9px;line-height:1.4;color:#b4aaa0}
.filament-concept{margin:18px 0 0}
.filament-concept img{width:100%;height:auto;display:block;aspect-ratio:1500/844;object-fit:cover;border-radius:11px;border:1px solid #4b4039}
.filament-concept figcaption{font-size:10px;line-height:1.6;color:#a79b90;margin-top:8px}
.tag-object{box-shadow:17px 30px 38px #000a;--layer-base:#777;--layer-middle:#b9b4ad;--layer-top:#777}
.tag-object canvas{position:relative;z-index:4}
.tag-layer{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset -9px -8px 13px #0005,2px 3px 1px #0004}
.tag-object .layer-base{z-index:1;background:var(--layer-base);transform:translate(15px,30px)}
.tag-object .layer-middle{z-index:2;background:var(--layer-middle);transform:translate(10px,20px)}
.tag-object .layer-top{z-index:3;background:var(--layer-top);transform:translate(5px,10px)}
.tag-object .tag-edge{z-index:5}
.layer-title{font-size:13px;margin:16px 0 10px;color:#f1d6af}
.layer-inputs{align-items:end}
.layer-option{min-height:43px;display:flex!important;align-items:center;gap:10px;border:1px solid #565880;background:#303453;border-radius:8px;padding:8px 11px;cursor:pointer}
.layer-option input{accent-color:var(--orange);width:18px;height:18px;flex:none}
.layer-option small{font-size:10px;color:#c7bbff}
.layer-diagram{display:grid;gap:2px;border:1px solid #424b70;border-top:0;padding:13px 16px;background:#232943}
.layer-diagram>div{display:grid;grid-template-columns:42px 66px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;min-width:0}
.layer-diagram b{color:#e4e9ff}
.layer-diagram span:last-child{color:#bdc7e0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.layer-sample{height:9px;border:1px solid #fff4;border-radius:3px;background:#777}
.layer-diagram>div:nth-child(2) .layer-sample{margin-left:4px;width:calc(100% - 4px)}
.layer-diagram>div:nth-child(3) .layer-sample{margin-left:8px;width:calc(100% - 8px)}
[hidden]{display:none!important}
.tag-object.gloss:after{z-index:6}
.obsidian-write-panel{margin-top:20px;padding:17px;border:1px solid #565880;border-radius:11px;background:#252d49}
.obsidian-write-panel h4{font-size:14px;margin:0 0 13px;color:#bdaeff}
.obsidian-write-panel .field{margin-top:0}
.obsidian-write-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;margin-top:14px;padding:13px 14px;border-radius:9px;background:#bba9ff;color:#24213b;font-size:12px;font-weight:800}
.obsidian-write-link:hover,.obsidian-write-link:focus-visible{background:#d0c2ff;outline:2px solid #d0c2ff;outline-offset:2px}
.obsidian-write-panel .checklist-button{margin-top:9px}
.spec-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.spec-summary div:nth-child(2n){border-right:0}
.spec-summary div:nth-child(n+3){border-top:1px solid #424b70}
.spec-summary div:last-child{grid-column:1/-1}
@media(max-width:600px){.filament-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* The tag face is only the chosen image over a material-color preview. */
.tag-object{background:var(--layer-top)}
.tag-object .layer-base{transform:translate(13px,25px)}
.tag-object .layer-middle{transform:translate(9px,17px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 84%,84% 84%,84% 16%,16% 16%,16% 84%,0 84%)}
.tag-object .layer-top{transform:translate(4px,8px)}
.tag-object canvas{background:transparent}
.tag-hole{position:absolute;z-index:6;right:8%;top:8%;width:12%;height:12%;border-radius:50%;background:#292726;box-shadow:inset 2px 2px 5px #000a,0 0 0 5px var(--layer-top)}
.tag-object .tag-edge{z-index:7}
.image-state{position:absolute;top:18px;left:18px;right:18px;width:max-content;max-width:calc(100% - 36px);font-size:11px;color:#f3d2a7;background:#191713d9;border:1px solid #6b4a2b;border-radius:99px;padding:7px 11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layer-diagram>div{grid-template-columns:42px 62px minmax(0,1fr)}
.layer-diagram>div>span:last-child{white-space:normal;overflow:visible}
.layer-sample.cross{background-image:repeating-linear-gradient(45deg,transparent 0 6px,#fff5 7px 9px,transparent 10px 16px)}
.layer-sample.frame{height:15px;background:transparent!important;border:4px solid var(--layer-base,#777)}
.reference-panel p{font-size:12px;line-height:1.8;color:#cbd4ed;margin:0 0 10px}
.reference-panel a{color:#8be9d2}
.reference-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.reference-images figure{margin:0}
.reference-images img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #554536}
.reference-images figcaption{font-size:10px;color:#b9c4df;margin-top:5px}
.image-controls label{display:flex;margin:8px 0;gap:10px}
.image-controls select{background:#14192f;color:#fff;border:1px solid #555;border-radius:6px;padding:5px}
@media(max-width:600px){.image-state{font-size:10px}.reference-images{gap:8px}}
.structure-heading{display:flex;justify-content:space-between;gap:10px;background:#232943;border:1px solid #424b70;border-bottom:0;padding:14px 16px 4px;font-size:12px;font-weight:700;color:#e4e9ff}
.structure-heading span{font-size:10px;font-weight:400;color:#b9c4df}
.structure-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:#232943;border-left:1px solid #424b70;border-right:1px solid #424b70;padding:10px 16px}
.structure-part{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #4c5376;border-radius:9px;font-size:10px;color:#e1e8ff;min-width:0}
.structure-part small{color:#b9c4df;font-size:9px}
.part-icon{position:relative;width:34px;height:34px;border-radius:6px;flex:none;border:3px solid var(--layer-top,#777);display:block}
.part-icon.top-icon{background:var(--layer-top,#777)}
.part-icon.top-icon i{position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:50%;background:#232943}
.part-icon.middle-icon{border-color:var(--layer-middle,#777);background:linear-gradient(45deg,transparent 41%,var(--layer-middle,#777) 42% 58%,transparent 59%),linear-gradient(-45deg,transparent 41%,var(--layer-middle,#777) 42% 58%,transparent 59%)}
.part-icon.middle-icon i{position:absolute;inset:9px;border-radius:50%;background:var(--layer-middle,#777)}
.part-icon.base-icon{border-color:var(--layer-base,#777);background:transparent}
.part-icon.base-icon i{position:absolute;inset:8px;border:2px solid var(--layer-base,#777);border-radius:50%}
@media(max-width:600px){.structure-diagram{grid-template-columns:1fr}.structure-part{min-height:45px}}
.product-split{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:start;padding:13px 14px;border:1px solid #8be9d2;border-radius:10px;background:#29394b;margin:12px 0!important}
.product-split strong{color:#aaf0de}
.product-split span{color:#e0e6fa}
.image-controls label{flex-wrap:wrap}
.image-controls label select{max-width:100%;font-size:12px}
@media(max-width:600px){.product-split{grid-template-columns:1fr;gap:4px}}
/* 3MF reference: base support, contrasting middle face, raised top artwork. */
.tag-object{background:var(--layer-middle)}
.tag-object .layer-top{background:var(--layer-middle)}
.tag-object canvas{filter:drop-shadow(2px 2px 1px #0009)}
.tag-hole{box-shadow:inset 2px 2px 5px #000a,0 0 0 5px var(--layer-middle)}
.part-icon.top-icon{background:transparent;border:0}
.part-icon.top-icon i{inset:8px;right:8px;top:8px;width:auto;height:auto;border-radius:50%;background:var(--layer-top);box-shadow:2px 2px 0 #0008}
.part-icon.middle-icon{border-color:var(--layer-middle);background:var(--layer-middle)}
.part-icon.middle-icon i{display:none}
.part-icon.base-icon{background:linear-gradient(45deg,transparent 43%,var(--layer-base) 44% 56%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--layer-base) 44% 56%,transparent 57%)}
.layer-sample.cross{background-image:none}
.tag-object .layer-middle{background:var(--layer-base)}
.production-check{margin-top:16px;padding:13px 14px;border:1px solid #625e88;border-radius:9px;background:#262d48;color:#e5eafd}
.production-check strong{font-size:12px}
.production-check p{font-size:11px;line-height:1.6;margin:7px 0}
.production-check p.ok{color:#9ecb9e}
.production-check p.error{color:#f1a79f}
.production-check small{font-size:10px;color:#b5bed7;line-height:1.5}
button:disabled{opacity:.45;cursor:not-allowed}
.guide-link,.production-remedy a{color:#8be9d2;text-underline-offset:3px}
.guide-link:focus-visible,.production-remedy a:focus-visible{outline:2px solid #8be9d2;outline-offset:3px}
.production-remedy{margin-top:12px;padding:14px;border:1px solid #b691c2;border-radius:9px;background:#3e3152}
.production-remedy strong{font-size:14px;color:#f7bad1}
.production-remedy ul{padding-left:21px;margin:9px 0;color:#f0e2f2;font-size:13px;line-height:1.7}
.production-remedy li+li{margin-top:4px}
.production-remedy p{margin:9px 0 0;font-size:13px;line-height:1.65}
.color-layer-frame{display:grid;gap:8px;margin:18px 0 0;min-width:0}
.layer-select-row{--chosen-color:#777;min-width:0;padding:15px;border:1px solid #58617f;border-left:10px solid var(--chosen-color);border-radius:12px;background:linear-gradient(105deg,color-mix(in srgb,var(--chosen-color) 18%,#20243e),#20243e 42%);box-shadow:inset 0 0 0 1px #ffffff24,0 5px 12px #0004}
.layer-select-row[data-layer=top]{margin-right:20px}
.layer-select-row[data-layer=middle]{margin-left:10px;margin-right:10px}
.layer-select-row[data-layer=base]{margin-left:20px}
.layer-row-head{display:flex;align-items:center;gap:14px;min-width:0}
.layer-row-head>div{min-width:0}
.layer-current-swatch{display:block;width:72px;height:64px;flex:none;border:2px solid #ffffff90;border-radius:9px;box-shadow:inset 0 0 0 1px #0004,4px 5px 0 #0007}
.layer-number{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:#b9a7ff}
.layer-row-head h3{font-size:16px;line-height:1.3;margin:2px 0 4px}
.layer-row-head code{font-size:20px;font-weight:800;color:#f4f6ff;letter-spacing:.02em}
.layer-locked-note{display:block;font-size:12px;line-height:1.5;color:#c7cfee;margin-top:5px}
.color-rail-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;align-items:center;margin-top:13px;min-width:0}
.rail-arrow{align-self:stretch;border:1px solid #656b94;border-radius:7px;background:#333b60;color:#adf0e0;font-size:21px;font-weight:700}
.rail-arrow:hover:not(:disabled){background:#46517b}
.rail-arrow:focus-visible{outline:2px solid #8be9d2;outline-offset:2px}
.color-rail{display:flex;gap:9px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:4px 3px 10px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-color:#a69be2 #252b45}
.color-card{position:relative;display:flex;flex:0 0 95px;flex-direction:column;gap:5px;align-items:center;padding:6px 5px 7px;border:2px solid #69728f;border-radius:9px;background:#1c223a;cursor:pointer;scroll-snap-align:start;min-width:0}
.color-card:hover{border-color:#b9a7ff}
.color-card:has(input:checked){border-color:#8be9d2;box-shadow:0 0 0 2px #8be9d255;background:#304655}
.color-card:has(input:focus-visible){outline:3px solid #8be9d2;outline-offset:2px}
.color-card input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.color-card-swatch{display:block;width:100%;height:60px;border:1px solid #ffffff80;border-radius:5px;box-shadow:inset 0 0 0 1px #0004}
.color-card code{font-size:13px;font-weight:800;letter-spacing:0;color:#f0f3ff;white-space:nowrap}
.color-approx{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#242a43;color:#d5caff;border:1px solid #a69ad8;font-size:16px;font-weight:700;line-height:1}
.layer-select-row.is-locked .color-rail-controls{opacity:.4}
.layer-select-row.is-locked .color-card{cursor:not-allowed}
.three-color-toggle{margin:18px 0 0!important;font-size:14px!important;min-height:58px}
.three-color-toggle small{font-size:12px!important}
.price-preview{margin:15px 0 0;padding:18px 19px;border-radius:12px;border:1px solid #bda2e0;background:linear-gradient(115deg,#3d2916,#271d17)}
.price-preview>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.price-preview span{font-size:13px;color:#f2e9fb;font-weight:700}
.price-preview strong{font-size:30px;line-height:1.1;color:#ffffff;letter-spacing:-.04em}
.price-preview p{font-size:14px;line-height:1.6;margin:10px 0 0;color:#eadff8}
@media(max-width:600px){.layer-select-row[data-layer=top]{margin-right:12px}.layer-select-row[data-layer=middle]{margin-left:6px;margin-right:6px}.layer-select-row[data-layer=base]{margin-left:12px}.layer-select-row{padding:12px}.layer-current-swatch{width:59px;height:59px}.layer-row-head code{font-size:18px}.color-card{flex-basis:88px}.color-card-swatch{height:54px}.price-preview strong{font-size:27px}}
.guide-shell{max-width:900px;margin:auto;padding:44px 24px 80px}
.guide-back{display:inline-block;color:#8be9d2;text-underline-offset:3px;margin-bottom:26px;font-size:14px}
.guide-shell h1{font-size:clamp(30px,5vw,48px);margin:8px 0 16px}
.guide-lead{font-size:17px;line-height:1.8;color:#cbd4eb;margin:0 0 28px}
.guide-callout{padding:18px 20px;border:1px solid #786396;border-radius:12px;background:#34304d;font-size:15px;line-height:1.8}
.guide-section{margin-top:30px;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.guide-section h2{font-size:23px;margin:0 0 15px}
.guide-section h3{font-size:17px;margin:20px 0 8px;color:#f7bad1}
.guide-section p,.guide-section li{font-size:15px;line-height:1.85;color:#d9e0f3}
.guide-section ol,.guide-section ul{padding-left:23px;margin:0}
.guide-section li+li{margin-top:9px}
.guide-section a{color:#8be9d2;text-underline-offset:3px}
.guide-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.guide-criteria div{padding:12px 14px;border:1px solid #4f577b;border-radius:9px;background:#242b48}
.guide-criteria b{display:block;color:#f7bad1;font-size:15px}
.guide-criteria span{display:block;color:#cdd6ee;font-size:13px;line-height:1.6;margin-top:3px}
@media(max-width:600px){.guide-shell{padding:30px 16px 60px}.guide-section{padding:20px 17px}.guide-criteria{grid-template-columns:1fr}}

/* Pop geometry: circular UI accents, offset arcs, and restrained high-contrast surfaces. */
body{background:#14172c}
.topbar{background:#1b203a;border-color:#444c71}
.brand-mark{border-radius:50%;background:#ff897f;color:#24203a}
.page-shell{position:relative;isolation:isolate}
.page-shell:before,.page-shell:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}
.page-shell:before{width:210px;height:210px;right:60px;top:42px;border:42px solid #8be9d2;clip-path:inset(0 0 45% 0);transform:rotate(-28deg);opacity:.8}
.page-shell:after{width:92px;height:92px;right:34px;top:122px;background:#ff897f;box-shadow:-112px 18px 0 -22px #b9a7ff}
.page-shell>.intro{max-width:740px}
h1 em{color:#ffaaa2}
.steps{border-radius:18px;background:#242a45}
.steps .current{background:#343355}
.steps .current span{background:#ff897f;color:#241d36}
.steps li:nth-child(2) span{background:#b9a7ff;color:#241d36}
.steps li:nth-child(3) span{background:#8be9d2;color:#172d2e}
.panel,.export-panel,.guide-section{border-radius:20px}
.panel legend{color:#e8edff}
.mock-stage{border-color:#68618c;background:radial-gradient(circle at 84% 20%,#8be9d2 0 30px,transparent 31px),radial-gradient(circle at 12% 78%,#ff897f 0 52px,transparent 53px),#343556}
.stage-glow{width:340px;height:340px;background:none;border:30px solid #b9a7ff38;filter:none;transform:translate(34px,-16px)}
.stage-caption{background:#242a43e8;padding:8px 10px;border-radius:8px;color:#e0e7fc;letter-spacing:.07em}
.primary-button{background:#ff897f;border-color:#ffaaa2;color:#241d36}
.price-preview{background:#3b3357;border-color:#a894d3;box-shadow:inset 5px 0 #b9a7ff}
.layer-select-row{background:linear-gradient(105deg,color-mix(in srgb,var(--chosen-color) 14%,#242b48),#242b48 48%);border-radius:18px}
.layer-current-swatch{border-radius:50%;width:68px;height:68px;box-shadow:0 0 0 4px #b9a7ff24}
.color-card{border-radius:16px}
.color-card-swatch{width:60px;height:60px;border-radius:50%}
.layer-option{border-radius:12px}
.technology-grid article:nth-child(2){border-color:#b9a7ff}
.technology-grid article:nth-child(3){border-color:#ff897f}
.technology-grid b{color:#b9a7ff}
:where(a,button,input,select):focus-visible{outline:3px solid #8be9d2;outline-offset:3px}
@media(max-width:1100px){.page-shell:before{right:35px;width:130px;height:130px;border-width:27px;opacity:.3}.page-shell:after{width:44px;height:44px;right:27px;top:110px;opacity:.45}}
@media(max-width:700px){.page-shell:before,.page-shell:after{display:none}.layer-current-swatch{width:58px;height:58px}.color-card-swatch{width:54px;height:54px}}

.view-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.view-nav a,.site-footer a{color:#8be9d2;text-underline-offset:4px}.view-nav strong{font-size:13px;color:#d5caff}
/* Keep material selection and real-mesh views in one working area. */
.customer-studio{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.2fr);gap:22px;align-items:start;margin:0 0 28px}.studio-colors,.studio-views{min-width:0}.studio-views{position:sticky;top:12px;z-index:10}.multi-preview{border:1px solid #596384;border-radius:18px;overflow:hidden;background:#1a1f36;margin-bottom:14px}.viewer-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px}.viewer-toolbar strong{margin-right:auto;font-size:15px}.viewer-toolbar button{border:1px solid #706b94;background:#353a59;color:#e8f3ff;border-radius:9px;padding:9px;font-size:12px}.viewer-toolbar button[aria-pressed=true]{background:#8be9d2;color:#172b30}.view-labels{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;color:#d4e6f3;font-size:12px;font-weight:700}.view-labels span+span{border-left:1px solid #55607d}#views-canvas{display:block;width:100%;height:250px;touch-action:pan-y;outline-offset:-4px}.viewer-message{font-size:11px;line-height:1.6;color:#b9c6e0;margin:0;padding:10px 14px}.interactive .view-labels{display:none}.interactive #views-canvas{height:340px;cursor:grab}.interactive #views-canvas:active{cursor:grabbing}#reset-3d{display:none}.interactive #reset-3d{display:block}.has-mesh-preview #mock-stage{display:none}body[data-view=customer].has-mesh-preview .preview-head{display:none}body[data-view=customer] .preview{position:static}body[data-view=customer] .layer-row-head code,body[data-view=customer] .color-card code,body[data-view=customer] #filament-selected-note,body[data-view=customer] .layer-diagram{display:none}body[data-view=customer] .color-layer-frame{margin-top:10px;gap:8px}body[data-view=customer] .layer-select-row{padding:10px 12px;margin-left:0;margin-right:0;border-left-width:8px}body[data-view=customer] .layer-current-swatch{width:34px;height:34px}body[data-view=customer] .layer-row-head{gap:10px}body[data-view=customer] .layer-row-head h3{font-size:14px;margin:0}body[data-view=customer] .layer-number{font-size:10px}body[data-view=customer] .layer-locked-note{font-size:10px;margin:2px 0 0}body[data-view=customer] .color-rail-controls{margin-top:6px;grid-template-columns:28px minmax(0,1fr) 28px}body[data-view=customer] .color-card{flex-basis:53px;padding:4px;min-height:49px}body[data-view=customer] .color-card-swatch{width:39px;height:39px}body[data-view=customer] .color-rail{gap:6px;padding-bottom:7px}body[data-view=customer] .color-approx{width:13px;height:13px;font-size:11px;right:3px;top:2px}.sample-reference{margin-top:24px;font-size:13px;color:#c6d1eb}.sample-reference summary{cursor:pointer}.sample-reference img{width:240px;max-width:100%;display:block;margin-top:12px;border-radius:12px}
@media(max-width:900px){.customer-studio{display:flex;flex-direction:column;gap:10px}.studio-colors,.studio-views{width:100%}.studio-views{order:-1;top:0;background:#14172c}.viewer-toolbar{padding:8px 10px}.viewer-toolbar strong{font-size:13px}.viewer-toolbar button{padding:7px;font-size:11px}#views-canvas{height:150px}.interactive #views-canvas{height:230px}.viewer-message{font-size:10px;padding:6px 10px}.multi-preview{margin:0}.studio-colors .panel{margin-bottom:0}.view-labels{font-size:11px}}

.quote-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:28px 0 0;padding:22px}.quote-footer .quote-total{display:flex;justify-content:flex-start;gap:24px;flex-wrap:wrap;align-items:baseline}.quote-overview{display:contents}.quote-overview summary{grid-column:2;grid-row:1;cursor:pointer;border:1px solid #b9a7ff;border-radius:9px;padding:10px 14px;color:#eee7ff;font-size:13px;list-style:none}.quote-overview summary::-webkit-details-marker{display:none}.quote-overview summary:after{content:' ＋'}.quote-overview[open] summary:after{content:' −'}.quote-footer .quote-details{grid-column:1/-1;display:block;border-top:1px solid #75638c;padding-top:12px}.quote-overview:not([open])>.quote-details{display:none}.quote-details ul{padding-left:20px;color:#d9dff1;font-size:13px;line-height:1.8;margin:10px 0 0}.quote-details p{margin:0;font-weight:700}.quote-overview summary:focus-visible{outline:3px solid #8be9d2;outline-offset:3px}@media(max-width:600px){.quote-footer{padding:16px;gap:10px}.quote-footer .quote-total{gap:8px;flex-direction:column}.quote-overview summary{padding:9px 11px}}
/* Quiet white / black / blue interface. Material swatches keep their actual colors. */
:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f5f5f7;--line:#d2d2d7;--text:#1d1d1f;--muted:#6e6e73;--orange:#0071e3;--orange-2:#0066cc}
body{background:#fff;color:#1d1d1f}.topbar{background:#fafafc;border-color:#e5e5e7}.brand b{color:#1d1d1f}.brand-mark{background:#1d1d1f;color:white}.prototype-label,.intro{color:#6e6e73}.page-shell:before,.page-shell:after{display:none}.page-shell{padding-top:36px;padding-bottom:125px}.product-title{font-size:clamp(26px,4vw,42px);letter-spacing:-.045em;margin:0 0 10px}.intro{font-size:14px;margin-bottom:32px}h1 em{color:#1d1d1f}.panel,.export-panel,.multi-preview,.guide-section{background:#fff;border-color:#d2d2d7;box-shadow:none}.panel legend,.field,.field-row label,.layer-row-head code,.guide-section p,.guide-section li{color:#1d1d1f}.help,.field-note,.viewer-message,.layer-locked-note,.sample-reference,.preview-note,.support-section{color:#6e6e73}.section-kicker,.eyebrow,.layer-number,.text-button,.guide-link,.guide-back,.guide-section a,.reference-panel a,.view-nav a,.site-footer a{color:#0066cc}.field input,.field-row input,.field-row select,.image-controls select{background:#fff;color:#1d1d1f;border-color:#86868b}.field input[type=file]::file-selector-button{background:#f0f0f3;color:#0066cc}.field input:focus,.field-row input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}.primary-button,.obsidian-write-link{background:#0071e3;border-color:#0071e3;color:white}.export-grid button,.checklist-button,.write-nfc-button{background:#f5f5f7;color:#1d1d1f;border-color:#d2d2d7}.layer-select-row{background:#fff!important;box-shadow:none;border-color:#d2d2d7;border-left-color:var(--chosen-color)}.layer-current-swatch{box-shadow:0 0 0 1px #d2d2d7}.rail-arrow,.viewer-toolbar button{background:#f5f5f7;border-color:#d2d2d7;color:#0066cc}.rail-arrow:hover:not(:disabled),.viewer-toolbar button:hover{background:#e8f1fc}.color-card{background:#fff;border-color:#dddde2}.color-card:hover{border-color:#0071e3}.color-card:has(input:checked){background:#fff;border-color:#0071e3;box-shadow:0 0 0 2px #0071e326}.color-card code{color:#1d1d1f}.color-rail{scrollbar-color:#b8b8bd #f5f5f7}.color-approx{background:#f5f5f7;color:#515154;border-color:#b8b8bd}.layer-option{background:#f5f5f7;border-color:#d2d2d7;color:#1d1d1f}.layer-option small{color:#6e6e73}.viewer-toolbar button[aria-pressed=true]{background:#0071e3;color:#fff}.view-labels{color:#515154}.view-labels span+span{border-color:#dddde2}.studio-views{background:#fff}.multi-preview{background:#f5f5f7}.mock-stage{background:#f5f5f7;border-color:#dddde2}.stage-glow{display:none}.validation{color:#b42318}.validation.ok,.status,.production-check p.ok{color:#26703c}.status.error,.production-check p.error{color:#b42318}.production-check,.source-summary,.readiness-panel,.obsidian-write-panel,.guide-callout,.guide-criteria div,.product-split{background:#f5f5f7;border-color:#d2d2d7;color:#1d1d1f}.production-remedy{background:#fff5eb;border-color:#bf6a21;color:#1d1d1f}.production-remedy strong,.production-remedy ul,.production-remedy p{color:#633f20}.production-remedy a{color:#0066cc}.structure-heading,.structure-diagram,.layer-diagram,.spec-summary{background:#f5f5f7;color:#515154;border-color:#d2d2d7}.structure-part,.structure-part small,.structure-heading span,.spec-summary dt,.layer-diagram b{color:#515154;border-color:#d2d2d7}.price-preview{background:#fafafc;border-color:#d2d2d7;box-shadow:none}.price-preview strong,.price-preview span,.price-preview p{color:#1d1d1f}.quote-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;margin:0;border-radius:0;border-width:1px 0 0;padding:18px max(24px,calc((100vw - 1220px)/2));padding-bottom:calc(18px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(18px)}.quote-help{color:#0066cc;font-size:13px;text-decoration:none}.quote-footer strong{font-size:28px}.quote-footer .quote-total{gap:18px;flex-direction:row}.support-section{border-top:1px solid #e5e5e7;margin:65px 0 0;padding-top:24px;font-size:12px;line-height:1.8}.support-section h2{font-size:16px;color:#6e6e73;font-weight:600}.support-section>details{border-bottom:1px solid #e5e5e7;padding:14px 0;scroll-margin-top:28px}.support-section summary{cursor:pointer;color:#515154}.support-section .help,.support-section small{color:#6e6e73;font-size:12px}.support-section a,.help-jump{color:#6e6e73;text-underline-offset:3px}.help-jump{display:inline-block;font-size:11px;margin-top:10px}.support-section ul{padding-left:20px}.support-section .structure-heading{margin-top:15px}.site-footer{border-color:#e5e5e7;color:#6e6e73}body[data-view=customer] .panel{padding:20px 0;border:0;border-bottom:1px solid #e5e5e7;border-radius:0;margin-bottom:22px}body[data-view=customer] .panel legend{font-size:20px;font-weight:600}body[data-view=customer] .customer-studio{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:52px}body[data-view=customer] .studio-views{top:20px}body[data-view=customer] .layer-number{display:none}body[data-view=customer] .validation.ok{display:none}body[data-view=customer] .production-check{padding:10px 12px;font-size:11px}body[data-view=customer] .export-panel{border:0;padding:15px 0}body[data-view=customer] .export-heading h3{display:none}:where(a,button,input,select,summary):focus-visible{outline:3px solid #0071e3;outline-offset:3px}@media(max-width:900px){body[data-view=customer] .customer-studio{gap:20px}body[data-view=customer] .studio-views{top:0}.studio-views .export-panel{display:none}#views-canvas{height:130px}.viewer-message{display:none}.quote-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.quote-footer .quote-total{gap:4px;flex-direction:column}.quote-footer strong{font-size:24px}.quote-footer span{font-size:11px}.page-shell{padding-bottom:120px}}

.readiness-panel ul,.guide-lead,.guide-section h3,.guide-criteria b,.guide-criteria span,.obsidian-write-panel h4,.product-split strong,.product-split span,.reference-panel p,.readiness-heading strong,.view-nav strong{color:#515154}.guide-section a{color:#0066cc}.guide-callout{color:#1d1d1f}@media(max-width:900px){.studio-views .export-panel{display:block;padding:5px 0!important}.studio-views .export-heading{display:none}.studio-views .primary-button{padding:9px 12px;font-size:12px}}

/* Neutral stage and a subtle contour keep white materials distinct from the page. */
#views-canvas{background:#ccd1d9}.mock-stage{background:#ccd1d9}.tag-edge{box-shadow:inset 0 0 0 1px #535d6b99,inset -6px -6px 12px #0003}.tag-shadow{background:#25304555}
/* One radius and typography system for UI; product geometry is independent. */
:root{--ui-radius:14px}html{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;font-weight:400;letter-spacing:.005em}button,input,select,summary{font-family:inherit}body .panel,body .export-panel,body .multi-preview,body .layer-select-row,body .color-card,body .layer-option,body .image-controls,body .production-check,body .production-remedy,body .source-summary,body .readiness-panel,body .obsidian-write-panel,body .guide-section,body .view-nav,body .design-choice,body .primary-button,body .export-grid button,body .checklist-button,body .viewer-toolbar button,body .rail-arrow,body .field input,body .field-row input,body .field-row select,body .image-controls select{border-radius:var(--ui-radius)}body .layer-row-head h3,body .viewer-toolbar strong,body .panel legend{font-weight:600;letter-spacing:0}body .color-card-swatch,body .layer-current-swatch{border-radius:50%}.design-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 16px}.design-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:255px;padding:18px 12px;background:#fff;border:1px solid #d2d2d7;color:#1d1d1f;text-align:center}.design-choice[aria-pressed=true]{border:2px solid #0071e3;padding:17px 11px}.design-choice img{width:100%;height:150px;object-fit:contain}.design-choice strong{font-size:14px;line-height:1.6;font-weight:600}.design-choice>span:last-child{color:#6e6e73;font-size:11px}.design-plus{display:grid;place-items:center;height:150px;font-size:52px;font-weight:300;color:#0071e3}.profile-presets{display:flex;gap:6px;flex-wrap:wrap}.profile-presets button{border:1px solid #d2d2d7;background:#f5f5f7;color:#1d1d1f;border-radius:var(--ui-radius);padding:9px 10px;font-size:12px}.profile-presets button:hover{border-color:#0071e3}.design-selection-note{font-size:11px;color:#6e6e73}#original-design-fields{margin-top:18px}@media(max-width:400px){.design-choice{min-height:230px;padding:12px 8px}.design-choice[aria-pressed=true]{padding:11px 7px}.design-choice img,.design-plus{height:125px}}

.profile-presets button[aria-pressed=true]{border-color:#0071e3;background:#eaf3ff;color:#0066cc}

.original-choice{justify-content:flex-start}.original-choice:has(#choose-original[aria-pressed=true]){border:2px solid #0071e3;padding:17px 11px}.original-choice-title{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;border:0;padding:0;background:transparent;color:#1d1d1f;font:inherit;cursor:pointer}.original-choice-title strong{font-size:14px;font-weight:600;line-height:1.6}.card-file-picker{position:relative;display:block;max-width:100%;border:1px solid #0071e3;border-radius:var(--ui-radius);padding:10px 14px;color:#0066cc;font-size:12px;cursor:pointer;overflow:hidden}.card-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.card-file-picker:focus-within{outline:3px solid #0071e3;outline-offset:3px}.card-file-picker:has(input:disabled){opacity:.5;cursor:wait}.original-file-name{max-width:100%;overflow-wrap:anywhere;font-size:11px;color:#6e6e73}.original-file-name:empty{display:none}@media(max-width:400px){.original-choice:has(#choose-original[aria-pressed=true]){padding:11px 7px}}

.purchase-summary{border:1px solid #d2d2d7;border-radius:var(--ui-radius);padding:22px;margin:0 0 28px;background:#f5f5f7}.purchase-summary h2{font-size:20px;font-weight:600;margin:0 0 12px}.purchase-summary>p{font-size:13px;line-height:1.7}.purchase-total-row,.quote-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.purchase-total-row strong{font-size:27px;white-space:nowrap}.purchase-button{border:0;border-radius:var(--ui-radius);background:#0071e3;color:white;font-size:14px;font-weight:600;padding:12px 22px;white-space:nowrap;cursor:pointer}.purchase-button:hover{background:#0066cc}.purchase-note{color:#6e6e73;font-size:11px!important;margin-bottom:0}#purchase-dialog{width:min(480px,calc(100% - 32px));border:1px solid #d2d2d7;border-radius:var(--ui-radius);padding:28px;background:white;color:#1d1d1f}#purchase-dialog::backdrop{background:#0006}#purchase-dialog h2{font-size:21px}#purchase-dialog p{font-size:14px;line-height:1.8}#purchase-dialog strong{font-size:28px}#purchase-dialog form{margin-top:24px}@media(max-width:600px){.quote-actions{gap:10px}.quote-actions a{font-size:11px}.purchase-button{padding:11px 16px;font-size:13px}.purchase-summary{padding:18px}}

/* Base: keep the product and options together. */
[hidden]{display:none!important}
body.preview-starting .studio-views,body.preview-starting .mock-stage{visibility:hidden}
.quantity-stepper{display:flex;align-items:center;gap:18px;max-width:340px;margin:16px 0}
.quantity-stepper button{width:52px;height:52px;border:1px solid #d2d2d7;border-radius:14px;background:#f5f5f7;font-size:25px;color:#0071e3}
.quantity-stepper label{text-align:center;color:#6e6e73;font-size:12px;flex:1}
.quantity-stepper #quantity{display:block;width:100%;font-size:28px;text-align:center;border:0;background:transparent;padding:8px}
.image-controls summary{cursor:pointer;color:#0071e3;padding:15px 0}
@media(min-width:960px){.customer-studio{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.studio-views{grid-column:1;grid-row:1}.studio-colors{grid-column:2;grid-row:1}}
.page-notes{margin:36px 0 0;padding:18px 0 0;border-top:1px solid #e5e5e7;color:#6e6e73;font-size:13px}
.page-notes h2{font-size:14px;color:#6e6e73;font-weight:500;margin:0 0 10px}
.page-notes .note,.page-notes .purchase-note{margin:6px 0;color:#6e6e73}
.page-notes .preview-note{margin:8px 0;padding:12px 14px;border-radius:14px;background:#f5f5f7;color:#6e6e73}
.page-notes .preview-note p{margin:0}

.product-edition{display:block;margin-top:4px;color:#6e6e73;font-size:.36em;font-weight:500;letter-spacing:.08em;line-height:1.2}

.topbar-inner .brand{color:#1d1d1f;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:0;display:flex;align-items:center;gap:10px}.brand-icon{display:block;width:34px;height:34px;flex:none;object-fit:contain}
.topbar-inner .product-nav{display:flex;align-items:center;gap:24px}
.topbar-inner .product-nav a{color:#424245;text-decoration:none;font-size:14px}
.topbar-inner .product-nav a:hover{color:#0071e3}
@media(max-width:600px){.topbar-inner .product-nav{gap:12px}.topbar-inner .product-nav a{font-size:12px}}

.site-terms{max-width:1180px;margin:0 auto 18px;padding:16px 18px;border:1px solid #d2d2d7;border-radius:12px;background:#f5f5f7;color:#1d1d1f;text-align:left;font-size:12px;line-height:1.75}.site-terms h2{font-size:14px;color:#1d1d1f;margin:0 0 7px}.site-terms ol{margin:0;padding-left:22px}.site-terms li+li{margin-top:4px}.site-terms strong{color:#1d1d1f}.site-footer{display:block}.site-footer .footer-meta{display:flex;justify-content:space-between;gap:15px;font-size:10px}.site-footer .footer-meta span:first-child{letter-spacing:.15em}

/* Keep 3D inspection easy to understand and return to the standard three views. */
.multi-preview{position:relative}
.preview-view-cue{display:none}
.interactive .preview-view-cue{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:10px;padding:6px 7px 6px 11px;border:1px solid #d2d2d7;border-radius:14px;background:#fffffff2;color:#515154;box-shadow:0 2px 12px #0002;font-size:11px;line-height:1.2}
.preview-view-cue button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:7px 10px;border:1px solid #d2d2d7;border-radius:11px;background:#f5f5f7;color:#0066cc;font:inherit;font-weight:600;cursor:pointer}
.preview-view-cue button:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
@media(max-width:900px){body[data-view=customer] .studio-views{position:static;top:auto;align-self:stretch;padding:0;background:transparent;z-index:auto}body[data-view=customer] .color-rail-controls{grid-template-columns:44px minmax(0,1fr) 44px}body[data-view=customer] .rail-arrow{width:44px;height:44px}body[data-view=customer] .color-card{flex-basis:58px;min-height:54px}body[data-view=customer] .color-card-swatch{width:44px;height:44px}.preview-view-cue{right:8px;bottom:8px;gap:6px;padding:5px 6px 5px 9px;font-size:10px}.preview-view-cue button{min-height:40px;padding:6px 9px}}

@media(max-width:800px){
  .floating-preview-window{position:fixed;right:10px;bottom:calc(102px + env(safe-area-inset-bottom));z-index:40;width:clamp(126px,36vw,156px);padding:7px;border:1px solid #d2d2d7;border-radius:14px;background:#fff;box-shadow:0 3px 16px #0002}
  .floating-preview-window[hidden],.floating-preview-reopen[hidden]{display:none}
  .floating-preview-window:not([hidden]){display:block}
  .floating-preview-window:not([hidden]){animation:preview-float-in .28s cubic-bezier(.2,.75,.25,1) both}
  @keyframes preview-float-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
  .floating-preview-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:38px;padding:0 0 4px 3px}
  .floating-preview-head span{color:#515154;font-size:10px;line-height:1.25;cursor:grab;touch-action:none;user-select:none}
  .floating-preview-head span:active{cursor:grabbing}
  .floating-preview-head span:focus-visible{outline:2px solid #0071e3;outline-offset:3px;border-radius:4px}
  .floating-preview-head button{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid #d2d2d7;border-radius:50%;background:#fff;color:#0071e3;font:400 24px/1 Arial,sans-serif;cursor:pointer}
  .floating-preview-head button:focus-visible,.floating-preview-reopen:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
  .floating-preview-window img{display:block;width:100%;height:98px;object-fit:contain;border-radius:8px;background:#ccd1d9}
  .floating-preview-reopen{position:fixed;right:10px;bottom:calc(102px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #d2d2d7;border-radius:999px;background:#fff;color:#0071e3;box-shadow:0 3px 16px #0002;font-size:12px;font-weight:600;cursor:pointer}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){.floating-preview-window:not([hidden]){animation:none}}
/* Make standard PROFILE color choices immediately recognizable. */
.profile-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;margin:12px 0 16px}
.profile-presets button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 10px;border:1px solid #d2d2d7;border-radius:var(--ui-radius);background:#fff;color:#1d1d1f;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.profile-presets button:hover{border-color:#0071e3;background:#f5f9ff}
.profile-preset-swatch{width:20px;height:20px;flex:0 0 20px;border:1px solid #0002;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff60}
.profile-presets [data-profile="yellow"] .profile-preset-swatch{background:#edc928}
.profile-presets [data-profile="black"] .profile-preset-swatch{background:#222329}
.profile-presets [data-profile="red"] .profile-preset-swatch{background:#d52d24}
.profile-presets [data-profile="white"] .profile-preset-swatch{background:#fff;border:2px solid #aeb0b6;box-shadow:inset 0 0 0 2px #fff}
.profile-presets button[aria-pressed="true"]{border:2px solid #0071e3;background:#eaf3ff;color:#005bb7;box-shadow:0 0 0 2px #0071e322}
.profile-presets button:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
@media(max-width:440px){.profile-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-presets button{justify-content:flex-start;padding-inline:12px}}
.purchase-total-row{flex-wrap:wrap}
.purchase-open-cart{min-height:44px;padding:9px 14px;border:1px solid #d2d2d7;border-radius:var(--ui-radius);background:#fff;color:#0066cc;font-weight:600}
.purchase-open-cart:hover{border-color:#0071e3;background:#f5f9ff}
.purchase-open-cart .cart-glyph{font-size:18px}
