#dh-space-dna{--dna-coral:#b34f3c;--dna-line:#e7dfd6;color:#292723;font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif}
#dh-space-dna *{box-sizing:border-box}
html:has(#dh-space-dna dialog[open]){overflow:hidden}
#dh-space-dna [hidden]{display:none!important}
#dh-space-dna .dna-dialog{width:min(1080px,calc(100% - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--dna-line);border-radius:30px;background:#fbf8f4;color:inherit;overflow:auto;overscroll-behavior:contain}
#dh-space-dna .dna-dialog::backdrop{background:rgba(37,32,27,.48);backdrop-filter:blur(5px)}
#dh-space-dna .dna-close-form{position:sticky;top:18px;z-index:3;height:0;display:flex;justify-content:flex-end;margin:0 20px}
#dh-space-dna button,#dh-space-dna select{font:inherit;cursor:pointer}
#dh-space-dna .dna-close{border:0;border-radius:50%;width:46px;height:46px;background:#eee9e2;font-size:30px;line-height:1}
#dh-space-dna .dna-body{padding:38px 40px 16px}
#dh-space-dna .dna-brand{margin:0 50px 34px 0;color:var(--dna-coral);letter-spacing:.17em;font-weight:700;font-size:13px}
#dh-space-dna .dna-progress{color:#948775;font-size:14px;margin:0 0 24px}
#dh-space-dna .dna-progress::before{content:"";display:inline-block;width:32px;height:4px;border-radius:3px;background:#d9826c;margin:0 56px 4px 0;box-shadow:41px 0 #e2d9cd}
#dh-space-dna .dna-progress{padding-left:0;text-indent:0}
#dh-space-dna h2{font-family:inherit;font-size:clamp(30px,3.4vw,46px);font-weight:750;line-height:1.45;letter-spacing:-.02em;margin:0 0 18px}
#dh-space-dna .dna-intro{font-size:16px;line-height:1.85;color:#81796f;margin:0 0 26px}
#dh-space-dna .dna-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#dh-space-dna .dna-photo{display:block;position:relative;padding:0;border:2px solid transparent;border-radius:20px;background:#fff;overflow:hidden;text-align:left;color:inherit;min-width:0}
#dh-space-dna .dna-photo img{width:100%;aspect-ratio:1.8;object-fit:cover;display:block;background:#e5dfd7}
#dh-space-dna .dna-photo span{display:block;padding:13px 14px;font-size:15px;font-weight:650;line-height:1.5}
#dh-space-dna .dna-photo::after{content:"";position:absolute;top:12px;right:12px;width:25px;height:25px;border:2px solid #fff;border-radius:50%;background:#0002}
#dh-space-dna .dna-photo[aria-pressed=true]{border-color:var(--dna-coral);box-shadow:0 0 0 2px #b34f3c25}
#dh-space-dna .dna-photo[aria-pressed=true]::after{content:"✓";background:var(--dna-coral);color:#fff;text-align:center;line-height:25px}
#dh-space-dna .dna-count{font-size:13px;color:#81796f;margin:16px 0 0}
#dh-space-dna .dna-footer{position:sticky;bottom:0;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--dna-line);background:#fffdfa;z-index:2}
#dh-space-dna .dna-footer p{font-size:12px;color:#867e75;line-height:1.7;margin:0;max-width:420px}
#dh-space-dna .dna-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
#dh-space-dna .dna-primary{padding:16px 24px;border:0;border-radius:16px;min-height:48px;background:var(--dna-coral);color:#fff;font-weight:650}
#dh-space-dna .dna-primary:disabled{background:#efcabf;color:#76645b;cursor:default}
#dh-space-dna .dna-text{border:0;background:transparent;color:#77685b;min-height:44px;padding:4px 8px}
#dh-space-dna .dna-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}
#dh-space-dna .dna-room-grid button{border:1px solid var(--dna-line);border-radius:17px;min-height:84px;background:white;color:#302c26;font-weight:650;font-size:20px}
#dh-space-dna .dna-room-grid [aria-pressed=true]{border:2px solid var(--dna-coral);background:#fcf0e9;color:var(--dna-coral)}
#dh-space-dna .dna-room-grid button:last-child{grid-column:1/-1}
#dh-space-dna .dna-error{color:#974431;font-size:14px;min-height:1.5em;margin:14px 0 0}
#dh-space-dna .dna-existing{display:flex;gap:12px;align-items:center;color:#77685b}
#dh-space-dna select{min-height:44px;background:white;border:1px solid var(--dna-line);border-radius:8px;padding:8px;max-width:100%}
#dh-space-dna .dna-stage-dialog{max-width:650px}
#dh-space-dna .dna-stage-list{display:grid;gap:10px;margin-top:20px}
#dh-space-dna .dna-stage-list a{display:grid;grid-template-columns:1fr 24px;text-decoration:none;border:1px solid var(--dna-line);border-radius:15px;padding:18px;color:inherit;background:white}
#dh-space-dna .dna-stage-list strong{font-size:18px}
#dh-space-dna .dna-stage-list span{grid-row:2;font-size:13px;color:#81796f;margin-top:5px}
#dh-space-dna .dna-stage-list b{grid-row:1/3;grid-column:2;align-self:center}
#dh-space-dna :focus-visible{outline:3px solid #925341;outline-offset:4px}
#dh-homepage #dh-homepage-brand-section .dna-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%}
#dh-homepage #dh-homepage-brand-section .dna-hero-actions .dna-home-primary{display:inline-flex;flex:1;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:14px 18px;border:0;border-radius:14px;background:#b34f3c!important;color:#fff!important;text-decoration:none;text-align:center;font-weight:700;line-height:1.5}
#dh-homepage .dna-hero-actions .dna-stage-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #c5b5a5;border-radius:14px;color:#625448;text-decoration:none;background:#fffdfa;font-size:15px}
#dh-homepage .dna-hero-copy{flex-basis:100%;font-size:13px;line-height:1.7;color:#776b60;margin:0}
.dna-case-context{margin-bottom:24px;padding:20px;background:#fff9f4;border:1px solid #eadfd5;border-radius:18px}
.dna-case-context h1{font:700 28px/1.45 system-ui;margin:0 0 10px;color:#302a24}
.dna-case-context p{font-size:14px;color:#796b5d;line-height:1.8}
.dna-case-context nav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}
.dna-case-context a{color:#a34e3d}
.dna-case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.dna-case-list li{position:relative;min-width:0;border:1px solid #eee3d9;border-radius:17px;overflow:hidden;background:white}
.dna-case-list a{display:block;color:#302a24;text-decoration:none}
.dna-case-list img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dna-case-list strong,.dna-case-list small{display:block;padding:10px 14px;line-height:1.6}
.dna-case-list small{padding-top:0;color:#8b7c6e;font-size:12px}
.dna-case-list button{position:absolute;top:10px;right:10px;border:0;border-radius:50%;width:44px;height:44px;background:#fff;color:#ae4d3b;cursor:pointer;font-size:22px}
@media(max-width:767px){#dh-space-dna .dna-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:24px}#dh-space-dna .dna-body{padding:26px 18px 10px}#dh-space-dna .dna-brand{font-size:10px;letter-spacing:.1em;margin-bottom:28px}#dh-space-dna .dna-close-form{top:14px;margin-right:14px}#dh-space-dna .dna-close{width:40px;height:40px}#dh-space-dna .dna-intro{font-size:14px;line-height:1.7;margin-bottom:20px}#dh-space-dna .dna-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#dh-space-dna .dna-photo{border-radius:15px}#dh-space-dna .dna-photo img{aspect-ratio:1.25}#dh-space-dna .dna-photo span{padding:10px 8px;font-size:12px}#dh-space-dna .dna-photo::after{width:21px;height:21px;top:8px;right:8px;line-height:21px}#dh-space-dna .dna-footer{padding:12px 16px;display:block}#dh-space-dna .dna-footer p{font-size:10px;line-height:1.5;margin-bottom:8px}#dh-space-dna .dna-actions{gap:6px}#dh-space-dna .dna-primary{flex:1;padding:14px 10px;font-size:14px}#dh-space-dna .dna-text{font-size:12px;padding:4px}#dh-space-dna .dna-room-grid button{font-size:17px;min-height:68px}.dna-case-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dna-case-list strong{font-size:13px}.dna-case-context h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){#dh-space-dna *{scroll-behavior:auto}}
