@font-face{font-family:RoomSerif;src:url('assets/noto-serif-tc-latin-wght-normal.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{--paper:#f7f5ef;--ink:#303a31;--muted:#5d665b;--line:#cdd1c5;--accent:#8a4933;--wash:#eaece3;--warm:#f0e3d8;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;background:transparent;color:var(--ink);border:1px solid #949e8d;border-radius:5px;cursor:pointer;text-decoration:none;font-size:16px;gap:10px}button:hover,.button:hover{background:var(--wash)}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#713c2b}.danger{color:#842c20;border-color:#842c20}button:disabled{opacity:.55;cursor:not-allowed}button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}:focus-visible{outline:3px solid #a65025;outline-offset:4px}h1,h2,h3{font-family:RoomSerif,"Songti SC",Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.25;text-wrap:balance;margin:0}h1{font-size:clamp(36px,4.4vw,64px)}h2{font-size:clamp(27px,2.7vw,38px)}h3{font-size:24px}p{line-height:1.75;margin:12px 0 20px}small,.small{font-size:16px;line-height:1.7}.muted{color:var(--muted)}.preview{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:8px;padding:9px 5%;font-size:16px;line-height:1.5}header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 5%;padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-family:RoomSerif,Georgia,serif;font-size:28px;text-decoration:none;white-space:nowrap;display:flex;gap:12px;align-items:center}.brand span{font:16px Arial;letter-spacing:.18em;border-left:1px solid var(--line);padding-left:12px}nav{display:flex;gap:28px;align-items:center}nav a,.account{font-size:16px;text-decoration:none;min-height:44px;display:flex;align-items:center}nav a[aria-current=page]{color:var(--accent);text-decoration:underline}.account{border:1px solid var(--line);border-radius:5px;padding:8px 14px}main{max-width:1440px;margin:auto;padding:0 5%;min-height:60vh}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;padding:64px 0 38px}.hero p{max-width:440px;margin-bottom:22px}.hero h1 em{font-style:normal;color:var(--accent)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quiet-link{font-size:16px;display:inline-flex;min-height:44px;align-items:center}.hero-photos{display:grid;grid-template-columns:1fr 2.05fr;gap:26px;align-items:end}figure{margin:0}figure img{width:100%;display:block}figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:16px;padding:12px 0;line-height:1.6}.badge{display:inline-block;background:var(--wash);padding:4px 9px;border-radius:3px;font-size:16px;line-height:1.5}.badge.warn{background:var(--warm);color:#713c2b}.section{padding:64px 0;border-top:1px solid var(--line);margin-top:34px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.steps{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.step{border-top:1px solid var(--line);padding:24px 0}.step strong{font-size:16px;color:var(--accent);display:block;margin-bottom:14px}.step p{font-size:16px}.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.style-grid h3{margin-top:16px}.style-grid p{font-size:16px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:42px 0 30px}.page-head h1{font-size:clamp(32px,3.4vw,46px)}.page-head p{margin:12px 0 0;max-width:720px}.notice{background:var(--wash);padding:16px 20px;font-size:16px;line-height:1.7;margin:0 0 24px;border-radius:5px}.notice.warm{background:var(--warm);color:#653c2c}.studio{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start;padding-bottom:40px}.step-nav{display:flex;border-bottom:1px solid var(--line);gap:14px;margin-bottom:22px}.step-nav button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:14px 4px;background:transparent}.step-nav button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.sidebar{background:var(--wash);padding:26px;border-radius:8px}.sidebar h2{font-size:25px}.sidebar h3{font:600 16px Arial;margin:26px 0 12px}.sidebar .primary{width:100%;margin-top:20px}.sidebar dl,.receipt dl{display:grid;grid-template-columns:1fr auto;gap:14px;font-size:16px}.sidebar dt,.sidebar dd,.receipt dd,.receipt dt{margin:0}.upload{border:1px dashed #949e8d;padding:32px;text-align:center;background:#efefe6;border-radius:6px;margin-bottom:20px}.upload label{display:inline-flex;background:var(--accent);color:white;border-radius:5px;padding:13px 22px;cursor:pointer;min-height:44px}.upload label:focus-within{outline:3px solid #a65025;outline-offset:4px}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload p{font-size:16px;margin-bottom:10px}.photo-box{position:relative;background:#e4e6dd;line-height:0;overflow:hidden}.photo-box img{width:100%;display:block;object-fit:contain}.photo-tag{position:absolute;left:14px;bottom:14px;background:var(--paper);font-size:16px;padding:8px 12px;line-height:1.5;border-radius:3px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 0}.toolbar button{font-size:16px;padding:8px 12px}.toolbar label{font-size:16px;display:flex;align-items:center;gap:8px}.toolbar input{width:90px}.canvas-wrap{position:relative;line-height:0;background:var(--wash);overflow:auto}.canvas-wrap img{width:100%;display:block}.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;opacity:.48}.legend{display:flex;gap:18px;font-size:16px;padding:14px 0;line-height:1.7}.legend span:before{content:'';display:inline-block;width:11px;height:11px;background:#b75624;margin-right:6px}.legend span+span:before{background:var(--paper);border:1px solid #949e8d}.style-pick{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.style-pick button{display:block;text-align:left;padding:0;overflow:hidden;border:2px solid var(--line);background:transparent;color:var(--ink);border-radius:6px}.style-pick button[aria-pressed=true]{border-color:var(--accent);background:var(--warm)}.style-pick img{width:100%;display:block}.style-pick div{padding:16px}.style-pick strong{font-size:18px;display:block;margin-bottom:7px}.style-pick small{display:block}.field{display:block;margin:20px 0 8px;font-size:16px}select,input[type=email],textarea{width:100%;background:var(--paper);color:var(--ink);border:1px solid #949e8d;padding:12px;border-radius:5px;min-height:44px}input[type=range],input[type=checkbox]{accent-color:var(--accent)}.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.7;margin:18px 0}.checkbox input{margin-top:5px;width:18px;height:18px;flex-shrink:0}.next-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px}.compare{position:relative;line-height:0;overflow:hidden}.compare img{width:100%;display:block}.compare .after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split,50%))}.compare:after{content:'';position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;background:white;pointer-events:none}.compare .label-before,.compare .label-after{position:absolute;top:14px;padding:7px 11px;background:var(--paper);font-size:16px;line-height:1.4}.label-before{left:14px}.label-after{right:14px}.slider-label{display:flex;gap:18px;align-items:center;font-size:16px;padding:16px 0}.slider-label input{flex:1;min-width:0}.result{margin-top:26px;border-top:1px solid var(--line);padding-top:26px}.result h2{font-size:27px;margin-bottom:16px}.status{background:var(--wash);padding:24px;margin:22px 0;border-radius:6px}.status progress{width:100%;height:8px;accent-color:var(--accent);margin:14px 0}.status p{margin-bottom:12px}.price-table{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin:32px 0}.price-table article{border-top:1px solid var(--ink);padding:26px 0}.price-table h2{font-size:26px}.price{font-family:RoomSerif,Georgia,serif;font-size:40px;margin:22px 0 10px}.price small{font:16px Arial}.price-table ul{padding-left:18px;font-size:16px;line-height:2}.price-table button{width:100%}.text-page{max-width:880px;margin:0 auto;padding:42px 0 60px}.text-page h1{font-size:42px;margin-bottom:24px}.text-page h2{font-size:28px;margin-top:36px;margin-bottom:16px}.text-page li{line-height:1.8;margin-bottom:9px}.text-page details{border-top:1px solid var(--line);padding:18px 0}.text-page summary{font-size:18px;cursor:pointer;line-height:1.6}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:56px 0}.form-layout .form{max-width:460px}.form-layout h1{font-size:40px;margin-bottom:22px}.form-layout img{width:100%;margin-top:16px}.form .primary{width:100%}.receipt{background:var(--wash);padding:28px;margin-top:24px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-grid h2{font-size:24px;margin:16px 0 6px}.gallery-grid p{font-size:16px}.empty{padding:70px 20px;text-align:center;background:var(--wash);border-radius:6px}.empty p{max-width:500px;margin:18px auto}.ledger{width:100%;border-collapse:collapse;font-size:16px;margin:24px 0}.ledger th,.ledger td{text-align:left;border-bottom:1px solid var(--line);padding:15px 8px;line-height:1.6}.table-wrap{overflow:auto}.source{font-size:16px;color:var(--muted)}footer{margin-top:45px;padding:38px 5%;border-top:1px solid var(--line);display:flex;align-items:center;gap:26px;flex-wrap:wrap}footer p{font-size:16px;margin:0}footer div{display:flex;gap:22px;margin-left:auto;font-size:16px}footer small{width:100%;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:5px;padding:15px 20px;max-width:min(90vw,600px);z-index:10;display:none;font-size:16px;line-height:1.6}dialog{border:0;background:var(--paper);color:var(--ink);max-width:500px;width:90%;padding:32px;border-radius:8px;box-shadow:0 18px 50px #0003}dialog::backdrop{background:#1c231d80}.skip{position:fixed;top:-80px;background:white;padding:12px;z-index:20}.skip:focus{top:0}.error-text{color:#842c20;font-size:16px}.success-text{color:#335537}.flow-diagram{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.flow-diagram span{padding:12px 15px;background:var(--wash);border-radius:4px;font-size:16px}
@media(max-width:1000px){header{gap:16px;flex-wrap:wrap}.brand{font-size:25px}nav{gap:18px}.studio{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.hero{gap:30px}.hero h1{font-size:48px}.sidebar{padding:20px}}
@media(max-width:720px){.preview{flex-wrap:wrap;font-size:16px}header{padding:16px 0;gap:12px}.account{margin-left:auto;font-size:16px}header nav{order:3;width:100%;justify-content:space-between;gap:5px}nav a{font-size:16px}.hero{grid-template-columns:1fr;padding:32px 0 24px;gap:18px}.hero h1{font-size:41px}.hero p{font-size:16px}.hero-photos{grid-template-columns:1fr;gap:14px}.hero-photos figure:first-child{width:58%}.section{padding:36px 0;margin-top:22px}.split,.steps,.style-grid,.studio,.form-layout,.price-table,.gallery-grid{grid-template-columns:1fr;gap:24px}.steps{gap:0}.step{padding:20px 0}.page-head{display:block;padding:28px 0 22px}.page-head>.actions,.page-head>.badge{margin-top:18px}.page-head p{font-size:16px}.studio .sidebar{order:2}.step-nav{gap:12px}.step-nav button{font-size:16px}.toolbar{gap:6px}.toolbar button{font-size:16px;padding:8px}.style-pick{gap:12px}.style-pick div{padding:12px}.style-pick strong{font-size:16px}.upload{padding:25px 15px}.text-page{padding-top:30px}.text-page h1{font-size:34px}.form-layout{padding:32px 0}.form-layout .form{max-width:none}.form-layout figure{display:none}.price-table{gap:4px}.price-table article{padding:24px 0}.next-row{align-items:stretch}.next-row button{flex:1}.legend{flex-wrap:wrap;gap:5px 18px}.ledger{font-size:16px}.ledger td,.ledger th{padding:12px 6px}.sidebar dl{font-size:16px}.status{padding:18px}.hero-photos figcaption{font-size:16px}footer{align-items:start;gap:18px}footer div{margin-left:0;width:100%;flex-wrap:wrap}footer .brand{font-size:24px}.preview a{min-height:44px}.notice{padding:14px 16px}.actions .button,.actions button{font-size:16px}.slider-label{gap:10px;font-size:16px}.photo-tag{left:8px;bottom:8px;font-size:16px}.table-wrap{margin-right:-4px}.text-page p{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.compare .after{transition:clip-path .08s ease-out}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* English production surfaces */
@font-face{font-family:RoomSerif;src:url('/assets/noto-serif-tc-latin-wght-normal.woff2') format('woff2');font-weight:200 900;font-display:swap}
img{max-width:100%;height:auto}button,select,textarea,input{font-family:Arial,sans-serif}main{max-width:1480px}.brand{letter-spacing:-.04em;gap:9px}.brand img{width:32px;height:32px}.brand i{font-style:italic;font-size:.72em;color:var(--accent);letter-spacing:-.02em}.eyebrow{font:16px/1.5 Arial,sans-serif;letter-spacing:.15em;font-weight:600;margin:0 0 20px;color:var(--accent)}.hero{grid-template-columns:1.3fr 1fr;padding:66px 0 46px;gap:9%}.hero h1{font-size:clamp(40px,4.85vw,72px);line-height:1.12;letter-spacing:-.04em}.hero h1 em{font-style:italic}.hero p{line-height:1.7}.hero-photos{grid-template-columns:1fr 2.05fr;gap:28px}.hero-photos figure:first-child{padding-bottom:0}.hero-photos figure:first-child img{aspect-ratio:1.35;object-fit:cover}.hero-photos figure:nth-child(2) img{aspect-ratio:1.7;object-fit:cover}.source{line-height:1.7;max-width:880px;margin:8px 0 0}.hero-photos+ .source{margin-left:calc(33.333% + 9px)}.section{margin-top:52px;padding:64px 0}.section h2{font-size:clamp(30px,3.4vw,48px);line-height:1.2;letter-spacing:-.04em}.section .eyebrow{margin-top:8px}.step h3{font-size:28px}.step p{max-width:350px}.button.primary,button.primary{border-radius:3px}.guide-intro{padding:12px 0 24px}.guide-intro ul{padding-left:20px;font-size:16px;line-height:1.8}.sidebar{border-radius:3px}.sidebar hr{border:0;border-top:1px solid #c4c9bd;margin:24px 0}.sidebar .eyebrow{font-size:16px}.sidebar h2{font-size:30px;line-height:1.22}.sidebar .field{font-size:16px;font-weight:600}.sidebar #refresh-account{margin-top:10px;width:100%}.canvas-wrap{overflow:visible;min-width:100%}.canvas-wrap canvas{opacity:1}.editor-scroll{max-height:650px;overflow:auto;background:var(--wash);overscroll-behavior:contain;touch-action:pan-x pan-y}.rectangle-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.rectangle-controls label{font-size:16px;line-height:1.7}.rectangle-controls input{width:100%;min-height:44px;border:1px solid #949e8d;background:var(--paper);color:var(--ink);padding:8px}.toolbar select{width:auto}.toolbar label{flex-shrink:0}.toolbar button[aria-pressed=true]{background:var(--ink);color:#fff}.legend{margin:0}.result-image{width:100%}.result .actions{margin-top:16px}.room-card{padding:24px 0;border-top:1px solid var(--line);min-width:0}.room-card>.eyebrow{font-size:16px}.room-card .compare img{aspect-ratio:auto}.room-card .danger{margin-top:8px}.ledger td small{overflow-wrap:anywhere}.ledger button{font-size:16px;padding:8px 10px;margin:4px 0}.receipt{margin-top:0;border-radius:3px}.price-table .button{width:100%}.price-table .eyebrow{font-size:16px}.price-table .price{font-size:46px}.text-page{max-width:800px}.text-page h1{font-size:clamp(36px,4vw,54px)}.text-page h2{font-size:29px}form>.primary{margin-top:18px}.notice.warm a{font-weight:600}.status h2{font-size:27px}.status .quiet-link{margin-left:16px}.small{overflow-wrap:anywhere}#photo-status:empty,#job-status:empty,#result:empty,#checkout-status:empty{display:none}#photo-status{font-size:16px;line-height:1.7}details summary{cursor:pointer;min-height:44px;line-height:1.7;padding:10px 0;font-size:16px}dialog h2{font-size:29px}dialog textarea{margin-bottom:18px}dialog .actions{justify-content:flex-end}dialog .field{margin-top:0}dialog[open]{max-height:90dvh;overflow:auto}.empty{margin-top:32px}.empty h1{font-size:48px}.upload input:focus-visible{outline:0}.upload label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}footer{padding-top:46px;padding-bottom:38px}.account{white-space:nowrap}.checkbox input{margin-top:3px}
@media(min-width:1450px){header,footer{padding-left:max(0px,calc((100vw - 1340px)/2 - 5vw));padding-right:max(0px,calc((100vw - 1340px)/2 - 5vw))}}
@media(max-width:1000px){.hero{gap:5%}.hero h1{font-size:clamp(40px,5.5vw,58px)}.studio{grid-template-columns:minmax(0,1fr) 285px}.sidebar{padding:22px}.brand{font-size:24px}nav{gap:19px}.hero-photos{gap:20px}.page-head h1{font-size:42px}}
@media(max-width:720px){header .brand{font-size:25px}header{gap:10px}header .account{padding:7px 10px;min-height:44px}nav{border-top:1px solid var(--line);padding-top:7px}nav a{min-height:44px}.hero{grid-template-columns:1fr;padding:32px 0 27px;gap:20px}.hero h1{font-size:clamp(40px,10vw,60px)}.hero p{max-width:100%;margin:0 0 20px}.hero .eyebrow{margin-bottom:18px}.hero .small{margin:16px 0 0}.hero-photos{grid-template-columns:1fr;gap:14px}.hero-photos figure:first-child{width:56%}.hero-photos figure:first-child img{aspect-ratio:1.5}.hero-photos figure:nth-child(2) img{aspect-ratio:1.5}.hero-photos+.source{margin-left:0}.section{padding:36px 0;margin-top:30px}.section h2{font-size:36px}.section.split{gap:16px}.section .eyebrow{margin:0}.steps{gap:0}.studio{grid-template-columns:1fr;gap:24px}.sidebar{padding:24px}.sidebar .primary{min-height:50px}.editor-scroll{max-height:65dvh}.rectangle-controls{grid-template-columns:repeat(2,1fr)}.toolbar{gap:8px}.toolbar button{min-height:44px;font-size:16px;padding:10px}.toolbar label{min-height:44px}.page-head h1{font-size:36px}.page-head{padding:29px 0 24px}.page-head .eyebrow{margin-bottom:12px}.price-table .price{margin:14px 0}.form-layout{padding:20px 0}.form-layout h1{font-size:42px}.empty h1{font-size:36px}.status .quiet-link{margin-left:0;display:flex}.room-card{padding-top:20px}.room-card h2{font-size:26px}.room-card .actions{gap:9px}.room-card .button,.room-card button{font-size:16px}.guide-intro{gap:26px}.gallery-grid{gap:16px}.receipt{margin-top:8px}.brand img{width:28px;height:28px}footer .brand{font-size:25px}footer div{gap:20px}footer{margin-top:20px;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.checkbox{font-size:16px}dialog{padding:24px}.text-page p,.text-page li{font-size:16px}#toast{bottom:20px;width:max-content;max-width:90vw}}

/* Documented readability and touch-target floor, including inline links. */
a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}input[type=range]{min-height:44px}input[type=checkbox]{width:24px;height:24px;flex-shrink:0}.checkbox{min-height:44px;padding:10px 0;cursor:pointer}header nav{flex-wrap:wrap}footer div{flex-wrap:wrap}.toolbar label{min-height:44px}.toolbar input{min-height:44px}
