:root{--ink:#303a32;--muted:#687168;--line:#d8dcd3;--paper:#f6f5ef;--green:#3e5043;--soft:#e9ece3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 system-ui,-apple-system,'Noto Sans',sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;border-bottom:1px solid var(--line)}.brand{font:28px Georgia,serif;color:inherit;text-decoration:none;display:flex;align-items:center;gap:18px}.brand span{font:bold 17px system-ui}.badge,.eyebrow{font-size:11px;letter-spacing:.14em}.badge{border:1px solid var(--line);padding:5px 12px;border-radius:30px}main{max-width:1440px;margin:auto;padding:36px 5vw}#intro{padding:30px 0}h1{font:clamp(32px,5vw,62px)/1.45 Georgia,'Yu Mincho',serif;font-weight:500;margin:24px 0}.lead{font-size:17px;color:var(--muted);line-height:2}h2{font-size:22px;font-weight:500}h3{font-size:16px;margin:8px 0}.eyebrow{color:var(--muted)}button,select,input,textarea{font:inherit}button,select{min-height:44px;border:1px solid var(--line);background:white;color:var(--ink);padding:9px 15px;border-radius:5px}button{cursor:pointer}button:hover{border-color:var(--green);background:var(--soft)}button:disabled{opacity:.5;cursor:default}button.active,.primary{background:var(--green);color:white;border-color:var(--green)}.primary{padding:15px 24px}.primary span{margin-left:35px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b27a36;outline-offset:3px}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:64px 0 35px;border-top:1px solid var(--line);padding-top:24px}.intro-grid b{font:26px Georgia;color:#9ba38f}.intro-grid p,.muted{color:var(--muted);font-size:13px}.bar,.tabs,.filters,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bar{justify-content:space-between}.tabs{padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:22px}.filters{margin:18px 0}.filters label{font-size:12px;color:var(--muted)}select{max-width:100%}input[type=search]{border:1px solid var(--line);padding:10px;width:200px;min-height:44px}.notice{padding:12px 16px;background:var(--soft);font-size:13px;border-left:3px solid #9cae96;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;min-width:0}.photo{height:260px;width:100%;background:#fafaf8;border:0;padding:8px}.photo img{height:100%;width:100%;object-fit:contain}.card small{color:var(--muted);font-size:11px}.card .row{margin-top:auto;padding-top:12px}.card .row button{flex:1;padding:8px}.card a,.link{color:var(--green);font-size:12px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:25px}.target{background:white;padding:15px;border:1px solid var(--line);margin:18px 0}.plan{position:relative;width:100%;border:1px solid var(--line);background:white}.plan img{display:block;width:100%}.pin{position:absolute;transform:translate(-50%,-50%);border:2px solid white!important;border-radius:50%;padding:2px;min-height:32px;width:32px;background:var(--green);color:white;font-size:11px;box-shadow:0 1px 5px #3336}.pin.fixed{background:#8d7252}.split{display:grid;grid-template-columns:2fr 1fr;gap:22px}.location{display:block;width:100%;text-align:left;margin:0 0 8px}.location small{display:block}.empty{padding:60px 20px;text-align:center;color:var(--muted)}.selection{padding:18px;background:white;border:1px solid var(--line);margin:12px 0}.selection textarea{width:100%;padding:8px;border:1px solid var(--line);margin:12px 0;min-height:60px}.comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow-x:auto}.comparison .card{min-width:180px}dialog{border:1px solid var(--line);border-radius:8px;max-width:90vw;width:680px;max-height:90vh;padding:24px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17251acc}dialog img{display:block;width:100%;max-height:60vh;object-fit:contain}footer{padding:30px 5vw;border-top:1px solid var(--line);font-size:10px;letter-spacing:.12em;color:var(--muted)}pre{white-space:pre-wrap;font-size:12px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:12px 22px;z-index:20;border-radius:5px}.scope{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:1fr}.comparison{grid-template-columns:repeat(4,200px)}}@media(max-width:600px){header{padding:16px 5vw}.brand{font-size:23px}.brand span{font-size:14px}main{padding:22px 5vw}.intro-grid{grid-template-columns:1fr;gap:12px;margin-top:40px}.intro-grid h2{font-size:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:10px}.photo{height:205px}.card h3{font-size:13px}.filters{align-items:stretch}.filters select{width:100%}.tabs button{flex:1;font-size:13px;padding:8px}.pin{width:26px;min-height:26px;font-size:9px}.bar h2{font-size:20px}.card .row{display:block}.card .row button{width:100%;margin:3px 0}}
/* v2: keep the original quiet palette and card rhythm; unify design -> color. */
.maker-bar{display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--soft);padding:20px;border-radius:8px}.maker-bar>p{font-size:12px;color:var(--muted)}.maker-bar small,.target small{display:block;color:var(--muted);font-size:11px}.makers{display:flex;gap:10px;margin-top:8px}.makers button{min-width:125px;text-align:left;font-weight:600;padding:12px 18px}.makers button small{font-weight:400;font-size:10px;margin-top:2px}.makers .active small{color:#dae5d8}.target{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px;border-radius:6px}.target select{font-size:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;min-width:300px;padding-left:0}.steps{display:flex;padding:0;list-style:none;gap:20px;counter-reset:step;margin:25px 0;color:#8e978a;font-size:12px}.steps li{counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;border-radius:50%;border:1px solid var(--line);font:11px Georgia}.steps .done,.steps .current{color:var(--green)}.steps .current:before{background:var(--green);color:white;border-color:var(--green)}.card p{margin:8px 0}.card .card-meta{font-size:12px;color:var(--muted);line-height:1.5;min-height:36px}.card .choose{margin-top:auto;min-height:44px;font-size:12px;background:var(--soft)}.grid .card .photo{height:285px}.filters select{display:block;width:100%;font-size:13px;max-width:250px}.filters label{flex:1;min-width:140px}.filters input[type=search]{width:100%}.result-bar{justify-content:space-between;font-size:12px}.result-bar input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.product-dialog{width:1080px;max-width:94vw;padding:25px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px}.modal-heading h2{margin:5px 0}.modal-heading small{color:var(--muted)}.product-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:30px}.detail-image{height:490px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:12px}.detail-image img{height:100%;width:100%;max-height:100%;object-fit:contain}.missing{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#7b857b;gap:10px;height:100%;min-height:150px;text-align:center;padding:20px;background:#eff1eb}.missing span{font-size:35px;font-weight:300}.missing small{font-size:11px}.swatches{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0;max-height:270px;overflow-y:auto;padding:4px}.swatches button{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:12px;text-align:left;min-height:44px}.swatches img{width:28px;height:28px;object-fit:cover;border:1px solid var(--line);border-radius:3px}.spec{display:grid;grid-template-columns:115px 1fr;gap:0;font-size:12px;margin:18px 0}.spec dt,.spec dd{border-top:1px solid var(--line);padding:8px 0;margin:0}.spec dt{color:var(--muted)}.spec dd small{display:block;font-size:10px;color:var(--muted)}.reference{font-size:12px;color:var(--muted)}.reference img{display:block;width:100%;max-height:350px;object-fit:contain;margin-top:10px}.living-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:15px 0 25px}.living-heading h2{font:30px/1.5 Georgia,'Yu Mincho',serif}.living-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.living-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px;margin:25px 0}.living-four{margin:15px 0 35px}.living-four .photo{height:310px}.living-four p{font-size:13px}.plan-scroll{overflow-x:auto;border:1px solid var(--line);background:white}.plan-scroll .plan{min-width:1200px;border:0}.pin{width:40px;min-height:40px;border-radius:50%;font-size:12px;z-index:1}.pin:hover,.pin:focus-visible{z-index:3}.pin.selected{outline:3px solid #c2a277}.active-location{border-color:var(--green);background:var(--soft)}.selection-summary small{display:block}.saved-card{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line);margin-top:15px}.saved-image{height:180px;display:flex;align-items:center;justify-content:center;background:#f9faf7}.saved-image img{width:100%;height:100%;object-fit:contain}.saved-content h3{margin-top:0}.saved-content select{font-size:13px;margin-left:10px}.saved-content .row button{font-size:12px}.saved-content textarea{margin:12px 0}.approved{font-size:12px;color:var(--green);background:var(--soft);padding:8px}.warning{border-color:#a88349;background:#f4ebdb}.product-dialog>label{display:block;margin:14px 0;font-size:13px}.product-dialog>label input{display:block;width:100%;min-height:44px;padding:10px;border:1px solid var(--line);margin-top:5px}.approval-checks{display:flex;flex-direction:column;gap:10px;margin:20px 0;font-size:13px}.approval-checks input{width:20px;height:20px;vertical-align:middle}.scope{margin:35px 0 0;padding:18px;border-top:1px solid var(--line)}.scope summary{cursor:pointer}.scope p{max-width:900px}.saved-card .missing small{display:none}
@media(max-width:900px){.maker-bar{align-items:flex-start}.maker-bar>p{max-width:150px}.makers button{min-width:100px}.product-detail{grid-template-columns:1fr 1fr;gap:20px}.detail-image{height:390px}.grid .card .photo{height:240px}.comparison.living-four{grid-template-columns:repeat(4,200px)}.living-heading h2{font-size:27px}}
@media(max-width:600px){.maker-bar{padding:15px;display:block}.maker-bar>p{max-width:none;margin-bottom:0}.makers{gap:6px}.makers button{min-width:0;flex:1;padding:10px;font-size:13px}.target{display:block;padding:12px}.target select{min-width:0;width:100%;font-size:14px}.target button{margin-top:8px;width:100%;font-size:12px}.steps{gap:10px;font-size:10px;justify-content:space-between}.steps li:before{width:19px;height:19px;margin-right:4px}.steps li:last-child{display:none}.filters{gap:10px}.filters label{min-width:calc(50% - 10px)}.filters select{max-width:none;font-size:12px}.filters label:last-child{min-width:100%}.tabs button{flex:none;width:calc(33.33% - 7px);font-size:12px}.tabs{gap:8px}.grid .card .photo{height:230px}.card .choose{font-size:11px;padding:8px}.product-dialog{padding:15px;max-width:96vw;width:96vw;max-height:94dvh}.product-detail{grid-template-columns:1fr;gap:14px}.detail-image{height:340px}.swatches{max-height:240px}.modal-heading h2{font-size:18px}.modal-heading button{font-size:12px;flex-shrink:0}.living-heading{display:block}.living-heading h2{font-size:25px}.living-grid{max-width:none}.saved-card{grid-template-columns:70px 1fr;gap:12px}.saved-image{height:150px}.saved-content .row{gap:6px}.saved-content .row label{width:100%;font-size:12px}.saved-content .row button{padding:7px}.spec{grid-template-columns:100px 1fr}.plan-scroll .plan{min-width:1200px}.pin{width:40px;min-height:40px;font-size:11px}.result-bar{align-items:flex-start}.living-four .photo{height:250px}.bar>.row button{font-size:12px}.selection{padding:13px}.selection .badge{font-size:10px;letter-spacing:0}.scope{font-size:11px}}
@media print{header,footer,.tabs,.maker-bar,.scope,.selection button,.selection select,.selection textarea,#import-button,#undo,#history-open,.bar>.row{display:none!important}main{padding:0;max-width:none}.selection{break-inside:avoid}.saved-card{break-inside:avoid}.saved-image{height:120px}body{background:white;font-size:11px}.selection-summary{display:block}.selection h3{font-size:12px}.notice{font-size:10px}}
.plan-candidate{display:flex;align-items:center;gap:14px;font-size:12px;margin:10px 0}.plan-candidate img{width:70px;height:125px;object-fit:contain;background:white}.plan-candidate .missing{width:70px;min-height:100px}.plan-candidate .missing b,.plan-candidate .missing small{font-size:9px}.plan-candidate .missing span{font-size:22px}
.embedded header,.embedded footer{display:none}.embedded main{padding:24px;max-width:none}@media(max-width:600px){.embedded main{padding:15px}}
.budget-label{font-size:12px;font-weight:600;color:#70592f;background:#f4efdf;padding:8px 10px;margin:8px 0}.selection-groups{gap:8px}.selection-groups button{flex:1;min-width:150px}.grid .card h3{min-height:3.4em}.grid .card .choose{margin-top:auto}
.selected-color-sample{display:flex;align-items:center;gap:12px;margin:12px 0}.selected-color-sample img{object-fit:contain;border-radius:4px}
.simulation-label{display:block;color:#4b5049;font-size:12px;line-height:1.6;text-align:center;margin-top:5px}.detail-image:has(.simulation-label){position:relative}.detail-image .simulation-label{position:absolute;bottom:4px;left:0;right:0;background:rgba(255,255,255,.9);padding:4px}
