.compare-view-wrap{margin-top:14px;display:none}.compare-view-wrap.visible{display:block}.compare-room-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.compare-room-tab-missing{white-space:nowrap;background:var(--warn-bg);color:var(--warn);border:1px solid #8a5a0059;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.compare-room-tab-gen,.compare-room-tab-failed{white-space:nowrap;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.compare-room-tab-gen{background:var(--info-bg);color:var(--blueprint);border:1px solid #1f406859}.compare-room-tab-failed{background:var(--warn-bg);color:var(--warn);border:1px solid #8a5a0059}.compare-room-tab{font-size:var(--fs-label);border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:16px;padding:6px 14px;font-family:inherit}.compare-room-tab.active{border-color:var(--blueprint);color:var(--blueprint);background:var(--info-bg);font-weight:600}.compare-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.compare-toolbar .compare-room-tabs{margin-bottom:0}.compare-toolbar-spacer{flex:1}.compare-view-toggle{border:1px solid var(--rule);border-radius:8px;display:inline-flex;overflow:hidden}.compare-view-toggle button{font-family:inherit;font-size:var(--fs-label);cursor:pointer;color:var(--ink-soft);background:#fff;border:none;padding:7px 14px;font-weight:600}.compare-view-toggle button+button{border-left:1px solid var(--rule)}.compare-view-toggle button.active{background:var(--info-bg);color:var(--blueprint)}.compare-mode-compact .compare-take-no,.compare-mode-compact .compare-notes-summary,.compare-mode-compact .compare-override-row,.compare-mode-compact .compare-retry-btn,.compare-mode-compact .compare-reference-note,.compare-mode-compact .present-card-add,.compare-mode-compact .compare-add-panel,.compare-mode-compact .compare-delete-btn{display:none}.compare-mode-compact .compare-card-meta{padding-bottom:8px}.compare-card-image.zoomable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.compare-hold-overlay{z-index:1;background:var(--rule-soft);justify-content:center;align-items:center;display:none;position:absolute;inset:0}.compare-hold-overlay img{object-fit:contain;max-width:100%;max-height:100%;display:block}.compare-card-image.holding .compare-hold-overlay{display:flex}.compare-hold-badge{z-index:2;font-size:var(--fs-badge);letter-spacing:.05em;color:#fff;background:#1a1a1ac7;border-radius:4px;padding:2px 8px;font-weight:700;display:none;position:absolute;top:8px;left:8px}.compare-card-image.holding .compare-hold-badge{display:inline-block}.compare-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px;display:grid}.compare-card{border:1px solid var(--rule);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 4px #14120f0f}.compare-card.adopted{border-color:var(--blueprint);box-shadow:0 0 0 2px var(--blueprint)}.compare-ba-cell{flex-direction:column;min-width:0;display:flex}.compare-ba-label{font-size:var(--fs-caption);letter-spacing:.06em;color:var(--ink-soft);text-align:center;border-bottom:1px solid var(--rule);background:#fff;padding:6px 4px 5px;font-weight:700}.compare-card-image{aspect-ratio:4/3;background:var(--rule-soft);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.compare-after-img,.compare-before-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.compare-card-image.zoomable{cursor:zoom-in}.compare-card-image.zoomable:focus-visible{outline:2px solid var(--blueprint);outline-offset:-2px}.compare-zoom-hint{width:30px;height:30px;color:var(--ink-soft);opacity:0;pointer-events:none;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #14120f2e}.compare-zoom-hint svg{width:16px;height:16px}.compare-card-image.zoomable:hover .compare-zoom-hint,.compare-card-image.zoomable:focus-visible .compare-zoom-hint{opacity:1}@media (hover:none){.compare-zoom-hint{opacity:1}}.compare-placeholder{color:var(--ink-soft);font-size:var(--fs-caption);flex-direction:column;align-items:center;gap:10px;display:flex}.compare-placeholder-text{text-align:center}.compare-error{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.compare-error-text{font-size:var(--fs-caption);color:var(--ink-soft)}.compare-retry-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:6px;padding:6px 12px;font-family:inherit}.compare-retry-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.compare-card-meta{flex-direction:column;gap:6px;padding:12px 14px 6px;display:flex}.compare-chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.compare-taste{font-size:var(--fs-body);color:var(--ink);letter-spacing:.01em;font-weight:700}.compare-quality-chip{font-size:var(--fs-caption);letter-spacing:.03em;color:var(--ink-soft);border:1px solid var(--rule);border-radius:4px;padding:2px 8px;font-weight:700}.compare-quality-chip.finish{color:var(--accent);border-color:var(--accent);background:#b84a1f12}.compare-adopted-chip{font-size:var(--fs-caption);letter-spacing:.03em;color:#fff;background:var(--blueprint);border-radius:4px;padding:2px 9px;font-weight:700}.compare-take-no{font-size:var(--fs-label);color:var(--ink-soft)}.compare-notes-summary{font-size:var(--fs-label);color:var(--ink);line-height:1.55}.compare-card-actions{flex-direction:column;gap:8px;padding:4px 12px 12px;display:flex}.compare-adopt-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);color:var(--blueprint);background:#fff;border-radius:6px;padding:8px 12px;font-family:inherit;font-weight:600}.compare-adopt-btn:hover{background:var(--info-bg)}.compare-adopt-btn.is-adopted,.compare-adopt-btn:disabled{background:var(--blueprint);color:#fff;cursor:default;opacity:1}.compare-override-row{flex-direction:column;gap:6px;display:flex}.compare-override-input{font-size:var(--fs-caption);border:1px solid var(--rule);border-radius:6px;width:100%;padding:6px 8px;font-family:inherit}.compare-override-input:focus{border-color:var(--blueprint);outline:none}.compare-retake-btn{font-size:var(--fs-caption);cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:6px;padding:6px 10px;font-family:inherit}.compare-retake-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.compare-delete-btn{font-size:var(--fs-caption);cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:6px;align-self:flex-start;padding:6px 10px;font-family:inherit}.compare-delete-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.compare-save-btn{font-size:var(--fs-caption);cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;display:inline-flex}.compare-save-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.compare-agree-bar{border:1px solid var(--rule);background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;transition:background .15s,border-color .15s;display:flex}.compare-agree-bar.armed{border-color:var(--blueprint);background:var(--info-bg)}.compare-agree-bar.stale{border-color:var(--warn);background:var(--warn-bg)}.compare-agree-bar.stale .compare-agree-value{color:var(--warn)}.compare-agree-bar.stale:focus{outline:2px solid var(--warn);outline-offset:2px}.compare-agree-bar.pending{border-color:var(--blueprint);background:var(--info-bg)}.compare-agree-bar.pending .compare-agree-value{color:var(--blueprint)}.compare-agree-bar.pending:focus{outline:2px solid var(--blueprint);outline-offset:2px}.compare-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.compare-agree-label{font-size:var(--fs-label);color:var(--ink-soft)}.compare-agree-value{font-size:var(--fs-label);color:var(--ink);font-weight:700}.compare-agree-meta{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:3px;display:block}.compare-agree-actions{flex-wrap:wrap;gap:8px;display:flex}.compare-agree-change-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);color:var(--blueprint);background:#fff;border-radius:6px;min-height:40px;padding:8px 16px;font-family:inherit;font-weight:600}.compare-agree-change-btn:hover{background:var(--info-bg)}.compare-agree-cancel-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:6px;min-height:40px;padding:8px 16px;font-family:inherit;font-weight:600}.compare-agree-cancel-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.compare-mode-compact .compare-agree-bar:not(.stale):not(.pending){display:none}@media (width<=460px){.compare-agree-bar{flex-direction:column;align-items:stretch}.compare-agree-actions button{flex:1}}.compare-agree-body{min-height:0;padding:16px 20px 4px;overflow-y:auto}.compare-agree-compare{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.compare-agree-row{border:1px solid var(--rule);background:#fff;border-radius:8px;padding:10px 12px}.compare-agree-row.target{border-color:var(--blueprint);background:var(--info-bg)}.compare-agree-row-label{font-size:var(--fs-caption);color:var(--ink-soft);margin-bottom:3px}.compare-agree-row-value{font-size:var(--fs-body);color:var(--ink);font-weight:700}.compare-agree-row-meta{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:3px}.compare-agree-arrow{text-align:center;color:var(--ink-soft);font-size:var(--fs-label)}.compare-agree-lead{font-size:var(--fs-body);color:var(--ink-soft);text-align:justify;margin:0 0 14px;line-height:1.75}.compare-agree-footer{border-top:1px solid var(--rule);flex:none;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.compare-agree-footer button{white-space:nowrap;min-height:44px}.compare-agree-confirm-btn{font-size:var(--fs-body);cursor:pointer;border:1px solid var(--blueprint);background:var(--blueprint);color:#fff;border-radius:6px;padding:12px 24px;font-family:inherit;font-weight:600}.compare-agree-confirm-btn:hover{opacity:.9}@media (width<=460px){.compare-agree-footer{flex-direction:column-reverse;align-items:stretch}}.present-card-add{width:118px;min-height:44px;font-family:inherit;font-size:var(--fs-caption);cursor:pointer;color:var(--blueprint);border:1px dashed var(--blueprint);background:#1f40680f;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:4px;padding:10px 6px;font-weight:700;display:flex}.present-card-add:hover{background:#1f40681c}.present-card-add.is-open{background:var(--blueprint);color:#fff;border-style:solid}.present-card-add-mark{font-size:var(--fs-title);line-height:1}.present-layout[data-placement=right]>.present-cards-slot>.present-cards>.present-card-add{flex-direction:row;gap:7px;width:auto;min-height:52px}.present-cards-empty{padding:2px 2px 6px;display:flex}.present-cards-empty>.present-card-add{align-self:flex-start}.compare-add-panel{border:1px solid var(--blueprint);background:#fff;border-radius:10px;flex-direction:column;min-height:0;max-height:62svh;margin:12px 0 0;scroll-margin-bottom:100px;display:flex}.compare-add-panel[hidden]{display:none}.compare-add-panel-head{border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;display:flex}.compare-add-panel-head strong{font-size:var(--fs-title)}.compare-add-close{font-size:var(--fs-label);cursor:pointer;min-height:36px;padding:6px 14px;font-family:inherit}.compare-add-body{flex-direction:column;gap:14px;min-height:0;padding:16px 20px 6px;display:flex;overflow-y:auto}.compare-taste-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.compare-taste-tile{text-align:left;cursor:pointer;border:1px solid var(--rule);background:#fff;border-radius:8px;flex-direction:column;gap:2px;min-height:44px;padding:9px 11px;font-family:inherit;display:flex}.compare-taste-tile:hover{border-color:var(--ink-soft)}.compare-taste-tile.selected{border-color:var(--blueprint);box-shadow:inset 0 0 0 1px var(--blueprint);background:#1f40680f}.compare-taste-tile-label{font-size:var(--fs-label);color:var(--ink);font-weight:600}.compare-taste-tile-hint{font-size:var(--fs-caption);color:var(--ink-soft)}.compare-add-field{flex-direction:column;gap:6px;display:flex}.compare-add-label{font-size:var(--fs-label);color:var(--ink);font-weight:600}.compare-shared-notes{font-family:inherit;font-size:var(--fs-body);box-sizing:border-box;border:1px solid var(--rule);resize:vertical;border-radius:6px;width:100%;padding:8px}.compare-shared-notes:focus{border-color:var(--blueprint);outline:none}.compare-add-hd{border-top:1px solid var(--rule);align-items:flex-start;padding-top:12px}.compare-add-taste-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);background:var(--blueprint);color:#fff;border-radius:6px;padding:9px 18px;font-family:inherit;font-weight:600}.compare-add-taste-btn:hover{opacity:.9}.compare-hd-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--accent);color:var(--accent);text-align:left;background:#fff;border-radius:6px;padding:7px 14px;font-family:inherit;font-weight:600}.compare-hd-btn:hover:not(:disabled){background:#b84a1f0f}.compare-hd-btn:disabled{opacity:.4;cursor:default}.compare-add-guard{border:1px solid var(--rule);border-left:3px solid var(--ink-soft);background:var(--paper);border-radius:6px;flex-direction:column;gap:7px;padding:12px 14px;display:flex}.compare-add-guard[hidden]{display:none}.compare-add-guard-msg{font-size:var(--fs-body);color:var(--ink);margin:0;line-height:1.75}.compare-add-override{font-family:inherit;font-size:var(--fs-body);box-sizing:border-box;border:1px solid var(--rule);border-radius:6px;width:100%;min-height:40px;padding:8px}.compare-add-override:focus{border-color:var(--blueprint);outline:none}.compare-add-guard-row{flex-wrap:wrap;gap:8px;display:flex}.compare-add-guard-go{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);background:var(--blueprint);color:#fff;border-radius:6px;padding:8px 16px;font-family:inherit;font-weight:600}.compare-add-guard-go:hover:not(:disabled){opacity:.9}.compare-add-guard-go:disabled{opacity:.4;cursor:default}.compare-time-hint{font-size:var(--fs-caption);color:var(--ink-soft);margin:0;line-height:1.6}.compare-add-footer{border-top:1px solid var(--rule);flex:none;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.compare-add-footer button{white-space:nowrap}@media (width<=460px){.compare-add-footer{flex-direction:column-reverse;align-items:stretch}}.compare-lightbox{z-index:1000;background:#14120f9e;justify-content:center;align-items:center;padding:22px;display:none;position:fixed;inset:0}.compare-lightbox.open{display:flex}.compare-lb-inner{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:900px;display:flex;overflow:hidden;box-shadow:0 24px 70px #00000059}.compare-lb-imgwrap{background:#14120f;justify-content:center;align-items:center;max-height:92vh;display:flex}.compare-lb-frame{width:100%;max-width:calc(92vh * var(--ba-aspect,.75));aspect-ratio:var(--ba-aspect,.75);position:relative}.compare-lb-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:92vh;display:block}@supports (max-height:1svh){.compare-lb-imgwrap,.compare-lb-img{max-height:92svh}.compare-lb-frame{max-width:calc(92svh * var(--ba-aspect,.75))}}.compare-lb-foot{justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.compare-lb-info{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.compare-lb-title{font-size:var(--fs-title);color:var(--ink);font-weight:700}.compare-lb-toggle{border:1px solid var(--rule);border-radius:8px;display:inline-flex;overflow:hidden}.compare-lb-toggle button{font-family:inherit;font-size:var(--fs-label);cursor:pointer;color:var(--ink-soft);background:#fff;border:none;padding:6px 16px;font-weight:600}.compare-lb-toggle button+button{border-left:1px solid var(--rule)}.compare-lb-toggle button.active{background:var(--info-bg);color:var(--blueprint)}.compare-lb-close{font-family:inherit;font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:8px;flex:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.compare-lb-close svg{width:16px;height:16px}.compare-lb-close:hover{border-color:var(--ink-soft);color:var(--ink)}@media (width<=600px){.compare-grid{grid-template-columns:1fr;gap:14px}.compare-lb-imgwrap,.compare-lb-img{max-height:88vh}.compare-lb-frame{max-width:calc(88vh * var(--ba-aspect,.75))}@supports (max-height:1svh){.compare-lb-imgwrap,.compare-lb-img{max-height:88svh}.compare-lb-frame{max-width:calc(88svh * var(--ba-aspect,.75))}}.compare-lb-inner{border-radius:12px}.compare-lb-title{font-size:var(--fs-body)}.compare-lb-foot{flex-wrap:wrap}}.compare-reference-card{border:1.5px dashed var(--rule);background:#fffdfa;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.compare-reference-note{font-size:var(--fs-caption);color:var(--ink-soft);padding:8px 14px 12px;line-height:1.6}.present-ba{background:var(--rule-soft);border-radius:10px;width:100%;height:100%;margin:0;position:relative;overflow:hidden}.present-ba img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.present-ba-before{clip-path:inset(0 0 0 var(--pos,50%))}.present-ba-range{opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:3;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.present-ba:focus-within{outline:2px solid var(--blueprint);outline-offset:2px}.present-ba-label{z-index:2;font-size:var(--fs-badge);letter-spacing:.04em;color:#fff;pointer-events:none;background:#1a1a1aad;border-radius:4px;padding:3px 9px;font-weight:700;position:absolute;top:10px}.present-ba-label-before{right:58px}.present-ba-label-after{background:#1f4068d9;left:10px}.present-ba-handle{top:0;bottom:0;left:var(--pos,50%);pointer-events:none;z-index:2;background:#fff;width:3px;position:absolute;transform:translate(-50%);box-shadow:0 0 6px #0006}.present-ba-handle:after{content:"";background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F4068' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7 4 12l5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") 50%/17px 17px no-repeat;border-radius:50%;width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 5px #00000059}.present-ba-fallback{z-index:2;text-align:center;font-size:var(--fs-caption);color:var(--ink-soft);justify-content:center;align-items:center;margin:0;padding:12px;display:flex;position:absolute;inset:0}.present-ba-note{z-index:2;text-align:center;font-size:var(--fs-badge);letter-spacing:.04em;color:#fff;background:#1a1a1aad;margin:0;padding:6px 10px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.present-stage{margin:0}.present-stage-frame{width:100%;max-width:calc(78vh * var(--ba-aspect,.75));aspect-ratio:var(--ba-aspect,.75);margin:0 auto;position:relative}@supports (max-width:1svh){.present-stage-frame{max-width:calc(78svh * var(--ba-aspect,.75))}}@supports not (aspect-ratio:1){.present-stage-frame>.present-ba,.present-stage-frame>.present-before-figure,.compare-lb-frame>.present-ba{height:0;padding-bottom:calc(100% / var(--ba-aspect,.75))}}.present-stage-actions{bottom:var(--ios-hint-h,0px);z-index:40;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex;position:sticky;box-shadow:0 -2px 10px #14120f14}.present-stage-play,.compare-lb-play{z-index:6;color:#fff;cursor:pointer;font-family:inherit;font-size:var(--fs-caption);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14120f9e;border:none;border-radius:999px;align-items:center;gap:7px;min-height:40px;padding:9px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;left:12px}.present-stage-play svg,.compare-lb-play svg{fill:currentColor;stroke:none;width:16px;height:16px}.present-stage-play:not(:disabled):hover,.compare-lb-play:not(:disabled):hover{opacity:.88}.present-stage-play:disabled,.compare-lb-play:disabled{opacity:.5;cursor:default}.present-view{flex-direction:column;margin-bottom:14px;display:flex}.present-layout{gap:14px;min-width:0;display:flex}.present-layout[data-placement=bottom]{flex-direction:column}.present-layout[data-placement=right]{flex-direction:row;justify-content:center;align-items:flex-start}.present-stage-slot{flex:auto;min-width:0}.present-cards-slot{min-width:0;scroll-margin-bottom:100px}@media (width<=700px){.present-cards-slot{--cards-dock-h:154px;scroll-margin-bottom:var(--cards-dock-h)}}.present-layout[data-placement=right]>.present-stage-slot{flex:0 1 calc(78vh * var(--present-aspect,.75))}@supports (max-width:1svh){.present-layout[data-placement=right]>.present-stage-slot{flex-basis:calc(78svh * var(--present-aspect,.75))}}.present-layout[data-placement=right]>.present-cards-slot{flex:0 0 400px}.present-layout[data-mode=duel]>.present-stage-slot{flex:auto}@keyframes present-placement-swap{0%{opacity:0}to{opacity:1}}.present-layout.is-placement-swap{animation:.17s ease-out present-placement-swap}@media (prefers-reduced-motion:reduce){.present-layout.is-placement-swap{animation:none}}.present-cards{scrollbar-width:thin;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.present-layout[data-placement=right]>.present-cards-slot>.present-cards{grid-template-columns:1fr 1fr;gap:9px;max-height:78vh;display:grid;overflow:visible auto}.present-layout[data-placement=right]>.present-cards-slot>.present-cards>.present-card{width:auto}@supports (max-height:1svh){.present-layout[data-placement=right]>.present-cards-slot>.present-cards{max-height:78svh}}@media (width<=700px){.present-layout[data-placement=right]{flex-direction:column;justify-content:normal;align-items:stretch}.present-layout[data-placement=right]>.present-stage-slot{flex:auto}.present-layout[data-placement=right]>.present-cards-slot>.present-cards{flex-direction:row;max-height:none;display:flex;overflow:auto visible}.present-layout[data-placement=right]>.present-cards-slot>.present-cards>.present-card{width:118px}.present-view:has(.present-stage-duel.is-on)>.present-layout>.present-cards-slot{bottom:calc(var(--ios-hint-h,0px) + var(--cards-dock-h));z-index:10;background:#fff;position:sticky}}.present-card{cursor:pointer;text-align:center;border:1px solid var(--rule);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;border-radius:10px;flex-direction:column;flex:none;gap:0;width:118px;padding:0;font-family:inherit;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #14120f0f}.present-card.is-lifted{opacity:.35}.present-drag-ghost{z-index:60;pointer-events:none;border:2px solid var(--blueprint);background:#fff;border-radius:10px;position:fixed;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 24px #14120f52}.present-drag-ghost .present-card-img{width:100%;display:block}.present-drop-overlay{z-index:40;pointer-events:none;grid-template-columns:1fr 1fr;gap:8px;padding:8px;display:grid;position:absolute;inset:0}.present-drop-cell{background:#14120f73;border:2px dashed #ffffffe6;border-radius:8px;justify-content:center;align-items:center;display:flex}.present-drop-cell.is-over{background:#1f40689e;border-style:solid;border-color:#fff}.present-drop-label{color:#fff;font-size:var(--fs-label);text-align:center;white-space:pre-line;text-shadow:0 1px 3px #00000080;font-weight:700;line-height:1.6}.present-stage-slot{position:relative}@media (prefers-reduced-motion:reduce){.present-drop-cell{transition:none}}.present-card-thumb{aspect-ratio:4/3;background:var(--rule-soft);width:100%;display:block;overflow:hidden}.present-card-img{object-fit:cover;width:100%;height:100%;display:block}.present-card-taste{font-size:var(--fs-label);color:var(--ink);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;padding:7px 6px;font-weight:700;display:block;overflow:hidden}.present-card.is-previewing{border-color:var(--blueprint);box-shadow:0 0 0 2px var(--blueprint)}.present-card:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.present-card-badge-slot{box-sizing:border-box;height:22px;margin-bottom:3px;display:block}.present-card-badge{box-sizing:border-box;height:22px;font-size:var(--fs-badge);letter-spacing:.03em;color:#fff;background:var(--blueprint);border-radius:4px;padding:2px 7px;font-weight:700;display:block}.present-card.is-comparing{border-color:var(--blueprint);box-shadow:0 0 0 3px var(--blueprint)}.present-card.is-comparing .present-card-taste{background:var(--info-bg);color:var(--blueprint)}.present-card-order{font-size:var(--fs-badge);letter-spacing:.03em;color:#fff;background:var(--blueprint);border-radius:4px;padding:2px 7px;font-weight:700;position:absolute;top:6px;right:6px}.present-card:disabled{opacity:.42;cursor:default}.present-card:disabled:not(.is-previewing){box-shadow:none}.present-card.is-swappable{opacity:.55;cursor:grab}.present-card.is-swappable:not(.is-previewing){box-shadow:none}.present-card.is-swappable:hover{opacity:.8}.present-card.is-lifted{cursor:grabbing}.present-duel{margin:0}.present-duel-frame{background:var(--rule);width:100%;max-width:calc(66vh * var(--duel-aspect,.75) * 2);aspect-ratio:calc(var(--duel-aspect,.75) * 2);border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;margin:0 auto;display:grid;overflow:hidden}@supports (max-width:1svh){.present-duel-frame{max-width:calc(66svh * var(--duel-aspect,.75) * 2)}}.present-duel-cell{background:#26231e;min-width:0;position:relative;overflow:hidden}.present-duel-img{object-fit:contain;width:100%;height:100%;max-height:66vh;display:block}@supports (max-height:1svh){.present-duel-img{max-height:66svh}}.present-duel-fallback{text-align:center;font-size:var(--fs-caption);color:#ffffffd1;justify-content:center;align-items:center;margin:0;padding:12px;display:flex;position:absolute;inset:0}.present-duel-cap{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 16px);font-size:var(--fs-caption);color:#fff;background:#1f4068d9;border-radius:4px;padding:3px 9px;font-weight:700;position:absolute;top:8px;left:8px;overflow:hidden}.present-stage-save{font-family:inherit;font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:11px 18px;font-weight:600;display:inline-flex}.present-stage-save svg{width:19px;height:19px;stroke:var(--blueprint);stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round}.present-stage-save:not(:disabled):hover{border-color:var(--blueprint);color:var(--blueprint)}.present-stage-save:disabled{border-color:var(--rule);color:var(--ink-soft);cursor:default;background:#fff}.present-stage-adopt{font-family:inherit;font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);color:var(--blueprint);background:#fff;border-radius:8px;min-height:44px;padding:11px 22px;font-weight:600}.present-stage-adopt:not(:disabled):hover{background:var(--info-bg)}.present-stage-adopt.is-recorded,.present-stage-adopt.is-adopted{background:var(--blueprint);color:#fff;cursor:default;opacity:1}.present-stage-adopt:disabled:not(.is-recorded):not(.is-adopted){border-color:var(--rule);color:var(--ink-soft);cursor:default;background:#fff}.present-stage-adopt-note{text-align:center;font-size:var(--fs-caption);color:var(--ink-soft);margin:8px 0 0}.present-stage-duel{font-family:inherit;font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:8px;min-height:44px;padding:11px 18px;font-weight:600}.present-stage-duel:not(:disabled):hover{border-color:var(--blueprint);color:var(--blueprint)}.present-stage-duel.is-on{background:var(--blueprint);border-color:var(--blueprint);color:#fff}.present-stage-duel:disabled{border-color:var(--rule);color:var(--ink-soft);cursor:default;background:#fff}.present-cards-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.present-cards-label{font-size:var(--fs-label);color:var(--ink);align-items:center;min-height:36px;font-weight:700;display:inline-flex}.present-cards-head .present-stage-duel{min-height:36px;font-size:var(--fs-label);padding:7px 13px}.present-stage-zoom{z-index:6;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14120f9e;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex;position:absolute;top:12px;right:12px}.present-stage-zoom:hover{opacity:.88}.present-stage-zoom svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.present-stage-status{text-align:center;font-size:var(--fs-caption);color:var(--ink-soft);margin:8px 0 0}.present-stage-disclaimer{text-align:center;font-size:var(--fs-caption);color:var(--ink-soft);margin:6px 0 0}.present-stage-duel-note{text-align:center;font-size:var(--fs-caption);color:var(--ink-soft);flex-basis:100%;margin:0}.present-before-only{margin:0}.present-before-figure{background:var(--rule-soft);border-radius:10px;width:100%;height:100%;position:relative;overflow:hidden}.present-before-img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.present-gen-status{border:1px solid var(--rule);background:#fff;border-radius:8px;flex-direction:column;gap:8px;margin:16px 0 0;padding:10px 12px;display:flex}.present-gen-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.present-gen-text{font-size:var(--fs-caption);color:var(--ink-soft)}.present-gen-retry{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:6px;padding:6px 12px;font-family:inherit}.present-gen-retry:hover{border-color:var(--blueprint);color:var(--blueprint)}.present-gen-retry:disabled{color:var(--ink-soft);cursor:default}.present-gen-close{font-size:var(--fs-caption);cursor:pointer;color:var(--ink-soft);background:0 0;border:none;margin-left:auto;padding:6px 4px;font-family:inherit;text-decoration:underline}.present-gen-close:hover{color:var(--ink)}.compare-estimate-rerun{background:var(--warn-bg);border:1px solid #8a5a0059;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 0;padding:10px 12px;display:flex}.compare-estimate-rerun-text{font-size:var(--fs-caption);color:var(--ink)}.compare-estimate-rerun-btn{font-size:var(--fs-label);cursor:pointer;border:1px solid var(--warn);color:var(--warn);background:#fff;border-radius:6px;min-height:40px;padding:6px 12px;font-family:inherit}.compare-estimate-rerun-btn:hover{border-color:var(--ink);color:var(--ink)}.compare-estimate-rerun-note{font-size:var(--fs-caption);color:var(--ink-soft);flex-basis:100%}.history-modal{z-index:120;background:#00000059;justify-content:center;align-items:flex-start;padding:60px 16px;display:none;position:fixed;inset:0}.history-modal.visible{display:flex}.history-dialog{background:var(--paper);border-radius:10px;flex-direction:column;width:100%;max-width:520px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000040}.history-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.history-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-size:22px;line-height:1}.est-missing-banner{background:var(--warn-bg);color:var(--ink);border:1px solid #8a5a0059;border-radius:8px;margin:0 0 18px;padding:14px 16px}.est-missing-head{color:var(--warn);font-size:14px;font-weight:700;line-height:1.6}.est-missing-list{margin:8px 0 0;padding-left:1.3em;font-size:12.5px;line-height:1.7;list-style:outside}.est-missing-list li{margin:2px 0}.est-missing-reason{color:var(--ink-soft);margin-left:8px}.est-missing-reason:before{content:"— "}.est-missing-note{margin-top:8px;font-size:12.5px;font-weight:700}.room-list{padding:4px 0 24px}.room-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.room-card{text-align:left;background:var(--paper);border:1px solid var(--rule);cursor:pointer;color:var(--ink);font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;display:flex}.room-card:hover{border-color:var(--blueprint)}.room-card:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.room-card-name{font-size:var(--fs-title);font-weight:700;line-height:1.3}.room-card-meta{font-size:var(--fs-caption);color:var(--ink-soft);letter-spacing:.02em}.room-list-head{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.room-list-head-label{font-size:var(--fs-label);color:var(--ink-soft)}.room-list-head-name{font-size:var(--fs-h2,1.1rem);color:var(--ink);font-weight:700}.room-add-btn{font:inherit;font-size:var(--fs-label);color:var(--blueprint);background:var(--info-bg);border:1px solid var(--blueprint);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:14px;padding:9px 16px;font-weight:600;display:inline-flex}.room-add-btn:hover{background:var(--rule-soft)}.room-add-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.room-switch-site-btn{text-align:left;width:100%;font:inherit;font-size:var(--fs-label);color:var(--ink-soft);border:none;border-top:1px solid var(--rule-soft);cursor:pointer;background:0 0;margin-top:28px;padding:12px 0 0;display:block}.room-switch-site-btn:hover{color:var(--ink)}.room-switch-site-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.room-page{padding:4px 0 24px}.room-page-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.room-back-btn{font:inherit;font-size:var(--fs-label);color:var(--ink-soft);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;display:inline-flex}.room-back-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.room-back-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.room-page-title{font-size:var(--fs-heading);font-weight:700;line-height:1.3}.room-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.room-photo-card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.room-photo-thumb{aspect-ratio:4/3;background:var(--rule-soft);border-radius:6px;overflow:hidden}.room-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-state-badge{font-size:var(--fs-badge);letter-spacing:.04em;border:1px solid;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.photo-state-generated{color:var(--blueprint);border-color:var(--blueprint);background:var(--info-bg)}.photo-state-pending{color:var(--ink-soft);border-color:var(--rule);background:0 0}.photo-state-after-only{color:var(--ink-soft);border-color:var(--ink-soft);background:0 0;border-style:dashed}.room-photo-note{font-size:var(--fs-badge);color:var(--ink-soft);line-height:1.45}.photo-state-archiveOnly{color:var(--warn);border-color:var(--warn);background:var(--warn-bg)}.room-photo-actions{gap:6px;display:grid}.photo-generate-btn{font:inherit;font-size:var(--fs-caption);color:var(--paper);background:var(--blueprint);border:1px solid var(--blueprint);cursor:pointer;border-radius:7px;padding:6px 12px;font-weight:600}.photo-generate-btn:hover{background:var(--accent);border-color:var(--accent)}.photo-generate-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.photo-move-btn{font:inherit;font-size:var(--fs-caption);color:var(--ink-soft);border:1px solid var(--rule);cursor:pointer;white-space:nowrap;background:0 0;border-radius:7px;padding:6px 10px}.photo-move-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.photo-move-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.photo-move-btn:disabled{color:var(--ink-soft);border-color:var(--rule-soft);background:var(--rule-soft);cursor:default}.photo-move-btn:disabled:hover{border-color:var(--rule-soft);color:var(--ink-soft)}.room-add-photos-btn{font:inherit;font-size:var(--fs-label);color:var(--blueprint);background:var(--info-bg);border:1px solid var(--blueprint);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:18px;padding:10px 18px;font-weight:600;display:inline-flex}.room-add-photos-btn:hover{background:var(--rule-soft)}.room-add-photos-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.room-photos-empty{text-align:center;color:var(--ink-soft);font-size:var(--fs-body);margin:40px 0}.move-target-body{padding:8px 20px 4px;overflow-y:auto}.move-target-section+.move-target-section{margin-top:16px}.move-target-heading{font-size:var(--fs-caption);color:var(--ink-soft);letter-spacing:.02em;margin-bottom:6px;font-weight:600}.move-target-list{flex-direction:column;gap:6px;display:flex}.move-target-btn{text-align:left;width:100%;font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);cursor:pointer;border-radius:8px;padding:10px 14px}.move-target-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.move-target-btn:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.move-target-back{font:inherit;font-size:var(--fs-caption);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin:0 0 10px;padding:4px 0;display:inline-flex}.move-target-back:hover{color:var(--blueprint)}.move-target-back:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.move-target-footer{border-top:1px solid var(--rule-soft);justify-content:flex-end;padding:12px 20px;display:flex}.confirm-delete-body{flex-direction:column;gap:8px;padding:12px 20px;display:flex}.confirm-delete-body p{font-size:var(--fs-body);color:var(--ink);margin:0;line-height:1.7}.confirm-delete-body p:first-child{font-weight:600}.confirm-delete-footer{border-top:1px solid var(--rule-soft);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.room-danger-btn{font:inherit;font-size:var(--fs-label);color:var(--paper);background:var(--err);border:1px solid var(--err);cursor:pointer;border-radius:7px;padding:9px 18px;font-weight:600}.room-danger-btn:hover{filter:brightness(1.1)}.room-danger-btn:focus-visible{outline:2px solid var(--err);outline-offset:2px}.room-page-status{font-size:var(--fs-caption);color:var(--ink-soft);margin:8px 0 0;line-height:1.6}.room-page-status-attention{color:var(--warn);background:var(--warn-bg);border-left:3px solid var(--warn);border-radius:0 6px 6px 0;padding:8px 12px}.resume-body{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.resume-note{font-size:var(--fs-caption);color:var(--ink-soft);background:#b84a1f0f;border-radius:6px;padding:8px 10px;line-height:1.6}.resume-dup-warn{border-left:3px solid var(--blueprint);font-size:var(--fs-caption);color:var(--ink-soft);background:#1f406812;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;line-height:1.6;display:flex}.resume-dup-warn strong{color:var(--ink)}.resume-list{flex-direction:column;gap:10px;display:flex}.site-row{border:1px solid var(--rule);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.site-row-icon{background:var(--rule-soft);width:38px;height:38px;color:var(--blueprint);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.site-row-icon svg{width:18px;height:18px;display:block}.site-row-body{flex:1;min-width:0}.site-row-title{color:var(--ink);overflow-wrap:anywhere;font-size:14.5px;font-weight:700}.site-row-meta{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:2px}.site-row-open{border:1px solid var(--rule);color:var(--blueprint);font-size:var(--fs-label);cursor:pointer;background:#fff;border-radius:6px;flex:none;padding:7px 12px;font-family:inherit;font-weight:700}.site-row-open:hover{border-color:var(--blueprint);background:var(--info-bg)}.site-row-delete{border:1px solid var(--rule);color:var(--ink-soft);font-size:var(--fs-caption);cursor:pointer;background:#fff;border-radius:6px;flex:none;padding:7px 10px;font-family:inherit}.site-row-delete:hover{border-color:var(--ink-soft);color:var(--ink)}.resume-footer{border-top:1px solid var(--rule);justify-content:center;padding:14px 20px 16px;display:flex}.sync-card{border:1px solid var(--rule);border-left:3px solid var(--ink-soft);cursor:pointer;text-align:left;background:#fff;border-radius:7px;flex:none;align-items:center;gap:9px;padding:7px 13px 7px 10px;font-family:inherit;transition:border-color .12s,background .12s;display:inline-flex;position:relative}.sync-card:hover{border-color:var(--ink-soft)}.sync-card .ico{width:17px;height:17px;color:var(--ink-soft);flex:none}.sync-card .t{flex-direction:column;min-width:0;line-height:1.35;display:flex}.sync-card .s{font-size:var(--fs-label);color:var(--ink-soft);white-space:nowrap;font-weight:700}.sync-card .m{font-size:var(--fs-badge);color:var(--ink-soft);white-space:nowrap}.sync-card.is-synced{border-left-color:var(--ok)}.sync-card.is-synced .s,.sync-card.is-synced .ico{color:var(--ok)}.sync-card.is-waiting{border-left-color:var(--warn);background:var(--warn-bg)}.sync-card.is-waiting .s,.sync-card.is-waiting .ico{color:var(--warn)}.sync-card[aria-busy=true]{opacity:.72}@media (width<=1099px){.sync-card .m{z-index:966;white-space:normal;border:1px solid var(--rule);width:max-content;max-width:min(260px,100vw - 32px);font-size:var(--fs-caption);color:var(--ink);background:#fff;border-radius:8px;padding:7px 10px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #1a1a1a24}.sync-card.is-open .m{display:block}}:root{--paper:#fafaf6;--ink:#1a1a1a;--ink-soft:#4a4a48;--rule:#d8d6cf;--rule-soft:#eceae3;--accent:#b84a1f;--blueprint:#1f4068;--ok:#2e7d4f;--err:#b3261e;--err-bg:#b3261e14;--warn:#8a5a00;--warn-bg:#8a5a001a;--info-bg:#1f40680f;--banner-h:0px;--fs-badge:11px;--fs-caption:12px;--fs-label:13px;--fs-body:14px;--fs-base:15px;--fs-title:17px;--fs-heading:22px;--fs-total:24px;--fs-display:28px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:15px;line-height:1.6}.container{max-width:880px;margin:0 auto;padding:48px 24px 96px}.step{border-top:1px solid var(--rule);padding:28px 0}.step:first-of-type{border-top:none;padding-top:0}#siteForm>.step:first-of-type{border-top:1px solid var(--rule);padding-top:28px}.step-header{align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.step-title{font-size:17px;font-weight:600}.step-hint{color:var(--ink-soft);margin-left:auto;font-size:13px}.upload-zone{border:1.5px dashed var(--rule);text-align:center;cursor:default;background:#fff;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:40px 20px;transition:border-color .15s,background .15s;display:flex}.upload-zone.dragover{border-color:var(--accent);background:#fff8f4}#photoInput,#photoInputLibrary{display:none}.upload-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.upload-primary-cta{background:var(--accent);color:#fff;letter-spacing:.05em;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:10px;min-height:48px;padding:14px 32px;font-family:inherit;font-size:15px;font-weight:700;transition:background .12s,transform 50ms;display:inline-flex;box-shadow:0 1px #0000000f}.upload-primary-cta:hover{background:#a03f17}.upload-primary-cta:active{transform:translateY(1px)}.upload-primary-cta:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.upload-primary-cta svg{flex:none}.upload-secondary-cta{min-height:48px;color:var(--ink);border:1px solid var(--rule);letter-spacing:.03em;cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:8px;padding:12px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .12s,color .12s,transform 50ms;display:inline-flex}.upload-secondary-cta:hover{border-color:var(--blueprint);color:var(--blueprint)}.upload-secondary-cta:active{transform:translateY(1px)}.upload-secondary-cta:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px}.upload-secondary-cta svg{flex:none}.upload-divider{color:var(--ink-soft);letter-spacing:.15em;justify-content:center;align-items:center;gap:10px;margin:16px 0 4px;font-size:12px;display:flex}.upload-divider:before,.upload-divider:after{content:"";background:var(--rule);flex:1;min-width:40px;max-width:60px;height:1px}.upload-drop-hint{color:var(--ink-soft);margin-top:4px;font-size:13px}.upload-drop-hint strong{color:var(--ink);font-weight:600}.upload-zone p{color:var(--ink-soft);font-size:14px}.upload-zone .sub{margin-top:4px;font-size:12px}.preview-img{object-fit:contain;width:100%;max-height:52svh;margin:0 auto;display:block}.upload-zone.has-photo{background:var(--rule-soft);border-style:solid;border-color:var(--rule-soft);min-height:0;padding:0;overflow:hidden}.upload-zone.has-photo .preview-img{border-radius:0}.scope-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.scope-item{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:3px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;transition:all .1s;display:flex}.scope-item:hover{border-color:var(--ink-soft)}.scope-item.selected{border-color:var(--blueprint);background:var(--info-bg)}.scope-item input{accent-color:var(--blueprint);margin:0}.field-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px;display:grid}.field label{color:var(--ink-soft);letter-spacing:.02em;margin-bottom:6px;font-size:13px;display:block}.field input,.field select{border:1px solid var(--rule);width:100%;color:var(--ink);background:#fff;border-radius:3px;padding:10px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus{border-color:var(--blueprint);outline:none}textarea{border:1px solid var(--rule);resize:vertical;background:#fff;border-radius:3px;width:100%;min-height:60px;padding:10px 12px;font-family:inherit;font-size:14px}textarea:focus{border-color:var(--blueprint);outline:none}.demo-mode{background:#1f40680a;border:1px dashed #1f406840;border-radius:4px;margin-top:24px;padding:12px 16px}.demo-mode summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;list-style:none;display:flex}.demo-mode summary::-webkit-details-marker{display:none}.demo-summary-title{color:var(--blueprint);letter-spacing:.02em;font-size:13px;font-weight:600}.demo-summary-hint{color:var(--ink-soft);font-size:12px}.demo-mode[open] .demo-summary-title{color:var(--accent)}.demo-body{padding-top:14px}.demo-explain{color:var(--ink-soft);margin-bottom:14px;font-size:12px;line-height:1.6}.demo-field{margin-bottom:14px}.demo-field label{color:var(--ink-soft);letter-spacing:.02em;margin-bottom:6px;font-size:13px;display:block}.demo-field input[type=file]{font-size:12px}.demo-preview{border:1px solid var(--rule);border-radius:2px;max-width:100%;max-height:180px;margin-top:8px}.demo-sample-buttons{flex-wrap:wrap;gap:8px;display:flex}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.preset-card{border:1px solid var(--rule);cursor:pointer;text-align:left;background:#fff;border-radius:3px;padding:0;font-family:inherit;transition:all .1s;overflow:hidden}.preset-card:hover{border-color:var(--accent);transform:translateY(-1px)}.preset-card.active{border-color:var(--blueprint);box-shadow:0 0 0 2px #1f406840}.preset-thumbs{background:var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.preset-thumb{background:var(--rule-soft);aspect-ratio:4/3;background-position:50%;background-size:cover}.preset-meta{padding:8px 10px}.preset-title{font-size:12px;font-weight:600;line-height:1.3}.preset-style{color:var(--ink-soft);letter-spacing:.05em;margin-top:2px;font-size:11px}@media (width<=600px){.preset-grid{grid-template-columns:1fr 1fr}}.btn-demo{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:3px;padding:8px 14px;font-family:inherit;font-size:12px;transition:all .1s}.btn-demo:hover{border-color:var(--accent);color:var(--accent)}.btn-demo.active{background:var(--blueprint);color:var(--paper);border-color:var(--blueprint)}.submit-row{flex-direction:column;align-items:stretch;gap:8px;margin-top:32px;display:flex}.submit-row .btn-primary{width:100%}.btn-primary{background:var(--ink);color:var(--paper);cursor:pointer;border:none;border-radius:3px;padding:14px 32px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--ink);border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:3px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.submit-hint{color:var(--ink-soft);font-size:13px}#result{margin-top:56px;display:none}#result.visible{display:block}.result-header{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:32px;padding:24px 0}.result-eyebrow{letter-spacing:.2em;color:var(--blueprint);margin-bottom:6px;font-size:11px;font-weight:600}.result-title{font-size:22px;font-weight:700}.ba-viewer{border:1px solid var(--rule);background:#fff;border-radius:4px;margin-bottom:32px;overflow:hidden}.ba-tabs{border-bottom:1px solid var(--rule);display:flex}.ba-tab{letter-spacing:.05em;cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-bottom:2px solid #0000;padding:14px 28px;font-family:inherit;font-size:13px;font-weight:600}.ba-tab.active{color:var(--ink);border-bottom-color:var(--accent)}.ba-tab-action{letter-spacing:.04em;cursor:pointer;color:var(--ink-soft);border:1px solid var(--rule);background:0 0;border-radius:3px;align-self:center;align-items:center;gap:6px;margin-left:auto;margin-right:8px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.ba-tab-action:hover{color:var(--accent);border-color:var(--accent)}.ba-tab-action:disabled{opacity:.5;cursor:not-allowed}.ba-image-area{background:#f4f2ec;justify-content:center;align-items:center;min-height:320px;padding:20px;display:flex}.ba-image-area img{border-radius:2px;max-width:100%;max-height:480px}.ba-compare{align-items:flex-start;gap:10px;width:100%;display:flex}.ba-compare figure{flex:1 1 0;min-width:0;margin:0;line-height:0;position:relative}.ba-compare img{object-fit:contain;border-radius:2px;width:100%;height:auto;max-height:480px;display:block}.ba-compare-tag{letter-spacing:.12em;color:#fff;pointer-events:none;background:#0000008c;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.ba-placeholder{text-align:center;color:var(--ink-soft);padding:60px 20px}.ba-placeholder .icon{margin-bottom:12px;font-size:32px}.ba-placeholder .note{color:var(--blueprint);text-align:left;background:#1f40680f;border-radius:3px;max-width:480px;margin-top:16px;padding:10px 14px;font-size:12px;display:inline-block}.estimate-card{border:1px solid var(--rule);background:#fff;border-radius:4px;margin-bottom:24px;overflow:hidden}.estimate-header{border-bottom:1px solid var(--rule);background:var(--rule-soft);justify-content:space-between;align-items:baseline;padding:16px 20px;display:flex}.estimate-header h3{letter-spacing:.02em;font-size:14px;font-weight:600}.estimate-header .meta{color:var(--ink-soft);font-size:12px}.estimate-table{border-collapse:collapse;width:100%}.estimate-table th,.estimate-table td{text-align:left;border-bottom:1px solid var(--rule-soft);padding:12px 20px;font-size:14px}.estimate-table th{letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;font-size:11px;font-weight:500}.estimate-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,SF Mono,monospace;font-size:13px}.estimate-table tr:last-child td{border-bottom:none}.estimate-total{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:baseline;padding:20px;display:flex}.estimate-total .label{letter-spacing:.1em;opacity:.7;font-size:12px}.estimate-total .value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.meta-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.meta-card{border:1px solid var(--rule);background:#fff;border-radius:4px;padding:16px 18px}.meta-card .label{letter-spacing:.1em;color:var(--ink-soft);margin-bottom:6px;font-size:11px}.meta-card .value{font-size:18px;font-weight:600}.pitch-card{border-left:3px solid var(--blueprint);background:#1f40680a;border-radius:0 3px 3px 0;margin-bottom:24px;padding:20px 24px}.pitch-card .label{letter-spacing:.15em;color:var(--blueprint);margin-bottom:10px;font-size:11px;font-weight:600}.pitch-card p{color:var(--ink);font-size:14px;line-height:1.75}#sectionsContainer .estimate-card{margin-bottom:20px}.row-title-cell{vertical-align:top}.row-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.row-component{color:var(--ink-soft);background:var(--rule-soft);letter-spacing:.05em;border-radius:2px;padding:1px 6px;font-size:12px}.row-work{color:var(--ink)}.row-spec{color:var(--ink-soft);margin-top:4px;font-size:12px;line-height:1.5}.list-price-note{color:var(--blueprint);font-size:12px}.inclusive-badge{color:var(--blueprint);background:#1f406814;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:600}.pm-badge{letter-spacing:.05em;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:600}.pm-badge-ai_estimate{color:var(--ink-soft);background:#5a5a561a}.pm-badge-own_history{color:var(--blueprint);background:#1f40681f}.pm-badge-manual{color:var(--blueprint);box-shadow:inset 0 0 0 1px var(--blueprint);background:#fff}.contingency-badge{color:var(--accent);letter-spacing:.05em;cursor:help;background:#b84a1f1a;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:600}.row-contingency .row-title-cell{border-left:3px solid #b84a1f59}.contingency-dimmed .row-contingency{opacity:.4}.upload-zone{position:relative}.mask-overlay{z-index:5;touch-action:none;pointer-events:none;position:absolute}.upload-zone.mask-mode{cursor:crosshair}.mask-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.preview-tools{justify-content:flex-end;margin-top:8px;display:flex}.preview-del{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:6px;min-height:44px;padding:8px 14px;font-size:13px}.preview-del:hover{color:var(--ink);border-color:var(--ink-soft)}.mask-toggle,.mask-clear{cursor:pointer;border:1px solid var(--rule);color:var(--ink);background:#fff;border-radius:6px;padding:8px 14px;font-size:13px}.mask-toggle{border-color:var(--accent);color:var(--accent);border-width:1.5px;align-items:center;gap:7px;font-weight:600;display:inline-flex}.mask-toggle svg{flex:none;width:16px;height:16px}.mask-toggle.active{border-color:var(--blueprint);color:var(--blueprint);background:var(--info-bg);font-weight:600}.mask-clear:disabled{opacity:.4;cursor:default}.mask-toggle:disabled{opacity:.4;cursor:not-allowed}.mask-hint{color:var(--ink-soft);font-size:12px}.mask-note{flex-basis:100%;margin-top:2px}.mask-note-title{background:var(--info-bg);color:var(--blueprint);font-size:var(--fs-caption);border-radius:4px;padding:6px 10px;display:inline-block}.mask-note-sub{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:5px;display:block}.mask-instruction{resize:vertical;border:1px solid var(--rule);color:var(--ink);border-radius:6px;flex-basis:100%;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.mask-instruction:focus{border-color:var(--blueprint);outline:none}.field label.declutter-row,.declutter-row{cursor:pointer;align-items:center;gap:8px;margin-bottom:0;font-size:13px;display:flex;color:var(--ink)!important}.field .declutter-row input,.declutter-row input{width:auto;accent-color:var(--blueprint);margin:0}.declutter-note{font-size:var(--fs-caption);color:var(--ink-soft);margin:4px 0 0 24px}.photo-group-panel{flex-direction:column;gap:10px;margin-top:14px;display:flex}.pg-card{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:8px;padding:10px 12px}.pg-card.active{border-color:var(--blueprint);box-shadow:0 0 0 1px var(--blueprint)}.pg-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.pg-room{border:1px solid var(--rule-soft);min-width:0;color:var(--ink);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.pg-room:focus{border-color:var(--blueprint);outline:none}.pg-badge{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px}.pg-remove{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:6px;padding:5px 10px;font-size:12px}.pg-remove:hover{border-color:var(--accent);color:var(--accent)}.pg-thumbs{flex-wrap:wrap;gap:8px;display:flex}.pg-thumb{border:1px solid var(--rule);background-position:50%;background-size:cover;border-radius:6px;width:76px;height:58px;position:relative}.pg-thumb.primary{border:2px solid var(--blueprint)}.pg-thumb .pg-star,.pg-thumb .pg-del{cursor:pointer;color:var(--ink-soft);background:#ffffffd9;border:none;border-radius:4px;padding:3px 5px;font-size:11px;line-height:1;position:absolute;bottom:2px}.pg-thumb .pg-star{left:2px}.pg-thumb.primary .pg-star{color:var(--blueprint);font-weight:700}.pg-thumb .pg-del{right:2px}.pg-thumb .pg-star:after,.pg-thumb .pg-del:after{content:"";width:44px;height:44px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.pg-thumb.unused{opacity:.55;filter:grayscale(.5)}.pg-unused-badge{text-align:center;color:var(--ink-soft);background:#ffffffe0;border-radius:4px;padding:2px 0;font-size:10px;line-height:1.3;position:absolute;top:2px;left:2px;right:2px}.pg-add-angle,.pg-add-room{border:1px dashed var(--rule);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:6px;padding:6px 10px;font-size:12px}.pg-add-angle{width:76px;height:58px}.pg-add-room{align-self:flex-start;padding:8px 14px;font-size:13px}.pg-add-angle:hover,.pg-add-room:hover{border-color:var(--blueprint);color:var(--blueprint)}.pg-hint{color:var(--ink-soft);font-size:12px}.pg-scope{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.pg-scope-chip{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:12px;padding:4px 10px;font-size:12px}.pg-scope-chip.selected{border-color:var(--blueprint);color:var(--blueprint);background:#1f406814;font-weight:600}.pg-scope-hint{color:var(--ink-soft);margin-top:6px;font-size:12px}.room-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.room-tab{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:16px;padding:6px 14px;font-size:13px}.room-tab.active{border-color:var(--blueprint);color:var(--blueprint);background:#1f40680f;font-weight:600}.pipeline-progress{flex-direction:column;gap:14px;margin-top:14px;display:flex}.plp-panel{border:1px solid var(--rule);background:#fff;border-radius:12px;padding:18px 20px}.plp-otop,.plp-shead{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.plp-otitle,.plp-room,.plp-rname{font-size:var(--fs-title);font-weight:700}.plp-orooms{font-size:var(--fs-label);color:var(--ink-soft)}.plp-pctline{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.plp-pct{color:var(--blueprint);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.plp-unit{margin-left:2px;font-size:16px;font-weight:600}.plp-remain{font-size:var(--fs-label);color:var(--ink-soft);text-align:right;white-space:nowrap}.plp-remain b{color:var(--ink);font-size:var(--fs-body);font-variant-numeric:tabular-nums;display:block}.plp-now{font-size:var(--fs-body);color:var(--ink);align-items:center;gap:9px;margin-top:12px;display:flex}.plp-bar{background:var(--rule-soft);border-radius:5px;height:8px;position:relative;overflow:hidden}.plp-bar.thin{height:5px}.plp-bar-fill{background:linear-gradient(90deg, var(--blueprint), #2c588c);border-radius:5px;width:0;transition:width .6s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0}.plp-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000) 0 0/60% 100% no-repeat;animation:1.6s linear infinite plp-sheen;position:absolute;inset:0}@keyframes plp-sheen{0%{background-position:-60% 0}to{background-position:160% 0}}.plp-spin{vertical-align:middle;border:2px solid var(--rule);border-top-color:var(--blueprint);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.plp-spin.sm{width:12px;height:12px}.plp-check{width:14px;height:14px;color:var(--ok);flex:none}.plp-alert{width:15px;height:15px;color:var(--accent);flex:none}.plp-dot{background:var(--rule);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.plp-pill{font-size:var(--fs-caption);border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.plp-pill.gen{color:var(--blueprint);border-color:var(--blueprint);background:var(--info-bg)}.plp-pill.done{color:var(--ok);border-color:var(--ok);background:#2e7d4f14}.plp-pill.failed{color:var(--accent);border-color:var(--accent);background:#b84a1f0f}.plp-pill .plp-check{width:13px;height:13px}.plp-pill.waiting .plp-dot{animation:1.6s ease-in-out infinite plp-wait-pulse}@keyframes plp-wait-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.plp-pill.waiting .plp-dot{animation:none}}.plp-single{border-left:4px solid var(--blueprint)}.plp-single.plp-state-done{border-left-color:var(--ok)}.plp-single.plp-state-wait{border-left-color:var(--rule)}.plp-single.plp-state-failed{border-left-color:var(--accent)}.plp-auto{font-size:var(--fs-caption);color:var(--ink-soft);border:1px dashed var(--rule);background:#fff;border-radius:20px;align-items:center;gap:6px;padding:3px 11px 3px 9px;display:inline-flex}.plp-auto svg{width:13px;height:13px;color:var(--blueprint);flex:none}.plp-steps{border-top:1px dashed var(--rule);flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:14px;display:flex}.plp-step{font-size:var(--fs-caption);color:var(--ink-soft);align-items:center;gap:7px;display:inline-flex}.plp-step.done .plp-dot{background:var(--ok)}.plp-step.now{color:var(--blueprint);font-weight:600}.plp-step.now .plp-dot{background:var(--blueprint);box-shadow:0 0 0 3px var(--info-bg)}.plp-step.fail{color:var(--accent);font-weight:600}.plp-step.fail .plp-dot{background:var(--accent)}.plp-rooms{flex-direction:column;gap:14px;display:flex}.plp-room{border-left-style:solid;border-left-width:4px;padding:15px 18px}.plp-room.plp-state-done{border-left-color:var(--ok)}.plp-room.plp-state-gen{border-left-color:var(--blueprint)}.plp-room.plp-state-wait{border-left-color:var(--rule)}.plp-room.plp-state-failed{border-left-color:var(--accent)}.plp-rhead{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plp-rprog{flex:1;align-items:center;gap:10px;min-width:160px;display:flex}.plp-rprog .plp-bar{flex:1}.plp-rstage{font-size:var(--fs-caption);color:var(--blueprint);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.plp-rhint{font-size:var(--fs-caption);color:var(--ink-soft);margin-left:auto}.plp-rhint-alert{color:var(--accent)}.plp-err{font-size:var(--fs-caption);color:var(--accent);margin-top:10px}@media (width<=600px){.plp-panel{padding:15px}.plp-pct{font-size:26px}.plp-rprog{min-width:100%}}.partial-demo-btn{cursor:pointer;border:1px dashed var(--rule);color:var(--ink);background:#fff;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;font-size:13px;display:inline-flex}.partial-demo-btn:hover{border-color:var(--accent);color:var(--accent)}.partial-demo-sub{color:var(--ink-soft);font-size:12px}.catalog-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.catalog-open-btn{cursor:pointer;border:1px solid var(--rule);color:var(--ink);white-space:nowrap;background:#fff;border-radius:6px;padding:9px 14px;font-size:13px}.catalog-open-btn:hover{border-color:var(--ink-soft)}.catalog-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;display:flex}.catalog-chips-empty{color:var(--ink-soft);font-size:12px}.catalog-chip{color:var(--blueprint);background:#1f406814;border-radius:14px;align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:12px;display:inline-flex}.catalog-chip-x{color:var(--blueprint);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:13px}#catalogModal .history-dialog{max-width:760px}.catalog-search-row{align-items:center;gap:10px;padding:10px 14px 0;display:flex}.catalog-search{flex:1;min-width:200px;position:relative}.catalog-search svg{width:14px;height:14px;stroke:var(--ink-soft);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.catalog-search input{border:1px solid var(--rule);background:#fff;border-radius:8px;width:100%;padding:7px 10px 7px 30px;font-family:inherit;font-size:13px}.catalog-search input:focus{border-color:var(--blueprint);outline:none;box-shadow:0 0 0 2px #1f40681f}.catalog-search-hint{color:var(--ink-soft);white-space:nowrap;font-size:11px}.catalog-filter{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px 10px;display:flex}.catalog-jump-label{color:var(--ink-soft);margin-right:2px;font-size:11px}.catalog-jump-chip{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:14px;padding:5px 12px;font-family:inherit;font-size:12px}.catalog-jump-n{opacity:.75;margin-left:2px;font-size:10.5px}.catalog-jump-chip:hover{border-color:var(--blueprint);color:var(--blueprint)}.catalog-jump-chip.dim{opacity:.35;cursor:default;pointer-events:none}.history-list.catalog-scroll{padding:4px 14px 16px}.catalog-sec-head{border-left:4px solid var(--accent);align-items:baseline;gap:8px;margin:16px 0 10px;padding:2px 0 2px 10px;display:flex}.catalog-sec:first-child .catalog-sec-head{margin-top:6px}.catalog-sec-name{font-size:14px;font-weight:700}.catalog-sec-n{color:var(--ink-soft);font-size:12px}.catalog-card-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.catalog-card{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex;position:relative}.catalog-card:hover{border-color:var(--ink-soft)}.catalog-card.selected{border-color:var(--blueprint);box-shadow:inset 0 0 0 1px var(--blueprint);background:#1f40680d}.catalog-card-maker{color:var(--ink-soft);letter-spacing:.04em;font-size:11px}.catalog-card-model{padding-right:26px;font-size:13.5px;font-weight:700;line-height:1.45}.catalog-card-spec{color:var(--ink-soft);font-size:11.5px}.catalog-card-price{border-top:1px solid var(--rule-soft);align-items:baseline;gap:8px;margin-top:6px;padding-top:6px;display:flex}.catalog-card-ref{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:700}.catalog-card-ref small{color:var(--ink-soft);font-size:11px;font-weight:400}.catalog-card-list{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}.catalog-check{border:2px solid var(--rule);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:10px;right:10px}.catalog-card.selected .catalog-check{border-color:var(--blueprint);background:var(--blueprint)}.catalog-check svg{stroke:#fff;width:11px;height:11px;display:none}.catalog-card.selected .catalog-check svg{display:block}.catalog-nohit{text-align:center;color:var(--ink-soft);padding:26px 0 16px;font-size:13px;display:none}.catalog-footer{border-top:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.catalog-sel-label{color:var(--ink-soft);white-space:nowrap;font-size:12px}.catalog-tray{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;min-width:0;max-height:76px;display:flex;overflow-y:auto}.catalog-apply{cursor:pointer;border:1px solid var(--blueprint);background:var(--blueprint);color:#fff;white-space:nowrap;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700}.catalog-apply:hover{opacity:.92}@media (width<=640px){.catalog-card-grid{grid-template-columns:1fr}}.backup-fresh{background:var(--warn-bg);color:var(--warn);border:1px solid #8a5a0040;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:12px;display:flex}.backup-fresh svg{flex:none;width:14px;height:14px}.backup-row{flex-direction:column;gap:6px;display:flex}.auth-row{flex-direction:column;align-items:stretch;gap:6px;display:flex}.backup-btn{text-align:center;border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-family:inherit;font-size:13px;display:block}.backup-btn:hover{border-color:var(--ink-soft)}.ios-hint{z-index:250;background:var(--ink);color:var(--paper);padding:10px 14px calc(10px + env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:10px;font-size:12.5px;line-height:1.5;display:flex;position:fixed;bottom:0;left:0;right:0}.ios-hint-close{color:var(--paper);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:16px}.footer-row td{background:var(--rule-soft);border-top:1px solid var(--rule);font-size:13px;border-bottom:none!important}.footer-row .footer-label{text-align:right;color:var(--ink-soft);font-weight:500}.footer-row .num{font-family:JetBrains Mono,SF Mono,monospace}.footer-row-total td{background:var(--rule-soft);border-top:2px solid var(--ink);color:var(--ink);font-size:14px}.footer-row-total .footer-label{font-weight:600}.summary-card{border:1px solid var(--rule);background:#fff;border-radius:4px;margin-bottom:24px;overflow:hidden}.summary-row{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:baseline;padding:12px 22px;font-size:14px;display:flex}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--ink-soft)}.summary-value{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,SF Mono,monospace}.summary-row-total{background:var(--ink);color:var(--paper);padding:18px 22px}.summary-row-total .summary-label{color:var(--paper);opacity:.7;letter-spacing:.1em;font-size:12px}.summary-row-total .summary-value{color:var(--paper);font-size:24px;font-weight:700}.summary-row-discounted{border-top:1px dashed var(--rule);background:#b84a1f0d}.summary-row-discounted .summary-value{font-variant-numeric:tabular-nums;font-weight:600}.summary-contingency-note{color:var(--ink-soft);background:#fff;flex-direction:column;gap:4px;padding:10px 22px 12px;font-size:12px;line-height:1.7;display:flex}.summary-contingency-note label{cursor:pointer;color:var(--ink);align-items:center;gap:6px;display:inline-flex}.summary-rationale{color:var(--ink-soft);border-top:1px solid var(--rule);background:#fff;padding:14px 22px 16px;font-size:13px;line-height:1.8}.summary-rationale-label{letter-spacing:.08em;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.upsell-card{background:#b84a1f0a;border:1px solid #b84a1f2e;border-radius:4px;margin-bottom:24px;padding:18px 22px}.upsell-card .label{letter-spacing:.15em;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:600}.upsell-list{flex-direction:column;gap:14px;display:flex}.upsell-item{background:#fff;border:1px solid #b84a1f26;border-radius:3px;padding:12px 14px}.upsell-title{align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.upsell-plus{color:var(--accent);font-weight:700}.upsell-cost{font-variant-numeric:tabular-nums;color:var(--accent);margin-left:auto;font-family:JetBrains Mono,SF Mono,monospace;font-size:13px}.upsell-rationale{color:var(--ink-soft);margin-bottom:6px;font-size:13px;line-height:1.6}.upsell-pitch{color:var(--ink);border-left:2px solid var(--accent);padding-left:10px;font-size:13px;font-style:italic}.loading{border:2px solid var(--rule);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error{background:var(--err-bg);border-left:3px solid var(--err);color:var(--ink);margin-top:12px;padding:12px 16px;font-size:13px}.settings-body{max-height:calc(100vh - 140px);padding:14px 16px;overflow-y:auto}.settings-section{letter-spacing:.1em;color:var(--accent);text-transform:uppercase;border-bottom:1px solid var(--rule);align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:4px;font-size:11px;font-weight:600;display:flex}.settings-section:not(:first-child){margin-top:18px}.sec-status{letter-spacing:0;color:var(--ink-soft);text-transform:none;text-align:right;margin-left:auto;font-size:10.5px;font-weight:400}.settings-field{margin-bottom:14px}.settings-field:last-child{margin-bottom:0}.settings-field>label{color:var(--ink-soft);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:6px;font-size:13px;display:flex}.opt-tag{background:var(--rule-soft);color:var(--ink-soft);letter-spacing:.04em;border-radius:2px;padding:0 6px;font-size:10px;font-weight:600}.label-note{color:var(--ink-soft);font-size:12px}.saved-note{color:var(--blueprint);opacity:0;align-items:center;gap:3px;margin-left:auto;font-size:11px;font-weight:600;transition:opacity .25s;display:inline-flex}.saved-note.on{opacity:1}.saved-note svg{width:11px;height:11px}.pass-state{background:var(--rule-soft);color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.pass-state:empty{display:none}.pass-state.is-set{color:var(--blueprint);background:#1f40681f;border-color:#1f406847}.pass-state svg{width:10px;height:10px}.settings-field input{border:1px solid var(--rule);border-radius:3px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.settings-field input:focus{border-color:var(--blueprint);outline:none}.settings-help{color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.5;display:block}.settings-help code{background:var(--rule-soft);border-radius:2px;padding:1px 5px;font-family:SF Mono,monospace;font-size:11px}.settings-help a{color:var(--blueprint)}.result-actions{border-top:1px solid var(--rule);align-items:center;gap:14px;margin-top:32px;padding-top:24px;display:flex}.result-actions .pdf-icon{margin-right:4px;font-size:14px;display:inline-block}.result-actions-hint{color:var(--ink-soft);font-size:13px}.pdf-rendering{opacity:.5;pointer-events:none}.pp-host{width:794px;position:absolute;top:0;left:-10000px}.pp-page{background:var(--paper);width:794px;height:1123px;color:var(--ink);flex-direction:column;padding:53px 53px 34px;font-size:12px;line-height:1.55;display:flex;overflow:hidden}.pp-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pp-footer{color:var(--ink-soft);border-top:1px solid var(--rule-soft);justify-content:space-between;margin-top:8px;padding-top:10px;font-size:10px;display:flex}.pp-eyebrow{letter-spacing:.25em;color:var(--accent);font-size:10px;font-weight:700}.pp-doc-title{letter-spacing:.06em;font-size:17px;font-weight:700}.pp-co-header{border-bottom:2px solid var(--ink);flex:none;align-items:center;gap:12px;padding-bottom:8px;display:flex}.pp-logo{object-fit:contain;max-width:140px;max-height:44px}.pp-co-text{flex:1}.pp-co-name{font-size:15px;font-weight:700}.pp-co-sub{color:var(--ink-soft);font-size:10px}.pp-title-block{text-align:right}.pp-seal{object-fit:contain;max-width:46px;max-height:46px}.pp-ba{flex:none;gap:15px;margin-top:19px;display:flex}.pp-ba figure{flex:1;margin:0}.pp-ba img{object-fit:cover;border:1px solid var(--rule);width:100%;height:280px;display:block}.pp-ba figcaption{letter-spacing:.15em;color:var(--ink-soft);margin-bottom:2px;font-size:10px;font-weight:700}.pp-total-band{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);flex:none;justify-content:space-between;align-items:center;margin-top:19px;padding:8px 4px;display:flex}.pp-total-band .pp-label{letter-spacing:.2em;font-size:13px;font-weight:700}.pp-total-band .pp-duration{color:var(--ink-soft);font-size:11px}.pp-total-band .pp-amount{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.pp-total-band .pp-amount small{color:var(--ink-soft);margin-left:6px;font-size:11px;font-weight:400}.pp-cols{gap:19px;margin-top:11px;display:flex}.pp-cols-fill{flex:1;min-height:0;margin-top:8px}.pp-col{flex:1;min-width:0;overflow:hidden}.pp-cols-fill .pp-col{height:100%}.pp-section-head{border-left:4px solid var(--accent);align-items:baseline;gap:8px;margin:14px 0 6px;padding:2px 0 2px 10px;display:flex}.pp-section-head .pp-no{color:var(--accent);font-size:12px;font-weight:700}.pp-section-head .pp-name{font-size:14px;font-weight:700}.pp-chunk:first-child .pp-section-head{margin-top:0}.pp-table{border-collapse:collapse;width:100%;font-size:10.5px}.pp-table th{background:var(--rule-soft);color:var(--ink-soft);text-align:left;border:1px solid var(--rule);padding:4px 6px;font-weight:600}.pp-table td{border:1px solid var(--rule-soft);vertical-align:top;padding:4px 6px}.pp-table .pp-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pp-table .pp-total-row td{border-top:1.5px solid var(--rule);font-weight:600}.pp-w-qty{width:34px}.pp-w-unit{width:40px}.pp-w-price{width:64px}.pp-w-amount{width:90px}.pp-box{border:1px solid var(--rule);color:var(--ink-soft);background:#fff;padding:10px 14px;font-size:10.5px}.pp-upsell-line{border-bottom:1px dashed var(--rule-soft);justify-content:space-between;gap:8px;padding:4px 0;font-size:10.5px;display:flex}.pp-upsell-line .pp-cost{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.pp-footnote{color:var(--ink-soft);margin-top:15px;font-size:9px}.logo-row{align-items:center;gap:10px;margin-top:8px;display:flex}.logo-preview{border:1px solid var(--rule);object-fit:contain;background:#fff;border-radius:4px;max-width:160px;max-height:48px;padding:3px}.logo-clear{color:var(--ink-soft);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:4px;padding:4px 9px;font-size:12px}.logo-clear:hover{border-color:var(--ink-soft)}.pm-help{color:var(--ink-soft);padding:10px 14px 0;font-size:12px;line-height:1.7}.pm-add-row{gap:6px;padding:10px 14px;display:flex}.pm-csv-row{border-bottom:1px solid var(--rule);align-items:center;gap:6px;padding:0 14px 10px;display:flex}.pm-csv-hint{color:var(--ink-soft);font-size:12px}.pm-add-row input{border:1px solid var(--rule);border-radius:6px;flex:1;min-width:0;padding:7px 9px;font-family:inherit;font-size:13px}.pm-add-row .pm-input-narrow{flex:0 0 76px}#priceMasterModal .history-dialog{max-width:720px;position:relative}.pm-count{color:var(--ink-soft);margin-left:8px;font-size:12px;font-weight:400}.history-list.pm-list{padding:0 0 64px}.pm-table{border-collapse:collapse;width:100%;font-size:13px}.pm-table th{z-index:5;background:var(--rule-soft);color:var(--ink-soft);letter-spacing:.05em;text-align:left;white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.pm-table th.pm-sortable{cursor:pointer}.pm-table th.pm-sortable:hover{color:var(--ink)}.pm-arrow{margin-left:2px;font-size:9px}.pm-table th.pm-col-num,.pm-table td.pm-col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pm-table td{border-top:1px solid var(--rule-soft);vertical-align:middle;padding:7px 10px}.pm-table tbody tr:hover{background:#1f40680a}.pm-table tbody tr.checked{background:#1f40681a}.pm-col-check{text-align:center;width:34px}.pm-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--blueprint);cursor:pointer}.pm-work{font-weight:600}.pm-comp{color:var(--ink-soft);margin-left:6px;font-size:11.5px}.pm-price-cell{cursor:pointer}.pm-price-val{border-bottom:1px dashed #1f406873;padding-bottom:1px;font-weight:700}.pm-price-cell:hover .pm-price-val{color:var(--blueprint)}.pm-price-input{text-align:right;border:1px solid var(--blueprint);width:88px;color:var(--ink);background:#fff;border-radius:5px;outline:none;padding:3px 6px;font-family:inherit;font-size:13px;font-weight:700;box-shadow:0 0 0 2px #1f406826}.pm-unit{color:var(--ink-soft);font-size:12px}.pm-meta{color:var(--ink-soft);white-space:nowrap;font-size:11.5px}.pm-saved-flash{color:var(--blueprint);opacity:0;margin-left:6px;font-size:10.5px;font-weight:600;transition:opacity .2s}.pm-saved-flash.on{opacity:1}.pm-bulk-bar{background:var(--ink);color:var(--paper);z-index:60;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;transition:transform .18s;display:flex;position:absolute;bottom:12px;left:12px;right:12px;transform:translateY(70px);box-shadow:0 6px 24px #00000047}.pm-bulk-bar.on{transform:translateY(0)}.pm-bulk-label b{font-size:14px}.pm-bulk-del{cursor:pointer;background:var(--err);color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:600}.pm-bulk-del:hover{opacity:.9}.pm-bulk-clear{color:var(--paper);opacity:.7;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:15px}.pm-toast{background:var(--ink);color:var(--paper);z-index:300;border-radius:8px;align-items:center;gap:10px;max-width:min(560px,100vw - 32px);padding:12px 16px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.pm-toast-register{background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600}.pm-toast-dismiss{color:var(--paper);opacity:.7;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:15px}.history-list{padding:8px 4px;overflow-y:auto}.history-empty{text-align:center;color:var(--ink-soft);padding:34px 20px;font-size:14px;line-height:1.7}.history-item{border:1px solid var(--rule);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:6px;padding:12px 14px;display:flex}.history-item-name{font-size:15px;font-weight:600}.history-item-loc{color:var(--ink-soft);font-size:12px;font-weight:400}.history-item-meta{color:var(--ink-soft);margin-top:3px;font-size:12px}.history-item-actions{flex-shrink:0;gap:6px;display:flex}.history-open,.history-del{cursor:pointer;border:1px solid var(--rule);background:#fff;border-radius:6px;padding:6px 12px;font-size:13px}.history-open{border-color:var(--accent);color:var(--accent)}.history-del{color:var(--ink-soft)}.cell-qtywrap{justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.cell-input{text-align:right;border:1px solid var(--rule);width:78px;color:var(--ink);background:#fff;border-radius:5px;padding:3px 6px;font-family:inherit;font-size:13px}.cell-input:hover{border-color:var(--ink-soft)}.cell-input:focus{border-color:var(--blueprint);outline:none;box-shadow:0 0 0 2px #1f406826}.cell-qty{width:54px}.cell-unit{color:var(--ink-soft);text-align:left;min-width:20px;font-size:12px}.cell-lump{color:var(--ink-soft);font-size:12px}.estimate-disclaimer{color:var(--ink-soft);border:1px solid var(--rule);border-left:3px solid var(--accent);background:#b84a1f0d;border-radius:6px;margin:22px 0 0;padding:12px 14px;font-size:12.5px;line-height:1.7}.estimate-disclaimer strong{color:var(--ink)}@media (width<=600px){.container{padding:24px 14px 64px}.field-row,.meta-row{grid-template-columns:1fr}.scope-grid{grid-template-columns:1fr 1fr;gap:6px}.scope-item{padding:14px 12px;font-size:13px}.step{padding:22px 0}.step-header{flex-wrap:wrap;gap:10px;margin-bottom:14px}.step-hint{margin-left:0;font-size:12px}.upload-zone{min-height:180px;padding:28px 16px}.upload-primary-cta{justify-content:center;width:100%;max-width:320px;padding:12px 24px;font-size:14px}.upload-actions{flex-direction:column;gap:10px;width:100%}.upload-secondary-cta{justify-content:center;width:100%;max-width:320px;padding:12px 20px;font-size:13px}.demo-mode{padding:12px 14px}.demo-sample-buttons{flex-direction:column}.btn-demo{width:100%;padding:12px 14px;font-size:13px}.submit-row{flex-direction:column;align-items:stretch;gap:10px}.btn-primary{width:100%;padding:16px 20px;font-size:15px}.submit-hint{text-align:center;font-size:12px}.result-header{margin-bottom:22px;padding:18px 0}.result-title{font-size:19px}.ba-tab{padding:12px 14px;font-size:12px}.ba-image-area{min-height:240px;padding:12px}.estimate-card{margin-bottom:16px}.estimate-header{padding:12px 14px}.estimate-header h3{font-size:13px}.estimate-header .meta{font-size:11px}.estimate-table{font-size:12px}.estimate-table th,.estimate-table td{padding:8px 10px}.row-title{gap:4px;font-size:13px}.row-spec{font-size:11px}.row-component,.inclusive-badge{padding:1px 4px;font-size:10px}.pitch-card,.summary-card,.upsell-card{margin-bottom:18px;padding:14px 16px}.summary-row{padding:10px 16px;font-size:13px}.summary-row-total{padding:14px 16px}.summary-row-total .summary-value{font-size:20px}.upsell-item{padding:10px 12px}.upsell-title{flex-wrap:wrap;font-size:13px}.upsell-cost{margin-left:0}.upsell-rationale,.upsell-pitch{font-size:12px}.result-actions{flex-direction:column;align-items:stretch;gap:10px}.result-actions-hint{text-align:center}.field input,.field select,textarea,.settings-field input{font-size:16px}}@media (width<=480px){.estimate-card{overflow-x:auto}.estimate-table{min-width:520px}}@media (width>=601px) and (width<=1024px){.estimate-table th,.estimate-table td{padding:10px 14px}}@media (pointer:coarse){.cell-input{width:96px;min-height:40px;padding:6px 8px;font-size:16px}.cell-qty{width:70px}.btn-primary,.btn-demo,.history-open,.history-del,.logo-clear,.scope-item,.btn-secondary,.ba-tab,.mask-toggle,.mask-clear,.catalog-open-btn,.backup-btn,.pg-add-room,.pg-remove,.pm-toast-register,.pm-bulk-del,.catalog-apply{min-height:44px}.settings-close,.history-close,.catalog-chip-x,.pm-bulk-clear{min-width:44px;min-height:44px}.room-tab,.catalog-jump-chip,.pg-scope-chip,.catalog-chip{min-height:36px}.pg-thumb,.pg-add-angle{width:96px;height:72px}.pg-thumb .pg-star,.pg-thumb .pg-del{padding:6px 8px;font-size:13px}.room-tabs,.pg-scope{gap:8px}.field input,.field select,textarea,.settings-field input,.pg-room,.mask-instruction,.pm-add-row input,.catalog-search input,.pm-price-input{font-size:16px}.icon-btn{min-width:44px;min-height:44px}.row-add-btn{min-height:44px}}.mode-banner{z-index:950;background:var(--blueprint);color:#fff;letter-spacing:.04em;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 12px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0}.mode-banner-clear{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff80;border-radius:3px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:600}.mode-banner-clear:hover{background:#ffffff47}.mode-banner-back{color:#fff;text-underline-offset:2px;white-space:nowrap;font-size:12px;font-weight:600;text-decoration:underline}.mode-banner-back:hover{opacity:.85}.step .demo-mode{margin-top:18px}.step,#result,#compareView{scroll-margin-top:calc(var(--banner-h) + 12px)}.room-tabs{top:var(--banner-h);z-index:80;background:var(--paper);padding:6px 0;position:sticky}.pitch-card p,.estimate-disclaimer,.summary-rationale{max-width:44em}@media (width>=1100px){.container{max-width:1000px}}.brand-lockup{align-items:center;gap:10px;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px;display:block}.brand-name{letter-spacing:.02em;color:var(--ink);font-size:21px;font-weight:700;line-height:1}.brand-name .rm-sub{letter-spacing:.28em;color:var(--ink-soft);vertical-align:2px;margin-left:8px;font-size:10px;font-weight:600}.appbar{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 22px;padding-bottom:16px;display:flex}.appbar .spacer{flex:1}.appbar-tabs{background:var(--rule-soft);border:1px solid var(--rule);border-radius:10px;flex:none;gap:4px;margin-left:6px;padding:3px;display:inline-flex}.appbar-tabs .tab{cursor:pointer;font-family:inherit;font-size:var(--fs-label);color:var(--ink-soft);white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 15px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.appbar-tabs .tab:hover{color:var(--ink)}.appbar-tabs .tab svg{flex:none;width:16px;height:16px}.appbar-tabs .tab.is-current{color:var(--blueprint);background:#fff;border:1px solid #1f406838;padding:6px 14px;font-weight:700;box-shadow:0 1px 3px #1a1a1a1f}.appbar.has-sync-badge .cc-name,.appbar.has-sync-badge .cc-client{max-width:110px}@media (width<=1099px){.appbar.has-sync-badge{gap:10px}.appbar.has-sync-badge .brand-name .rm-sub{display:none}}@media (width<=900px){.appbar.has-sync-badge .brand-name{display:none}}.contractor-attribution{border:1px solid var(--rule);border-left:3px solid var(--ink-soft);background:var(--info-bg);border-radius:7px;flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0 4px;padding:10px 12px;display:flex}.contractor-attribution[hidden]{display:none}.contractor-attribution[data-state=mismatch]{border-left-color:var(--warn);background:var(--warn-bg)}.contractor-attribution .ca-msg{font-size:var(--fs-caption);color:var(--ink);margin:0;line-height:1.6}.contractor-attribution .ca-confirm{border:1px solid var(--rule);color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--fs-label);background:#fff;border-radius:7px;min-height:36px;padding:7px 14px;font-weight:600}.contractor-attribution .ca-confirm:hover{border-color:var(--ink-soft)}.drawer-trigger{border:1px solid var(--rule);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.drawer-trigger:hover{border-color:var(--ink-soft);color:var(--ink)}.drawer-trigger svg{width:18px;height:18px}.case-context{flex:none;position:relative}.case-chip{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;max-width:280px;padding:6px 12px 6px 8px;font-family:inherit;transition:all .12s;display:inline-flex}.case-chip:hover{border-color:var(--ink-soft)}.case-chip.open{border-color:var(--blueprint);background:var(--info-bg)}.case-chip .cc-ico{background:var(--rule-soft);width:30px;height:30px;color:var(--blueprint);border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.case-chip .cc-ico svg{width:16px;height:16px}.case-chip .cc-text{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.3;display:flex}.cc-label{font-size:var(--fs-badge);letter-spacing:.08em;color:var(--accent);font-weight:700}.cc-name{font-size:var(--fs-label);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-weight:600;overflow:hidden}.cc-client{font-size:var(--fs-caption);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.case-chip .cc-chev{width:16px;height:16px;color:var(--ink-soft);flex:none}.case-pop{border:1px solid var(--rule);z-index:965;opacity:0;visibility:hidden;background:#fff;border-radius:14px;flex-direction:column;width:340px;max-width:calc(100vw - 32px);max-height:calc(100vh - 96px);transition:opacity .16s,transform .16s,visibility .16s;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;transform:translateY(-4px);box-shadow:0 16px 40px #1a1a1a29}.case-pop.open{opacity:1;visibility:visible;transform:translateY(0)}.cp-head{background:var(--rule-soft);border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.cp-head strong{font-size:var(--fs-body);letter-spacing:.02em}.cp-close{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:19px;line-height:1;transition:all .12s;display:inline-flex}.cp-close:hover{color:var(--ink);background:#1a1a1a0f}.cp-body{flex:auto;min-height:0;padding:4px 18px 6px;overflow-y:auto}.cp-foot{justify-content:space-between;align-items:center;padding:15px 0 16px;display:flex}.cp-link{font-size:var(--fs-label);color:var(--blueprint);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.cp-link:hover{text-decoration:underline}.cp-link svg{width:15px;height:15px}.case-pop .field{border-bottom:1px solid var(--rule-soft);flex-direction:column;gap:7px;padding:16px 0;display:flex}.case-pop .field-label{font-size:var(--fs-badge);letter-spacing:.09em;color:var(--ink-soft);font-weight:700}.case-pop .field input,.case-pop .field select{font-family:inherit;font-size:var(--fs-body);color:var(--ink);border:1px solid var(--rule);background:#fff;border-radius:8px;width:100%;padding:11px 13px;transition:border-color .12s,box-shadow .12s}.case-pop .field input::placeholder{color:#a9a69e}.case-pop .field input:hover,.case-pop .field select:hover{border-color:var(--ink-soft)}.case-pop .field input:focus,.case-pop .field select:focus{border-color:var(--blueprint);box-shadow:0 0 0 3px var(--info-bg);outline:none}.case-pop .field-row{border-bottom:1px solid var(--rule-soft);align-items:end;gap:12px;margin:0;padding:16px 0}.case-pop .field-row .field{border-bottom:none;padding:0}.drawer{border-right:1px solid var(--rule);z-index:970;will-change:transform;background:#fff;flex-direction:column;width:320px;max-width:86vw;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:6px 0 30px #0000001f}.drawer.open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:16px 16px 14px;display:flex}.drawer-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.drawer-body{padding:8px 8px 20px;overflow-y:auto}.drawer-sub{font-size:var(--fs-badge);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:12px 12px 4px;font-weight:700}.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;font-family:inherit;text-decoration:none;transition:background .1s;display:flex}.menu-item:hover{background:var(--info-bg)}.menu-item .mi-ico{background:var(--rule-soft);width:30px;height:30px;color:var(--blueprint);border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.menu-item .mi-ico svg{width:17px;height:17px}.menu-item>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.menu-item .mi-name{font-size:var(--fs-body);font-weight:600;display:block}.menu-item .mi-desc{font-size:var(--fs-caption);color:var(--ink-soft);line-height:1.4;display:block}.drawer-demo{border-top:1px solid var(--rule);margin:18px 8px 2px;padding-top:6px}.drawer-demo .drawer-sub{padding-left:8px}.menu-item.is-demo .mi-ico{color:var(--accent);background:#b84a1f1a}.overlay{opacity:0;visibility:hidden;z-index:960;background:#00000047;transition:opacity .18s,visibility .18s;position:fixed;inset:0}.overlay.open{opacity:1;visibility:visible}@media (width<=640px){.appbar{gap:10px}.brand-name{font-size:18px}.brand-name .rm-sub{display:none}.appbar-tabs .tab span,.appbar-tabs .tab{font-size:12px}.cc-client,.cc-label{display:none}.case-chip{max-width:46vw;padding:6px 10px 6px 6px}.cc-name{max-width:40vw}.case-pop{border-radius:16px 16px 0 0;width:auto;position:fixed;inset:auto 0 0;transform:translateY(10px)}.case-pop.open{transform:translateY(0)}.drawer{width:100%;max-width:100%}}.taste-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:4px;display:grid}.taste-tile{text-align:left;cursor:pointer;border:1px solid var(--rule);background:#fff;border-radius:8px;flex-direction:column;gap:3px;padding:12px 14px;font-family:inherit;transition:all .12s;display:flex;position:relative}.taste-tile:hover{border-color:var(--ink-soft)}.taste-tile.selected{border-color:var(--blueprint);background:var(--info-bg);box-shadow:inset 0 0 0 1px var(--blueprint)}.taste-tile-label{font-size:var(--fs-label);color:var(--ink);font-weight:600}.taste-tile-hint{font-size:var(--fs-caption);color:var(--ink-soft)}.taste-free{margin-top:12px}.taste-free label{font-size:var(--fs-caption);color:var(--ink-soft);margin-bottom:4px;display:block}.taste-free input{width:100%}.taste-free-note{font-size:var(--fs-caption);color:var(--ink-soft);margin-top:4px}.taste-free-warn{font-size:var(--fs-caption);color:var(--warn);margin-top:4px;font-weight:600}.taste-free-warn:empty{display:none}.taste-consume{font-size:var(--fs-caption);color:var(--blueprint);margin-top:8px;font-weight:600}.taste-consume-warn{color:var(--warn)}.taste-consume-row{font-size:var(--fs-caption);align-items:center;gap:16px;margin-top:8px;font-weight:600;display:flex}.taste-consume-row .taste-consume{margin-top:0}.credit-inline{color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.credit-inline[hidden]{display:none}.credit-inline .ci-ico{width:15px;height:15px;color:var(--blueprint);flex:none}.credit-inline .ci-val{color:var(--blueprint);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.mode-banner-demo-page{display:flex!important}.quality-report{margin:10px 0 2px}.quality-report-compare{text-align:center;max-width:880px;margin:10px auto 4px}.quality-report-trigger{cursor:pointer;font-family:inherit;font-size:var(--fs-caption);color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:6px;padding:4px 2px;line-height:1.4;display:inline-flex}.quality-report-trigger:hover{color:var(--blueprint);text-decoration:underline}.quality-report-trigger svg{opacity:.75}.quality-report-open{border:1px solid var(--rule);background:var(--info-bg);border-radius:10px;max-width:520px;padding:12px}.quality-report-compare.quality-report-open{text-align:left;margin-left:auto;margin-right:auto}.quality-report-label{font-size:var(--fs-caption);color:var(--ink-soft);margin-bottom:6px;display:block}.quality-report-input{box-sizing:border-box;resize:vertical;width:100%;font-family:inherit;font-size:var(--fs-label);color:var(--ink);border:1px solid var(--rule);background:#fff;border-radius:8px;padding:8px}.quality-report-input:focus{border-color:var(--blueprint);outline:none}.quality-report-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.quality-report-send{font-family:inherit;font-size:var(--fs-label);cursor:pointer;border:1px solid var(--blueprint);background:var(--blueprint);color:#fff;border-radius:8px;padding:6px 16px;font-weight:600}.quality-report-send:hover{filter:brightness(1.08)}.quality-report-cancel{font-family:inherit;font-size:var(--fs-label);cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:6px 8px}.quality-report-cancel:hover{color:var(--blueprint);text-decoration:underline}.quality-report-thanks{font-size:var(--fs-caption);color:var(--ink-soft)}.quality-report-error-text{font-size:var(--fs-caption);color:var(--warn)}.quality-report-review-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.quality-report-count{font-size:var(--fs-label);color:var(--ink-soft)}.cell-work{text-align:left;flex:160px;width:auto;min-width:120px;max-width:100%;font-size:14px;font-weight:500}.cell-spec{box-sizing:border-box;text-align:left;resize:vertical;width:100%;min-height:30px;color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.5;display:block}.col-actions{width:1%}.estimate-table td.row-actions{text-align:right;white-space:nowrap;vertical-align:top;padding-left:8px;padding-right:16px}.icon-btn{border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:5px;justify-content:center;align-items:center;padding:5px;line-height:0;display:inline-flex}.icon-btn+.icon-btn{margin-left:4px}.icon-btn:hover:not(:disabled){border-color:var(--blueprint);color:var(--blueprint)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn-delete:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.row-add-btn{border:1px dashed var(--rule);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:6px;align-items:center;gap:6px;margin:12px 20px 4px;padding:8px 14px;font-family:inherit;font-size:13px;display:inline-flex}.row-add-btn:hover{border-color:var(--blueprint);color:var(--blueprint)}.section-add-btn{justify-content:center;width:calc(100% - 40px);margin:20px 20px 8px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.section-name-input{letter-spacing:.02em;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:3px;width:100%;max-width:420px;padding:2px 4px;font-family:inherit;font-size:14px;font-weight:600}.section-name-input:hover{border-color:var(--rule)}.section-name-input:focus{border-color:var(--blueprint);background:#fff;outline:none}.section-delete-btn{margin-left:8px}@media (pointer:coarse){.cell-work,.cell-spec{font-size:16px}}.pg-preset-add{flex-direction:column;align-self:flex-start;gap:8px;display:flex}.pg-preset-picker{flex-wrap:wrap;gap:6px;display:flex}.pg-preset-picker[hidden]{display:none}.pg-preset-pick-item{cursor:pointer;border:1px solid var(--rule);color:var(--ink-soft);background:#fff;border-radius:16px;padding:6px 14px;font-size:13px}.pg-preset-pick-item:hover{border-color:var(--blueprint);color:var(--blueprint);background:var(--info-bg)}.entry-screen{padding:48px 0 24px}.entry-screen-inner{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:480px;margin:0 auto;display:flex}.entry-title{font-size:var(--fs-heading);font-weight:700;line-height:1.4}.entry-lead{color:var(--ink-soft);font-size:var(--fs-body);margin-bottom:8px}.entry-actions{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.entry-divider{background:var(--rule);width:100%;max-width:320px;height:1px;margin:4px 0}.entry-resume-btn{border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:3px;flex-direction:column;align-items:center;gap:2px;width:100%;max-width:320px;padding:12px 20px;font-family:inherit;transition:all .15s;display:flex}.entry-resume-btn:hover{border-color:var(--accent)}.entry-resume-title{color:var(--ink);font-size:14px;font-weight:600}.entry-resume-meta{color:var(--ink-soft);font-size:var(--fs-caption);letter-spacing:.02em}.entry-list-btn{color:var(--blueprint);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.entry-list-btn:hover{background:var(--info-bg)}.entry-confirm-body{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.entry-confirm-body p{font-size:var(--fs-body);color:var(--ink);margin:0;line-height:1.7}.entry-confirm-body p:first-child{font-weight:600}.entry-confirm-footer{border-top:1px solid var(--rule);justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.save-failed-notice{border:1px solid var(--rule);border-left:4px solid var(--warn);background:var(--warn-bg);color:var(--ink);border-radius:8px;align-items:flex-start;gap:8px;margin:20px 0 10px;padding:12px 16px;font-size:13px;line-height:1.7;display:flex}.save-failed-notice svg{width:16px;height:16px;color:var(--warn);flex:none;margin-top:2px}
