.surface-search,.surface-ai,.surface-chat,.surface-mail,.surface-cowo{width:100%;height:100%;overflow:hidden;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;font-size:1rem;line-height:1.5;letter-spacing:-.025em;text-align:left}
.surface-search *,.surface-ai *,.surface-chat *,.surface-mail *,.surface-cowo *{box-sizing:border-box}
.surface-search :is(h1,h2,h3,p),.surface-ai :is(h1,h2,h3,p),.surface-chat :is(h1,h2,h3,p),.surface-mail :is(h1,h2,h3,p),.surface-cowo :is(h1,h2,h3,p){margin:0}
.surface-search button,.surface-ai button,.surface-chat button,.surface-mail button,.surface-cowo button{font:inherit;color:inherit;background:none;border:0;padding:0;letter-spacing:inherit;cursor:default}
.surface-search .surface-icon,.surface-ai .surface-icon,.surface-chat .surface-icon,.surface-mail .surface-icon,.surface-cowo .surface-icon{display:inline-block;flex:none;width:1.15rem;height:1.15rem;vertical-align:middle}
/* Index */
.surface-search{display:flex;flex-direction:column;background:#fff;color:#303335}
.surface-search .search-top{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 2.2rem;font-size:.83rem}
.surface-search .search-top>div{display:flex;align-items:center;gap:1.5rem}
.surface-search .search-profile{display:grid;place-items:center;border-radius:50%;width:2.1rem;height:2.1rem;background:#57715c;color:#fff;font-size:.85rem;font-weight:500}
.surface-search .search-main{display:flex;flex:1;flex-direction:column;align-items:center;padding-top:6.3rem}
.surface-search h1{font-size:6.7rem;font-weight:560;letter-spacing:-.55rem;line-height:1.15;color:#2f3831;position:relative;padding-right:.6rem}
.surface-search h1>span{position:absolute;width:.55rem;height:.55rem;border-radius:50%;right:-.3rem;bottom:1.18rem;background:#8eaa8f}
.surface-search .search-box{display:flex;align-items:center;gap:1.2rem;margin-top:2.25rem;width:44rem;height:4.25rem;border:1px solid #dfe3df;border-radius:2.5rem;padding:0 1.6rem;box-shadow:0 5px 20px #20342608;font-size:1.12rem}
.surface-search .search-box>.surface-icon{color:#8b928d;width:1.35rem;height:1.35rem}
.surface-search .search-query{white-space:nowrap;min-width:0}
.surface-search .search-caret{width:1px;height:1.45rem;background:#363c36;margin-left:-.95rem}
.surface-search .search-box>button{margin-left:auto;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:#f3f5f1}
.surface-search .search-actions{display:flex;gap:.7rem;margin-top:1.65rem}
.surface-search .search-actions button{background:#f7f8f6;border:1px solid #f0f2ed;border-radius:.35rem;padding:.65rem 1.05rem;color:#596157;font-size:.82rem}
.surface-search .search-bottom{display:flex;align-items:center;justify-content:space-between;background:#f8f9f7;border-top:1px solid #f0f1ee;padding:1rem 2.2rem;font-size:.77rem;color:#7e857c}
.surface-search .search-bottom>div{display:flex;gap:1.6rem}
/* Codex-like local editor */
.surface-ai{display:flex;background:#181a1b;color:#e8e9e5}
.surface-ai .ai-sidebar{width:14rem;flex:none;background:#141617;border-right:1px solid #ffffff0b;padding:1.8rem 1.15rem;display:flex;flex-direction:column}
.surface-ai .ai-brand{display:flex;align-items:center;gap:.7rem;padding:0 .5rem;font-size:1.2rem;letter-spacing:-.055em}
.surface-ai .ai-brand .surface-icon{width:1.4rem;height:1.4rem}
.surface-ai .ai-new{display:flex;align-items:center;gap:.6rem;margin:2rem 0 2.1rem;padding:.6rem .6rem;border:1px solid #ffffff1c;border-radius:.45rem;font-size:.78rem;color:#c9ceca}
.surface-ai .ai-section,.surface-ai .ai-history-label{font-size:.65rem;color:#777f79;padding:0 .55rem;margin-bottom:.6rem}
.surface-ai .ai-project{font-size:.8rem;display:flex;gap:.55rem;align-items:center;padding:.5rem}
.surface-ai .ai-project .surface-icon{color:#9da89f}
.surface-ai .ai-path{font-family:ui-monospace,SFMono-Regular,monospace;color:#78837b;font-size:.57rem;padding:.2rem .55rem}
.surface-ai .ai-history-label{margin-top:2.5rem}
.surface-ai .ai-history{padding:.65rem .7rem;font-size:.72rem;color:#848e87;border-radius:.4rem}
.surface-ai .ai-history.active{background:#ffffff09;color:#e0e6df}
.surface-ai .ai-side-bottom{margin-top:auto;display:flex;gap:.65rem;align-items:center;font-size:.72rem;padding:.5rem}
.surface-ai .ai-side-bottom small{display:block;color:#728078;font-size:.6rem}
.surface-ai .ai-side-bottom>.surface-icon{margin-left:auto;color:#728078}
.surface-ai .ai-avatar{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:#4a5d4d;color:#dbe7d8}
.surface-ai .ai-main{display:flex;flex:1;min-width:0;flex-direction:column}
.surface-ai .ai-topbar{height:3.4rem;flex:none;border-bottom:1px solid #ffffff0b;display:flex;align-items:center;justify-content:space-between;padding:0 1.6rem;color:#87928b;font-size:.72rem}
.surface-ai .ai-topbar b{font-weight:450;color:#ccd4cc}
.surface-ai .ai-topbar i{font-style:normal;color:#4c554e;margin:0 .8rem}
.surface-ai .ai-local{display:flex;gap:.4rem;align-items:center;font-size:.62rem;color:#9cad9e}
.surface-ai .ai-local i{width:.3rem;height:.3rem;background:#75a47b;margin:0;border-radius:50%}
.surface-ai .ai-workspace{flex:1;display:grid;grid-template-columns:1.05fr 1fr;min-height:0}
.surface-ai .ai-conversation{position:relative;display:flex;flex-direction:column;min-width:0;padding:3.1rem 2rem 1.7rem}
.surface-ai .ai-work-label{color:#7f8b81;font-size:.62rem;letter-spacing:.08em;margin-bottom:.8rem}
.surface-ai .ai-conversation h1{font-size:1.6rem;font-weight:500;letter-spacing:-.055em}
.surface-ai .ai-prompt{display:flex;gap:.8rem;padding:1.5rem 1.25rem;margin-top:2rem;border:1px solid #ffffff13;border-radius:.7rem;background:#212624;font-size:.95rem;line-height:1.95}
.surface-ai .ai-prompt-marker{font-family:monospace;color:#9cba9b;font-size:1.2rem;line-height:1.45}
.surface-ai .ai-processing{display:flex;align-items:center;gap:.6rem;color:#8da08f;font-size:.72rem;margin:2rem .4rem;opacity:0;transition:opacity .5s}
.surface-ai .ai-processing-dot{width:.35rem;height:.35rem;border-radius:50%;background:#a5c5a4;box-shadow:0 0 0 4px #a5c5a40b}
.surface-ai[data-ai-phase="thinking"] .ai-processing{opacity:1}
.surface-ai .ai-response{display:flex;gap:.75rem;padding:1.75rem .2rem;opacity:0;transform:translateY(.6rem);transition:opacity .6s,transform .6s}
.surface-ai .ai-response-mark{color:#a8bfa7;margin-top:.15rem}
.surface-ai .ai-response strong{font-size:.88rem;font-weight:500}
.surface-ai .ai-response-text{font-size:.8rem;line-height:1.9;margin-top:.6rem;color:#8f9b92;min-height:3.25rem}
.surface-ai .ai-file-card{display:flex;align-items:center;gap:.65rem;margin-top:1.2rem;border:1px solid #ffffff14;background:#1d2320;padding:.8rem 1rem;border-radius:.4rem;min-width:18rem}
.surface-ai .ai-file-card>span{flex:1}
.surface-ai .ai-file-card strong{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.76rem;display:block;color:#d8e4d7}
.surface-ai .ai-file-card small{display:block;color:#758679;font-size:.65rem;margin-top:.15rem}
.surface-ai .ai-file-card>.surface-icon:last-child{color:#8ea98b;width:.95rem}
.surface-ai .ai-input{margin-top:auto;display:flex;justify-content:space-between;border:1px solid #ffffff14;border-radius:.65rem;padding:1rem 1.1rem;color:#69766d;font-size:.78rem}
.surface-ai .ai-input>span:last-child{font-size:.7rem}
.surface-ai .ai-editor{position:relative;min-width:0;background:#1b1f1c;border-left:1px solid #ffffff0e;display:flex;flex-direction:column}
.surface-ai .ai-editor>header{display:flex;align-items:center;gap:.5rem;height:3.1rem;padding:0 1.3rem;border-bottom:1px solid #ffffff0b;color:#9dab9e;font-size:.7rem}
.surface-ai .ai-editor>header strong{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.68rem;font-weight:400}
.surface-ai .ai-editor>header>span{margin-left:auto;color:#6d7c70;font-size:.63rem}
.surface-ai .ai-editor>footer{height:2.1rem;display:flex;align-items:center;justify-content:space-between;padding:0 1.2rem;color:#59695d;border-top:1px solid #ffffff0b;font-size:.55rem;margin-top:auto}
.surface-ai .ai-editor-idle{position:absolute;inset:3.1rem 0 2.1rem;padding:2rem 1.5rem;transition:opacity .7s}
.surface-ai .ai-code-lines{display:flex;flex-direction:column;gap:.8rem;color:#718377;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.68rem;white-space:pre}
.surface-ai .ai-code-glow{color:#b0c4b2}
.surface-ai .ai-result{position:absolute;inset:4.5rem 1rem 3.5rem;background:#fff;border-radius:.4rem;overflow:hidden;opacity:0;transform:translateY(1rem);transition:opacity .7s,transform .7s}
.surface-ai[data-ai-phase="done"] .ai-response,.surface-ai[data-ai-phase="done"] .ai-result{opacity:1;transform:none}
.surface-ai[data-ai-phase="done"] .ai-editor-idle{opacity:0}
.surface-ai[data-ai-phase="done"] .ai-processing{display:none}
/* Shared original exhibition screen, present in the editor and co wo. */
.surface-ai .booking-page,.surface-cowo .booking-page{height:100%;background:#faf8f1;color:#3c4032;overflow:hidden}
.surface-ai .booking-nav,.surface-cowo .booking-nav{display:flex;align-items:center;justify-content:space-between;height:3.8rem;padding:0 2rem;border-bottom:1px solid #dcdccd;font-size:.68rem}
.surface-ai .booking-nav strong,.surface-cowo .booking-nav strong{font-weight:650;letter-spacing:-.025em}
.surface-ai .booking-nav>span,.surface-cowo .booking-nav>span{display:flex;gap:1.3rem;color:#9a9b8d;font-size:.57rem}
.surface-ai .booking-nav-active,.surface-cowo .booking-nav-active{color:#4c5744}
.surface-ai .booking-layout,.surface-cowo .booking-layout{display:grid;grid-template-columns:.9fr 1fr;gap:2rem;padding:2.3rem 2rem;height:calc(100% - 3.8rem)}
.surface-ai .booking-art,.surface-cowo .booking-art{position:relative;overflow:hidden;min-height:0;background:#d9d3b3;padding:1.5rem 1.15rem;color:#414b36;border:1px solid #d0c9a6}
.surface-ai .booking-art-word,.surface-cowo .booking-art-word{font-family:Georgia,"Times New Roman",serif;font-size:3.2rem;line-height:.89;letter-spacing:-.18rem;position:relative;z-index:2}
.surface-ai .booking-art-word i,.surface-cowo .booking-art-word i{font-weight:400}
.surface-ai .booking-art-edition,.surface-cowo .booking-art-edition{font-size:.45rem;display:block;margin-top:1rem;position:relative;z-index:2}
.surface-ai .booking-art-bottom,.surface-cowo .booking-art-bottom{position:absolute;bottom:1.15rem;left:1.15rem;font-size:.43rem;line-height:1.7;letter-spacing:.02em;z-index:2}
.surface-ai .booking-sculpture,.surface-cowo .booking-sculpture{position:absolute;width:12rem;height:20rem;right:-2.5rem;bottom:-2rem;transform:rotate(17deg)}
.surface-ai .booking-sculpture i,.surface-cowo .booking-sculpture i{position:absolute;inset:0;border-radius:60% 50% 10% 30%;background:linear-gradient(115deg,#89915c 5%,#596940 45%,#2d402c 95%);box-shadow:inset 1rem 0 2rem #c5c38a55,1rem 1rem 1rem #39452e25}
.surface-ai .booking-sculpture b,.surface-cowo .booking-sculpture b{position:absolute;width:5rem;height:13rem;left:-3rem;bottom:-1rem;background:linear-gradient(100deg,#b1a97b,#767c47);border-radius:80% 30% 10% 15%;transform:rotate(-45deg);box-shadow:1rem 1rem 2rem #3d482d35}
.surface-ai .booking-form,.surface-cowo .booking-form{display:flex;flex-direction:column;min-width:0;padding:.1rem 0}
.surface-ai .booking-eyebrow,.surface-cowo .booking-eyebrow{font-size:.44rem;letter-spacing:.16em;color:#8b907b;margin-bottom:.55rem}
.surface-ai .booking-form h2,.surface-cowo .booking-form h2{font-size:1.65rem;letter-spacing:-.08em;font-weight:580;line-height:1.4;white-space:nowrap}
.surface-ai .booking-intro,.surface-cowo .booking-intro{font-size:.57rem;color:#969886;line-height:1.9;margin:.65rem 0 1.3rem}
.surface-ai .booking-form label,.surface-cowo .booking-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.6rem;font-weight:550;margin-bottom:1rem}
.surface-ai .booking-input,.surface-cowo .booking-input{border:1px solid #d4d7c8;background:#fffefa;border-radius:.3rem;min-height:2.7rem;display:flex;align-items:center;justify-content:space-between;padding:0 .8rem;font-size:.64rem;color:#69735c;font-weight:400;white-space:nowrap}
.surface-ai .booking-input .surface-icon,.surface-cowo .booking-input .surface-icon{width:.8rem;height:.8rem}
.surface-ai .booking-times,.surface-cowo .booking-times{display:flex;gap:.4rem;font-size:.62rem}
.surface-ai .booking-times>span,.surface-cowo .booking-times>span{flex:1;text-align:center;padding:.65rem .2rem;border:1px solid #d4d7c8;background:#fffefa;border-radius:.3rem;font-weight:400;color:#828c74}
.surface-ai .booking-times>.selected,.surface-cowo .booking-times>.selected{color:#fff;background:#5c6c4e;border-color:#5c6c4e}
.surface-ai .booking-quantity,.surface-cowo .booking-quantity{display:flex;gap:.95rem;align-items:center;font-size:.8rem;color:#9da38f}
.surface-ai .booking-quantity b,.surface-cowo .booking-quantity b{font-size:.65rem;font-weight:450;color:#4a5940}
.surface-ai .booking-submit,.surface-cowo .booking-submit{display:flex;align-items:center;justify-content:space-between;color:white;background:#4e6043;border-radius:.3rem;min-height:2.8rem;padding:0 .95rem;font-size:.7rem;margin-top:auto}
.surface-ai .booking-submit .surface-icon,.surface-cowo .booking-submit .surface-icon{width:.9rem}
.surface-ai .booking-footnote,.surface-cowo .booking-footnote{font-size:.43rem;text-align:center;color:#a4a58f;line-height:1.8;margin-top:.6rem;white-space:nowrap}
.surface-ai .revision-note,.surface-cowo .revision-note{display:none;align-items:center;gap:.4rem;color:#667553;background:#edf0df;border:1px solid #dde4cd;font-size:.54rem;line-height:1.6;padding:.45rem .55rem;border-radius:.25rem;margin:0 0 1rem;white-space:nowrap}
.surface-ai .revision-note>.surface-icon,.surface-cowo .revision-note>.surface-icon{width:.7rem;height:.7rem}
.surface-ai .booking-compact .booking-nav{height:2.5rem;padding:0 1rem;font-size:.5rem}
.surface-ai .booking-compact .booking-nav>span{font-size:.43rem;gap:.5rem}
.surface-ai .booking-compact .booking-layout{grid-template-columns:1fr;gap:1rem;padding:1rem;height:calc(100% - 2.5rem)}
.surface-ai .booking-compact .booking-art{display:none}
.surface-ai .booking-compact .booking-form{padding:1rem .7rem;max-width:20rem;margin:0 auto;width:100%}
.surface-ai .booking-compact .booking-form h2{font-size:1.65rem}
.surface-ai .booking-compact .booking-intro{font-size:.57rem;margin-bottom:1.5rem}
.surface-ai .booking-compact .booking-form label{font-size:.65rem;margin-bottom:1.15rem}
/* The exhibition image is built from live CSS geometry, with no bitmap dependency. */
.surface-ai .booking-scene,.surface-cowo .booking-scene{position:absolute;inset:27% 0 0;overflow:hidden;background:#e9e4d5;isolation:isolate}
.surface-ai .booking-scene>span,.surface-cowo .booking-scene>span{position:absolute;display:block}
.surface-ai .booking-scene-wall,.surface-cowo .booking-scene-wall{inset:0 0 28%;background:linear-gradient(108deg,#d7d3c4,#eeeadd 64%,#e0ddce)}
.surface-ai .booking-scene-sidewall,.surface-cowo .booking-scene-sidewall{right:0;top:0;bottom:27%;width:18%;background:#c9c9b6;clip-path:polygon(0 0,100% 0,100% 100%,0 82%)}
.surface-ai .booking-scene-floor,.surface-cowo .booking-scene-floor{inset:69% 0 0;background:linear-gradient(165deg,#b7b5a0,#d5cfb8);clip-path:polygon(0 0,82% 0,100% 31%,100% 100%,0 100%)}
.surface-ai .booking-scene-window,.surface-cowo .booking-scene-window{left:9%;top:15%;width:31%;height:49%;background:linear-gradient(120deg,#dee4db,#f2efe0);border:3px solid #dedccc;box-shadow:inset .15rem .1rem .3rem #85917c33,-.5rem 0 0 #c4c6b755}
.surface-ai .booking-scene-window:before,.surface-cowo .booking-scene-window:before{content:"";position:absolute;left:46%;top:0;bottom:0;width:3px;background:#c6cbbd}
.surface-ai .booking-scene-window:after,.surface-cowo .booking-scene-window:after{content:"";position:absolute;top:46%;left:0;right:0;height:3px;background:#c6cbbd}
.surface-ai .booking-scene-window>i,.surface-cowo .booking-scene-window>i{position:absolute;inset:0;background:linear-gradient(35deg,transparent 40%,#f7f7e99c 42%,transparent 78%)}
.surface-ai .booking-scene-window>b,.surface-cowo .booking-scene-window>b{position:absolute;left:-.3rem;right:-.3rem;bottom:-.3rem;height:.3rem;background:#b9bcae;box-shadow:0 .15rem .15rem #9fa28d33}
.surface-ai .booking-scene-light,.surface-cowo .booking-scene-light{left:8%;top:62%;width:59%;height:48%;background:linear-gradient(145deg,#f2e7bd9c,#f6edcf18);clip-path:polygon(0 0,56% 0,100% 100%,10% 100%);transform:skewY(-9deg)}
.surface-ai .booking-scene-light:before,.surface-cowo .booking-scene-light:before{content:"";position:absolute;left:31%;top:0;bottom:0;width:4%;background:#a2a28b33;transform:rotate(-9deg)}
.surface-ai .booking-scene-poster,.surface-cowo .booking-scene-poster{left:54%;top:14%;width:22%;height:36%;background:#c7caab;border:2px solid #efedde;box-shadow:.14rem .14rem .25rem #6d71502b;overflow:hidden}
.surface-ai .booking-scene-poster>i,.surface-cowo .booking-scene-poster>i{position:absolute;left:17%;top:12%;width:67%;height:42%;background:#727f4e;border-radius:50% 50% 0 0}
.surface-ai .booking-scene-poster>b,.surface-cowo .booking-scene-poster>b{position:absolute;left:17%;top:54%;width:67%;height:36%;background:#a89b6a;border-radius:0 0 50% 50%}
.surface-ai .booking-scene-poster>em,.surface-cowo .booking-scene-poster>em{position:absolute;top:13%;left:53%;width:2%;height:77%;background:#dce0c2;transform:rotate(14deg)}
.surface-ai .booking-scene-plinth,.surface-cowo .booking-scene-plinth{left:57%;bottom:11%;width:26%;height:28%;background:linear-gradient(90deg,#e9e5d6 0 75%,#bdbfad 75%);box-shadow:.5rem .4rem .5rem #71765a1c}
.surface-ai .booking-scene-plinth:before,.surface-cowo .booking-scene-plinth:before{content:"";position:absolute;left:0;right:0;top:-.5rem;height:.5rem;background:#f1eddd;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.surface-ai .booking-scene-object,.surface-cowo .booking-scene-object{left:62%;bottom:39%;width:15%;height:22%;border-radius:48% 48% 8% 8%;background:linear-gradient(100deg,#9a9c6e,#69764a 65%,#4e6340);box-shadow:inset .2rem 0 .4rem #c5c48d55,.2rem .15rem .25rem #58663e22;transform:rotate(-10deg)}
.surface-ai .booking-scene-object:after,.surface-cowo .booking-scene-object:after{content:"";position:absolute;width:39%;height:62%;left:31%;top:18%;border-radius:50% 50% 7% 7%;background:#d4d6b9;box-shadow:inset .1rem 0 .15rem #52634122}
.surface-ai .booking-art-word,.surface-cowo .booking-art-word{font-size:2.55rem;position:relative;line-height:.9}
.surface-ai .booking-art-edition,.surface-cowo .booking-art-edition{margin-top:.65rem;font-size:.4rem}
.surface-ai .booking-art-bottom,.surface-cowo .booking-art-bottom{color:#697054;font-size:.4rem}
/* Message-only desktop messenger. Every reveal stays in the same flowing layout. */
.surface-chat{--chat-room:#b7c5d0;--chat-sent-opacity:0;--chat-sent-y:12px;--chat-sent-scale:.97;--chat-in-opacity:0;--chat-in-y:10px;--chat-in-scale:.97;--chat-typing-opacity:0;--chat-draft-opacity:1;--chat-read-opacity:1;display:flex;background:var(--chat-room);color:#353b40}
.surface-chat[data-sent="true"]{--chat-sent-opacity:1;--chat-sent-y:0px;--chat-sent-scale:1;--chat-draft-opacity:0}
.surface-chat[data-typing-reply="true"]{--chat-typing-opacity:1}
.surface-chat[data-chat-reply="true"]{--chat-in-opacity:1;--chat-in-y:0px;--chat-in-scale:1;--chat-typing-opacity:0;--chat-read-opacity:0}
.surface-chat .chat-rail{width:3.2rem;flex:none;background:#ecebe6;border-right:1px solid #89949a24;display:flex;flex-direction:column;align-items:center;padding:1.4rem 0;gap:1.6rem;color:#8d9597}
.surface-chat .chat-logo{position:relative;width:1.35rem;height:1.15rem;margin-bottom:.8rem}
.surface-chat .chat-logo>i{position:absolute;inset:0;border-radius:45%;background:#757f83}
.surface-chat .chat-logo>b{position:absolute;bottom:-.16rem;left:.25rem;width:.4rem;height:.4rem;background:#757f83;clip-path:polygon(0 0,100% 0,0 100%)}
.surface-chat .chat-rail-item{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.5rem;opacity:.7}
.surface-chat .chat-rail-item.selected{color:#616f76;opacity:1}
.surface-chat .chat-rail-item>.surface-icon{width:1.2rem;height:1.2rem}
.surface-chat .chat-rail-bottom{margin-top:auto;width:1.65rem;height:1.65rem;border-radius:.55rem;background:#d6dcd5;color:#7d8a7d;display:grid;place-items:center;font-size:.64rem}
.surface-chat .chat-room{display:flex;flex:1;flex-direction:column;min-width:0;background:var(--chat-room)}
.surface-chat .chat-room>header{height:4.6rem;flex:none;display:flex;align-items:center;gap:.75rem;padding:0 1.55rem;border-bottom:1px solid #697c8a14;background:#bcc9d2}
.surface-chat .chat-avatar{position:relative;overflow:hidden;display:block;width:2.25rem;height:2.25rem;border-radius:.85rem;flex:none;background:#d9bdaa;border:1px solid #b9a99433}
.surface-chat .chat-avatar>i{position:absolute;width:.75rem;height:.83rem;border-radius:46% 46% 48% 48%;background:#f0d6bb;left:calc(50% - .375rem);top:.35rem;box-shadow:0 -.14rem 0 .08rem #66594d}
.surface-chat .chat-avatar>b{position:absolute;width:1.6rem;height:1.15rem;border-radius:50% 50% 0 0;background:#858c6b;left:calc(50% - .8rem);bottom:-.23rem}
.surface-chat .chat-room>header>div{min-width:0;flex:1}
.surface-chat .chat-room>header strong{display:block;font-size:.9rem;font-weight:600;color:#3c4850;letter-spacing:-.025em}
.surface-chat .chat-room>header small{display:block;font-size:.56rem;color:#81919c;margin-top:.12rem}
.surface-chat .chat-header-tools{display:flex;align-items:center;gap:1rem;color:#7c8d97}
.surface-chat .chat-header-tools>.surface-icon{width:.95rem;height:.95rem}
.surface-chat .chat-room-body{position:relative;flex:1;min-height:0;padding:1.2rem 1.65rem}
.surface-chat .chat-day{display:flex;justify-content:center;margin:0 0 2.3rem}
.surface-chat .chat-day>span{font-size:.53rem;color:#f1f3f3;background:#8e9faa55;border-radius:1rem;padding:.22rem .9rem;letter-spacing:-.015em}
.surface-chat .chat-message{font-size:.94rem;line-height:1.8;transition:opacity .48s cubic-bezier(.2,.8,.2,1),transform .56s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}
.surface-chat .chat-message.outgoing{display:flex;justify-content:flex-end;align-items:flex-end;gap:.45rem;margin:0 0 2rem 1.5rem;opacity:var(--chat-sent-opacity);transform:translateY(var(--chat-sent-y)) scale(var(--chat-sent-scale));transform-origin:100% 100%}
.surface-chat .chat-bubble{position:relative;width:max-content;max-width:100%;padding:.72rem 1rem;border-radius:.72rem;box-shadow:0 1px 1px #52657612;color:#3f4444;word-break:keep-all}
.surface-chat .outgoing .chat-bubble{max-width:19.5rem;background:#f5dc68;border-top-right-radius:.18rem;box-shadow:0 1px 1px #68775d15}
.surface-chat .outgoing .chat-bubble:after{content:"";position:absolute;right:-.34rem;top:.05rem;width:.5rem;height:.55rem;background:#f5dc68;clip-path:polygon(0 0,100% 0,0 100%)}
.surface-chat .chat-message-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;padding-bottom:.08rem;white-space:nowrap;flex:none;font-size:.48rem;line-height:1.4;color:#758895}
.surface-chat .chat-read-count{font-size:.55rem;color:#a49145;opacity:var(--chat-read-opacity);transition:opacity .4s}
.surface-chat .incoming{display:flex;gap:.65rem;align-items:flex-start;opacity:var(--chat-in-opacity);transform:translateY(var(--chat-in-y)) scale(var(--chat-in-scale));transform-origin:0 0}
.surface-chat .incoming>.chat-avatar{width:2rem;height:2rem;border-radius:.72rem;margin-top:.07rem}
.surface-chat .chat-incoming-content{min-width:0;flex:1}
.surface-chat .chat-incoming-content>strong{font-size:.64rem;color:#617380;font-weight:500;display:block;margin:0 0 .35rem .05rem}
.surface-chat .chat-incoming-line{display:flex;align-items:flex-end;gap:.45rem}
.surface-chat .incoming .chat-bubble{max-width:19.5rem;background:#f5f6f3;border-top-left-radius:.18rem}
.surface-chat .incoming .chat-bubble:before{content:"";position:absolute;left:-.34rem;top:.05rem;width:.5rem;height:.55rem;background:#f5f6f3;clip-path:polygon(0 0,100% 0,100% 100%)}
.surface-chat .incoming .chat-message-meta{align-items:flex-start}
.surface-chat .chat-typing{position:absolute;left:1.65rem;top:calc(7.7rem + 3.7rem);display:flex;gap:.65rem;align-items:center;opacity:var(--chat-typing-opacity);transform:translateY(calc((1 - var(--chat-typing-opacity))*6px));transition:opacity .35s,transform .5s}
.surface-chat .chat-typing>.chat-avatar{width:2rem;height:2rem;border-radius:.72rem}
.surface-chat .chat-typing-dots{display:flex;align-items:center;gap:.27rem;padding:.8rem 1.05rem;background:#edf1f0b8;border-radius:.65rem}
.surface-chat .chat-typing-dots>i{width:.28rem;height:.28rem;background:#91a0a6;border-radius:50%;opacity:.55}
.surface-chat .chat-typing-dots>i:nth-child(2){opacity:.85;transform:translateY(-.12rem)}
.surface-chat .chat-composer{position:relative;display:flex;align-items:flex-start;gap:.8rem;flex:none;min-height:5.7rem;padding:1.05rem 1.3rem;background:#fcfcfa;border-top:1px solid #99a7ae33}
.surface-chat .chat-draft{min-width:0;flex:1;white-space:pre-wrap;font-size:.84rem;line-height:1.8;color:#5f6a70;padding:.1rem 0;min-height:2.8rem;opacity:var(--chat-draft-opacity);transform:translateY(calc((1 - var(--chat-draft-opacity))*-3px));transition:opacity .22s,transform .3s}
.surface-chat .chat-draft:empty:before{content:"메시지 입력";color:#b5bcbd;font-size:.76rem}
.surface-chat .chat-send{align-self:center;border-radius:.35rem;padding:.47rem .85rem;background:#f3db72;color:#817339;font-size:.68rem;transition:background .25s,color .25s}
.surface-chat[data-sent="true"] .chat-send{background:#f0f0e9;color:#b6b9af}
/* Letter */
.surface-mail{display:flex;background:#f7f8fb;color:#3b4450}
.surface-mail .mail-sidebar{display:flex;flex-direction:column;width:15.1rem;padding:1.9rem 1rem;flex:none;background:#f5f6f8}
.surface-mail .mail-brand{display:flex;align-items:center;gap:.75rem;padding:.2rem .8rem;color:#4d624f}
.surface-mail .mail-brand>.surface-icon{width:1.55rem;height:1.55rem}
.surface-mail .mail-brand strong{font-size:1.55rem;font-weight:600;letter-spacing:-.08em}
.surface-mail .mail-compose{display:flex;align-items:center;gap:.65rem;padding:1rem 1.15rem;background:#dfe9df;border-radius:.9rem;margin:2rem .35rem 1.6rem;font-size:.8rem;color:#4c654f;font-weight:550;width:max-content;box-shadow:0 3px 5px #3c543008}
.surface-mail .mail-sidebar nav>span{display:flex;gap:.85rem;align-items:center;padding:.68rem 1rem;font-size:.75rem;color:#79838e;border-radius:1.4rem}
.surface-mail .mail-sidebar nav>.selected{background:#e8ecef;color:#46525e;font-weight:600}
.surface-mail .mail-sidebar nav .surface-icon{width:1rem;height:1rem}
.surface-mail .mail-sidebar nav b{margin-left:auto;font-size:.65rem;font-weight:500}
.surface-mail .mail-sidebar footer{display:flex;gap:.6rem;align-items:center;margin-top:auto;padding:.5rem .7rem}
.surface-mail .mail-sidebar footer strong{display:block;font-size:.7rem;font-weight:550}
.surface-mail .mail-sidebar footer small{display:block;font-size:.57rem;color:#9aa4ab}
.surface-mail .mail-user{width:1.95rem;height:1.95rem;background:#6b8068;border-radius:50%;color:#f1f4ee;display:grid;place-items:center;font-size:.78rem}
.surface-mail .mail-main{display:flex;flex-direction:column;min-width:0;flex:1}
.surface-mail .mail-topbar{height:4.8rem;display:flex;align-items:center;justify-content:space-between;padding:0 2.4rem}
.surface-mail .mail-topbar>div{display:flex;align-items:center;gap:.9rem;width:31rem;border-radius:.7rem;background:#eaeef2;padding:.8rem 1rem;color:#9ba6af;font-size:.75rem}
.surface-mail .mail-compose-window{background:#fff;border:1px solid #e3e7eb;box-shadow:0 10px 40px #263a5010;display:flex;flex-direction:column;flex:1;min-height:0;margin:1rem 3rem 2.5rem;border-radius:.65rem;overflow:hidden}
.surface-mail .mail-compose-window>header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fbfcfc;border-bottom:1px solid #eef0f2}
.surface-mail .mail-compose-window h1{font-size:.82rem;font-weight:550}
.surface-mail .mail-compose-window>header>div{display:flex;gap:.9rem;font-size:.8rem;color:#a8b0b7}
.surface-mail .mail-field{display:flex;gap:1.2rem;align-items:center;min-height:3.1rem;margin:0 1.6rem;border-bottom:1px solid #eef0f2;font-size:.75rem}
.surface-mail .mail-field>span{font-size:.68rem;color:#a4adb4;min-width:3.2rem}
.surface-mail .mail-field small{margin-left:auto;color:#adb5ba;font-size:.65rem}
.surface-mail .mail-recipient{color:#8a959c;font-size:.72rem;background:#f5f6f7;border:1px solid #e9edef;border-radius:1.2rem;padding:.28rem .65rem}
.surface-mail .mail-recipient b{color:#677680;font-weight:450}
.surface-mail .mail-subject strong{font-size:.8rem;font-weight:500;color:#56616b}
.surface-mail .mail-body{flex:1;min-height:0;padding:1.7rem 1.65rem;font-size:.88rem;line-height:1.95;color:#707b83}
.surface-mail .mail-body p{margin-bottom:1rem}
.surface-mail .mail-attachment{display:flex;align-items:center;gap:.85rem;border:1px solid #dfe5e8;background:#fbfcfc;border-radius:.4rem;width:22rem;padding:.85rem 1rem;margin-top:1.3rem;color:#72927b;transform-origin:center;}
.surface-mail .mail-attachment>.surface-icon{width:1.5rem;height:1.5rem}
.surface-mail .mail-attachment strong{display:block;font-family:ui-monospace,SFMono-Regular,monospace;font-weight:500;font-size:.8rem;color:#5c6d63}
.surface-mail .mail-attachment div>span{display:block;font-size:.6rem;color:#a5ada8}
.surface-mail .mail-attachment-close{margin-left:auto;color:#bac2bd;font-size:1rem}
.surface-mail .mail-compose-window>footer{display:flex;gap:1.25rem;align-items:center;padding:1.25rem 1.6rem;border-top:1px solid #f3f4f5;color:#9ba5ab}
.surface-mail .mail-send{display:flex;align-items:center;gap:1.4rem;background:#627b62;color:#fff;padding:.65rem 1.1rem;border-radius:.35rem;font-size:.75rem}
.surface-mail .mail-send .surface-icon{width:.65rem;height:.65rem}
.surface-mail .mail-compose-window>footer>.surface-icon{width:1rem;height:1rem}
.surface-mail .mail-format{font-size:.95rem;border-bottom:1px solid #aab3b6;line-height:1.1}
.surface-mail .mail-saved{font-size:.6rem;margin-left:auto;color:#b4bcc0}
/* co wo — matches the current restrained green review workspace. */
.surface-cowo{display:flex;background:#fff;color:#252b28;font-size:.8rem;line-height:1.6;--cowo-accent:#267459;--cowo-muted:#7c877c;--cowo-line:#e6e9e5}
.surface-cowo .cowo-sidebar{display:flex;flex-direction:column;width:13.3rem;flex:none;background:#f8f9f6;border-right:1px solid var(--cowo-line);padding:1.65rem .9rem 0}
.surface-cowo .cowo-brand{display:flex;align-items:center;justify-content:space-between;padding:0 .7rem}
.surface-cowo .cowo-brand strong{font-size:1.7rem;font-weight:760;letter-spacing:-.12rem;line-height:1}
.surface-cowo .cowo-brand>span{display:flex;padding-right:.1rem}
.surface-cowo .cowo-brand i{width:.8rem;height:.8rem;border:2px solid #528465;border-radius:.2rem;transform:rotate(-12deg)}
.surface-cowo .cowo-brand i+i{margin-left:-.3rem;transform:rotate(12deg)}
.surface-cowo .cowo-workspace{display:flex;align-items:center;gap:.55rem;padding:.65rem .6rem;background:#fff;border:1px solid var(--cowo-line);border-radius:.45rem;margin:1.8rem 0 1.35rem}
.surface-cowo .cowo-workspace-icon{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.4rem;background:#eef1e9;color:#697d62;font-size:.8rem}
.surface-cowo .cowo-workspace>div{flex:1;min-width:0}
.surface-cowo .cowo-workspace strong{display:block;font-size:.7rem;font-weight:550}
.surface-cowo .cowo-workspace small{display:block;color:#9aa392;font-size:.59rem}
.surface-cowo .cowo-workspace>.surface-icon{color:#87927c;width:.8rem;height:.8rem}
.surface-cowo .cowo-main-nav{display:grid;gap:.15rem;margin-bottom:1.45rem}
.surface-cowo .cowo-main-nav>span{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:.35rem;color:#6f796d;font-size:.73rem}
.surface-cowo .cowo-main-nav>span>.surface-icon{width:1rem;height:1rem;color:#819077}
.surface-cowo .cowo-main-nav>.active{background:#e8efe4;color:#47713e;font-weight:550}
.surface-cowo .cowo-main-nav b{font-size:.58rem;font-weight:450;color:#718368;background:#e7ede1;border-radius:.2rem;padding:0 .3rem;margin-left:auto}
.surface-cowo .cowo-nav-label{display:flex;justify-content:space-between;align-items:center;padding:0 .7rem;font-size:.59rem;color:#9ba28f;margin-bottom:.35rem}
.surface-cowo .cowo-nav-label>.surface-icon{width:.7rem;height:.7rem}
.surface-cowo .cowo-channel{display:flex;gap:.75rem;align-items:center;padding:.45rem .75rem;color:#9aa28d;font-size:.9rem}
.surface-cowo .cowo-channel>span{font-size:.68rem;color:#7b8674}
.surface-cowo .cowo-recent-label{margin-top:1.55rem;margin-bottom:.5rem}
.surface-cowo .cowo-recent{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:.35rem;font-size:.67rem;color:#929b86}
.surface-cowo .cowo-recent>.surface-icon{width:.9rem;height:.9rem;color:#8b967f}
.surface-cowo .cowo-recent.active{color:#546949;background:#edf1e7}
.surface-cowo .cowo-sidebar-bottom{margin-top:auto}
.surface-cowo .cowo-sidebar-bottom>span{display:flex;gap:.6rem;align-items:center;padding:.6rem .7rem;color:#939c86;font-size:.65rem}
.surface-cowo .cowo-sidebar-bottom>span>.surface-icon{width:.9rem;height:.9rem}
.surface-cowo .cowo-sidebar-bottom>div{display:flex;gap:.55rem;align-items:center;border-top:1px solid #e6eadf;padding:1rem .7rem;margin-top:.6rem}
.surface-cowo .cowo-sidebar-bottom>div>div{flex:1}
.surface-cowo .cowo-sidebar-bottom strong{font-weight:550;font-size:.68rem;display:block}
.surface-cowo .cowo-sidebar-bottom small{color:#929b88;font-size:.56rem;display:block}
.surface-cowo .cowo-sidebar-bottom>div>.surface-icon{width:.9rem;height:.9rem;color:#929b88}
.surface-cowo .cowo-avatar{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;font-size:.66rem;flex:none}
.surface-cowo .cowo-jun{background:#e1e9d9;color:#718261}
.surface-cowo .cowo-minseo{background:#eadbcb;color:#a3866a}
.surface-cowo .cowo-main{display:flex;flex:1;flex-direction:column;min-width:0}
.surface-cowo .cowo-topbar{height:3.4rem;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 1.6rem;border-bottom:1px solid var(--cowo-line);font-size:.66rem}
.surface-cowo .cowo-topbar>div{display:flex;gap:.9rem;align-items:center}
.surface-cowo .cowo-topbar>div>span:first-child{color:#939b89}
.surface-cowo .cowo-topbar i{font-style:normal;color:#c7cebf}
.surface-cowo .cowo-topbar strong{font-weight:450;color:#65705f}
.surface-cowo .cowo-topbar .surface-icon{color:#9ba58f;width:1rem;height:1rem}
.surface-cowo .cowo-topbar .cowo-avatar{width:1.7rem;height:1.7rem;margin-left:-.55rem;border:2px solid white}
.surface-cowo .cowo-work-header{height:4.15rem;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 1.6rem;gap:.75rem}
.surface-cowo .cowo-work-header>div{display:flex;align-items:center;gap:.65rem}
.surface-cowo .cowo-work-kind{width:1.85rem;height:1.85rem;display:grid;place-items:center;background:#eff2ea;color:#7c8c6c;border-radius:.4rem}
.surface-cowo .cowo-work-kind>.surface-icon{width:1rem;height:1rem}
.surface-cowo .cowo-work-header h1{font-size:1rem;font-weight:600;letter-spacing:-.045em}
.surface-cowo .cowo-status{font-size:.53rem;color:#9c9967;background:#f8f7eb;border:1px solid #eeecd6;border-radius:.25rem;padding:.1rem .4rem;margin-left:.15rem}
.surface-cowo .cowo-owner{font-size:.63rem;color:#87947a}
.surface-cowo .cowo-work-header button{display:flex;align-items:center;gap:.35rem;border:1px solid #dde4d5;border-radius:.35rem;padding:.4rem .6rem;color:#7c8a6f;font-size:.62rem}
.surface-cowo .cowo-work-header button>.surface-icon{width:.8rem;height:.8rem}
.surface-cowo .cowo-work-header>div>.surface-icon{color:#9ca78f;width:1rem;height:1rem}
.surface-cowo .cowo-result-switch{display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--cowo-line);height:3.25rem;padding:0 1.6rem;flex:none}
.surface-cowo .cowo-result-chip{display:flex;gap:.5rem;align-items:center;border:1px solid #b6c9aa;background:#f5f8f0;border-radius:.4rem;padding:.45rem .7rem;min-width:11.8rem;color:#6e8260}
.surface-cowo .cowo-result-chip strong{font-size:.65rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,monospace}
.surface-cowo .cowo-result-chip small{font-size:.52rem;color:#a7b19a;margin-left:auto}
.surface-cowo .cowo-result-chip>.surface-icon{width:.95rem;height:.95rem}
.surface-cowo .cowo-result-add{color:#b1bba3;padding:.4rem}
.surface-cowo .cowo-result-add>.surface-icon{width:.9rem;height:.9rem}
.surface-cowo .cowo-body{display:flex;flex:1;min-height:0;min-width:0}
.surface-cowo .cowo-result-area{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;background:#f5f6f2}
.surface-cowo .cowo-result-toolbar{height:2.8rem;display:flex;justify-content:space-between;align-items:center;padding:0 1.6rem;border-bottom:1px solid #e9ece3;background:white;flex:none}
.surface-cowo .cowo-result-toolbar>div:first-child{display:flex;gap:1.4rem;align-items:center;font-size:.62rem;color:#a3ac96;height:100%}
.surface-cowo .cowo-result-toolbar>div:first-child>span{height:100%;display:flex;align-items:center;position:relative}
.surface-cowo .cowo-result-toolbar .active{color:#668253;font-weight:550}
.surface-cowo .cowo-result-toolbar .active:after{content:"";height:2px;background:#7a9465;bottom:0;left:0;right:0;position:absolute}
.surface-cowo .cowo-version-select{display:flex;align-items:center;gap:.5rem;color:#88977a;font-size:.65rem}
.surface-cowo .cowo-version-select>.surface-icon{width:.65rem;height:.65rem}
.surface-cowo .cowo-upload{position:absolute;inset:5.2rem 3rem 4.5rem;border:1px dashed #cbd6bf;background:#f9faf6;border-radius:.65rem;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s,transform .5s;z-index:2}
.surface-cowo .cowo-upload-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;background:#ecf1e3;color:#8a9e77;border-radius:1rem;margin-bottom:1rem}
.surface-cowo .cowo-upload-icon>.surface-icon{width:1.55rem;height:1.55rem}
.surface-cowo .cowo-upload h2{font-size:1.1rem;font-weight:550;color:#637953;margin-bottom:.4rem}
.surface-cowo .cowo-upload>p{font-size:.7rem;color:#a3ad96}
.surface-cowo .cowo-upload-file{display:flex;align-items:center;gap:.75rem;border:1px solid #dce4d3;background:#fff;border-radius:.4rem;width:20rem;padding:.9rem 1.2rem;margin-top:1.65rem;color:#6e8b5b}
.surface-cowo .cowo-upload-file>div{flex:1}
.surface-cowo .cowo-upload-file strong{display:block;font-size:.8rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,monospace}
.surface-cowo .cowo-upload-file small{display:block;font-size:.6rem;color:#a6b098;margin-top:.15rem}
.surface-cowo .cowo-upload-file>.surface-icon:last-child{width:1rem;height:1rem}
.surface-cowo .cowo-upload>button{color:#fff;background:#668854;border-radius:.35rem;padding:.5rem 2rem;margin-top:1.5rem;font-size:.75rem}
.surface-cowo .cowo-upload>span{color:#b4bda9;font-size:.55rem;margin-top:1.1rem}
.surface-cowo .cowo-content{flex:1;min-height:0;margin:1.3rem 1.5rem 1rem;border:1px solid #e4e5d8;box-shadow:0 3px 12px #374b2710;opacity:0;transform:translateY(.5rem);transition:opacity .65s,transform .65s}
.surface-cowo .cowo-result-footer{height:1.65rem;padding:0 1.5rem;display:flex;align-items:center;gap:.45rem;color:#b0b8a4;font-size:.5rem;flex:none}
.surface-cowo .cowo-result-footer>span:first-child{display:flex;align-items:center;gap:.35rem}
.surface-cowo .cowo-result-footer .surface-icon{width:.65rem;height:.65rem}
.surface-cowo .cowo-result-footer>span:not(:first-child){margin-left:auto}
.surface-cowo .cowo-feedback{display:flex;flex-direction:column;width:17.9rem;flex:none;background:white;border-left:1px solid var(--cowo-line)}
.surface-cowo .cowo-feedback>header{height:2.8rem;display:flex;gap:1.3rem;align-items:center;border-bottom:1px solid var(--cowo-line);padding:0 1.05rem;flex:none;font-size:.69rem;color:#9fa88f}
.surface-cowo .cowo-feedback>header>span{height:100%;display:flex;align-items:center;gap:.4rem;position:relative}
.surface-cowo .cowo-feedback>header>.active{color:#6a8358;font-weight:550}
.surface-cowo .cowo-feedback>header>.active:after{position:absolute;content:"";height:2px;left:0;right:0;bottom:0;background:#6a8358}
.surface-cowo .cowo-feedback>header b{font-size:.5rem;background:#eef2e7;padding:0 .3rem;border-radius:.2rem;font-weight:450}
.surface-cowo .cowo-feedback>header>.surface-icon{margin-left:auto;color:#a2ad92;width:.9rem;height:.9rem}
.surface-cowo .cowo-feedback-filter{display:flex;align-items:center;gap:.65rem;padding:.8rem 1.05rem;font-size:.53rem;color:#a6af99;white-space:nowrap}
.surface-cowo .cowo-feedback-filter .active{color:#7e946a;background:#f0f4e8;padding:.12rem .35rem;border-radius:.2rem}
.surface-cowo .cowo-feedback-state{margin-left:auto;display:flex;align-items:center;gap:.25rem}
.surface-cowo .cowo-feedback-state>.surface-icon{width:.6rem;height:.6rem}
.surface-cowo .cowo-feedback-body{flex:1;min-height:0;padding:0 1.05rem}
.surface-cowo .cowo-feedback-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:6rem;color:#c2cbb7;font-size:.65rem;gap:.65rem}
.surface-cowo .cowo-feedback-empty>.surface-icon{width:1.5rem;height:1.5rem}
.surface-cowo .cowo-comment{display:none;padding:1rem .1rem;border-top:1px solid #f1f3ed}
.surface-cowo .cowo-comment-header{display:flex;align-items:center;gap:.4rem;color:#8b9a7a;font-size:.6rem}
.surface-cowo .cowo-comment-header>.cowo-avatar{width:1.45rem;height:1.45rem;font-size:.52rem}
.surface-cowo .cowo-comment-header strong{font-size:.63rem;color:#6e7b60;font-weight:550}
.surface-cowo .cowo-comment-header time{font-size:.5rem;color:#b1baa3;margin-left:auto}
.surface-cowo .cowo-pin{width:1rem;height:1rem;display:grid;place-items:center;border:1px solid #d8e0ca;border-radius:50%;color:#8b9c75;font-size:.5rem}
.surface-cowo .cowo-comment-check{display:none;color:#779467}
.surface-cowo .cowo-comment-check>.surface-icon{width:.9rem;height:.9rem}
.surface-cowo .cowo-anchor{display:flex;align-items:center;gap:.5rem;width:max-content;background:#f4f6ef;border:1px solid #e9ede2;border-radius:.25rem;padding:.2rem .45rem;font-size:.5rem;color:#9ba98b;margin:1rem 0 .55rem}
.surface-cowo .cowo-anchor>span{font-size:.44rem;background:#e8eddd;border-radius:.15rem;padding:0 .25rem}
.surface-cowo .cowo-comment>p{font-size:.77rem;line-height:1.95;color:#6b795f;word-break:keep-all}
.surface-cowo .cowo-comment-actions{display:flex;align-items:center;justify-content:space-between;color:#a3b08f;font-size:.54rem;margin-top:.9rem}
.surface-cowo .cowo-comment-actions>.surface-icon{width:.7rem;height:.7rem}
.surface-cowo .cowo-revision-reply{display:none;border-left:2px solid #dfe8d2;margin-top:1.1rem;padding:.1rem 0 .2rem .75rem;color:#a2ae91}
.surface-cowo .cowo-revision-reply>strong{font-size:.62rem;color:#7f916d;font-weight:550}
.surface-cowo .cowo-revision-reply>p{font-size:.62rem;line-height:1.9;margin:.25rem 0 .5rem}
.surface-cowo .cowo-revision-reply>span{font-size:.5rem;color:#819d6c;display:flex;align-items:center;gap:.25rem}
.surface-cowo .cowo-revision-reply .surface-icon{width:.6rem;height:.6rem}
.surface-cowo .cowo-version-activity{display:none;border-top:1px solid #f0f2e9;margin-top:.4rem;padding-top:.9rem;gap:.5rem;font-size:.53rem;color:#a4b191}
.surface-cowo .cowo-version-activity>.surface-icon{width:.7rem;height:.7rem;margin-top:.15rem}
.surface-cowo .cowo-version-activity strong{font-weight:500;color:#879c71}
.surface-cowo .cowo-version-activity small{display:block;color:#bac3ac;font-size:.46rem;margin-top:.2rem}
.surface-cowo .cowo-feedback-composer{position:relative;flex:none;height:7rem;border:1px solid #dfe5d7;border-radius:.45rem;margin:1rem;padding:.8rem;font-size:.63rem;color:#b3bea5}
.surface-cowo .cowo-feedback-composer button{position:absolute;right:.55rem;bottom:.55rem;display:grid;place-items:center;background:#749464;color:white;width:1.7rem;height:1.7rem;border-radius:.35rem}
.surface-cowo .cowo-feedback-composer button>.surface-icon{width:.8rem;height:.8rem}
.surface-cowo .cowo-version-v2,.surface-cowo .cowo-footer-v2{display:none}
.surface-cowo[data-cowo-phase="v1"] .cowo-upload,.surface-cowo[data-cowo-phase="feedback"] .cowo-upload,.surface-cowo[data-cowo-phase="v2"] .cowo-upload{opacity:0;transform:translateY(-.5rem);pointer-events:none}
.surface-cowo[data-cowo-phase="v1"] .cowo-content,.surface-cowo[data-cowo-phase="feedback"] .cowo-content,.surface-cowo[data-cowo-phase="v2"] .cowo-content{opacity:1;transform:none}
.surface-cowo[data-cowo-phase="feedback"] .cowo-comment,.surface-cowo[data-cowo-phase="v2"] .cowo-comment{display:block}
.surface-cowo[data-cowo-phase="feedback"] .cowo-feedback-empty,.surface-cowo[data-cowo-phase="v2"] .cowo-feedback-empty{display:none}
.surface-cowo[data-cowo-phase="v2"] .cowo-version-v1,.surface-cowo[data-cowo-phase="v2"] .cowo-footer-v1{display:none}
.surface-cowo[data-cowo-phase="v2"] .cowo-version-v2,.surface-cowo[data-cowo-phase="v2"] .cowo-footer-v2{display:inline}
.surface-cowo[data-cowo-phase="v2"] .revision-note{display:flex}
.surface-cowo[data-cowo-phase="v2"] .cowo-revision-reply{display:block}
.surface-cowo[data-cowo-phase="v2"] .cowo-version-activity{display:flex}
.surface-cowo[data-cowo-phase="v2"] .cowo-comment-check{display:inline-flex}
.surface-cowo[data-cowo-phase="v2"] .booking-intro{margin-bottom:.7rem}
.surface-cowo[data-cowo-phase="v2"] .booking-form label{margin-bottom:.7rem}
.surface-ai,.surface-chat,.surface-mail,.surface-cowo{container-type:size}
.surface-ai[data-revision="true"] .revision-note{display:flex}
.surface-mail[data-attached="false"] .mail-attachment{opacity:0;transform:translateY(.6rem)}
.surface-mail .mail-attachment{transition:opacity .4s,transform .4s}
@container (max-width: 650px){
  .surface-chat .chat-rail{width:2.8rem;padding:1.25rem 0;gap:1.5rem}
  .surface-chat .chat-room>header{height:4.1rem;padding:0 1.2rem;gap:.65rem}
  .surface-chat .chat-room>header>.chat-avatar{width:2rem;height:2rem;border-radius:.72rem}
  .surface-chat .chat-room>header strong{font-size:.85rem}
  .surface-chat .chat-header-tools{gap:.8rem}
  .surface-chat .chat-room-body{padding:1.1rem 1.3rem}
  .surface-chat .chat-day{margin-bottom:2rem}
  .surface-chat .chat-message{font-size:.9rem;line-height:1.85}
  .surface-chat .outgoing .chat-bubble{max-width:18.3rem}
  .surface-chat .incoming .chat-bubble{max-width:18rem}
  .surface-chat .chat-bubble{padding:.7rem .9rem}
  .surface-chat .chat-message.outgoing{margin-left:1.25rem;margin-bottom:1.9rem}
  .surface-chat .chat-typing{left:1.3rem;top:10.7rem}
  .surface-chat .chat-composer{min-height:5.5rem;padding:1rem 1.2rem;gap:.65rem}
  .surface-chat .chat-draft{font-size:.8rem;line-height:1.8}
  .surface-chat .chat-send{padding:.43rem .75rem;font-size:.64rem}
}
@container (max-height: 650px){
  .surface-ai .ai-conversation{padding:1.65rem 1.65rem 1.1rem}
  .surface-ai .ai-work-label{margin-bottom:.4rem;font-size:.55rem}
  .surface-ai .ai-conversation h1{font-size:1.35rem}
  .surface-ai .ai-prompt{margin-top:1.25rem;padding:1.1rem 1rem;font-size:.85rem;line-height:1.85}
  .surface-ai .ai-processing{margin:1.2rem .4rem;font-size:.65rem}
  .surface-ai .ai-response{padding:1.25rem .1rem;gap:.55rem}
  .surface-ai .ai-response strong{font-size:.8rem}
  .surface-ai .ai-response-text{font-size:.7rem;line-height:1.8;margin-top:.4rem;min-height:2.8rem}
  .surface-ai .ai-file-card{padding:.65rem .8rem;margin-top:.75rem;min-width:17rem}
  .surface-ai .ai-input{padding:.7rem .9rem;font-size:.7rem}
  .surface-ai .ai-result{inset:4rem 1rem 3rem}
  .surface-ai .booking-compact .booking-form{padding:.4rem .7rem}
  .surface-ai .booking-compact .booking-eyebrow{font-size:.42rem;margin-bottom:.35rem}
  .surface-ai .booking-compact .booking-form h2{font-size:1.4rem}
  .surface-ai .booking-compact .booking-intro{font-size:.5rem;margin:.45rem 0 .8rem}
  .surface-ai .booking-compact .booking-form label{font-size:.58rem;gap:.35rem;margin-bottom:.7rem}
  .surface-ai .booking-compact .booking-input{min-height:2.1rem;font-size:.58rem}
  .surface-ai .booking-compact .booking-times>span{padding:.45rem .1rem;font-size:.57rem}
  .surface-ai .booking-compact .booking-submit{min-height:2.25rem;font-size:.62rem}
  .surface-ai .booking-compact .booking-footnote{font-size:.4rem}
  .surface-ai .booking-compact .revision-note{font-size:.45rem;padding:.3rem .4rem;margin-bottom:.6rem}
  .surface-mail .mail-topbar{height:3.8rem}
  .surface-mail .mail-compose-window{margin:.7rem 2.3rem 1.75rem}
  .surface-mail .mail-compose-window>header{padding:.75rem 1.5rem}
  .surface-mail .mail-field{min-height:2.65rem}
  .surface-mail .mail-body{padding:1.1rem 1.65rem;font-size:.77rem;line-height:1.8}
  .surface-mail .mail-body p{margin-bottom:.65rem}
  .surface-mail .mail-attachment{margin-top:.75rem;padding:.65rem .85rem}
  .surface-mail .mail-compose-window>footer{padding:.9rem 1.6rem}
  .surface-cowo .cowo-sidebar{padding-top:1.3rem}
  .surface-cowo .cowo-workspace{margin:1.3rem 0 .9rem}
  .surface-cowo .cowo-main-nav{margin-bottom:.9rem}
  .surface-cowo .cowo-nav-label{margin-bottom:.2rem}
  .surface-cowo .cowo-recent-label{margin-top:1rem}
  .surface-cowo .cowo-topbar{height:3rem}
  .surface-cowo .cowo-work-header{height:3.5rem}
  .surface-cowo .cowo-result-switch{height:2.8rem}
  .surface-cowo .cowo-result-toolbar,.surface-cowo .cowo-feedback>header{height:2.5rem}
  .surface-cowo .cowo-content{margin:1rem 1.25rem .65rem}
  .surface-cowo .booking-nav{height:2.7rem;padding:0 1.25rem;font-size:.6rem}
  .surface-cowo .booking-nav>span{font-size:.49rem;gap:.8rem}
  .surface-cowo .booking-layout{height:calc(100% - 2.7rem);padding:1.1rem 1.25rem;gap:1.3rem}
  .surface-cowo .booking-art{padding:1.1rem .9rem}
  .surface-cowo .booking-art-word{font-size:2.8rem}
  .surface-cowo .booking-eyebrow{font-size:.39rem;margin-bottom:.35rem}
  .surface-cowo .booking-form h2{font-size:1.35rem}
  .surface-cowo .booking-intro{font-size:.48rem;margin:.4rem 0 .7rem;line-height:1.7}
  .surface-cowo .booking-form label{font-size:.52rem;gap:.22rem;margin-bottom:.5rem}
  .surface-cowo .booking-input{min-height:1.9rem;font-size:.55rem;padding:0 .65rem}
  .surface-cowo .booking-times{font-size:.55rem;gap:.3rem}
  .surface-cowo .booking-times>span{padding:.42rem .1rem}
  .surface-cowo .booking-submit{min-height:2rem;font-size:.6rem;padding:0 .75rem}
  .surface-cowo .booking-footnote{font-size:.35rem;margin-top:.3rem}
  .surface-cowo .revision-note{font-size:.44rem;padding:.3rem .4rem;margin-bottom:.55rem;gap:.3rem}
  .surface-cowo[data-cowo-phase="v2"] .booking-intro{margin-bottom:.5rem}
  .surface-cowo[data-cowo-phase="v2"] .booking-form label{margin-bottom:.4rem}
  .surface-cowo .cowo-upload{inset:4rem 2rem 3rem}
  .surface-cowo .cowo-upload-icon{width:2.7rem;height:2.7rem;margin-bottom:.75rem}
  .surface-cowo .cowo-upload h2{font-size:1rem}
  .surface-cowo .cowo-upload-file{margin-top:1rem;padding:.65rem 1rem}
  .surface-cowo .cowo-upload>button{margin-top:1rem}
  .surface-cowo .cowo-upload>span{margin-top:.65rem}
  .surface-cowo .cowo-feedback-composer{height:5rem;margin:.75rem 1rem}
  .surface-cowo .cowo-comment>p{font-size:.73rem;line-height:1.9}
  .surface-cowo .cowo-revision-reply{margin-top:.7rem}
}
/* Real input and submission states. The timeline may drive these as continuous values. */
.surface-ai{--submit-p:0;--context-p:0;--input-focus:0;--send-press:0}
.surface-ai[data-ai-submitted="true"]{--submit-p:1}
.surface-ai .ai-conversation{gap:0;min-height:0}
.surface-ai .ai-conversation h1{font-size:1.25rem;font-weight:550;line-height:1.5}
.surface-ai .ai-prompt{opacity:var(--submit-p,0);transform:translateY(calc((1 - var(--submit-p,0))*10px));transition:opacity .25s,transform .3s;font-size:.82rem;line-height:1.85;padding:1rem;min-height:5rem;margin-top:1.2rem}
.surface-ai .ai-prompt-text{white-space:pre-wrap}
.surface-ai .ai-prompt-text:after{opacity:0!important}
.surface-ai .ai-input{display:flex;flex-direction:column;align-items:stretch;margin-top:auto;gap:.55rem;min-height:5.3rem;padding:.75rem .85rem;background:#202522;border:1px solid color-mix(in srgb,#3c453e calc((1 - var(--input-focus,0))*100%),#899f89);box-shadow:0 0 0 calc(var(--input-focus,0)*2px) #91ae8b13}
.surface-ai .ai-composer-text{width:100%;min-height:2.5rem;max-height:5.2rem;overflow:hidden;white-space:pre-wrap;font-size:.79rem;line-height:1.8;color:#d5ddd4;outline:none;opacity:var(--composer-p,1)}
.surface-ai .ai-composer-text:empty:before{content:"Codex에 요청";color:#7b887e}
.surface-ai[data-ai-submitted="true"] .ai-composer-text:empty:before{content:"후속 요청"}
.surface-ai .ai-composer-text:not(:empty):after{content:"";display:inline-block;height:1.05em;vertical-align:-.12em;width:1px;background:#bfd0bb;margin-left:2px;opacity:var(--caret-p,1)}
.surface-ai .ai-input-toolbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.surface-ai .ai-input-toolbar>span{display:flex;gap:.4rem;align-items:center;font-size:.56rem;color:#718075;letter-spacing:0}
.surface-ai .ai-input-toolbar>span>.surface-icon{width:.72rem;height:.72rem}
.surface-ai .ai-input-toolbar b{font-weight:450;color:#8b9b8d}
.surface-ai .ai-input-toolbar i{font-style:normal;color:#4b594e}
.surface-ai .ai-send-button{display:grid;place-items:center;width:1.7rem;height:1.7rem;flex:none;border-radius:50%;background:#d5e0d2;color:#26352a;transform:scale(calc(1 - var(--send-press,0)*.1));box-shadow:0 0 0 calc(var(--send-press,0)*3px) #a6c39c22}
.surface-ai .ai-send-button>.surface-icon{width:1rem;height:1rem;stroke-width:1.9}
.surface-ai .ai-send-button:focus-visible,.surface-ai .ai-composer-text:focus-visible{outline:1px solid #a4c299;outline-offset:3px}
.surface-ai .ai-earlier-turn{max-height:0;opacity:0;overflow:hidden;font-size:.55rem;line-height:1.7;color:#7c8b7d;border-left:1px solid #475343;padding-left:.7rem;margin-top:0;flex:none}
.surface-ai[data-revision="true"] .ai-earlier-turn{max-height:4.6rem;opacity:1;margin-top:.7rem}
.surface-ai .ai-earlier-turn>span{font-size:.45rem;color:#657664}
.surface-ai .ai-earlier-turn>p{margin:.12rem 0;font-size:.58rem;color:#96a392}
.surface-ai .ai-earlier-turn>small{font-size:.51rem;display:flex;align-items:center;gap:.3rem;color:#6e856d}
.surface-ai .ai-earlier-turn .surface-icon{width:.6rem;height:.6rem}
.surface-ai .ai-context-call{max-height:calc(var(--context-p,0)*6rem);opacity:var(--context-p,0);overflow:hidden;flex:none;background:#1a231d;border:1px solid #63745b44;border-width:calc(var(--context-p,0)*1px);border-radius:.45rem;padding:calc(var(--context-p,0)*.6rem) .7rem;margin:calc(var(--context-p,0)*.55rem) 0 0;transform:translateY(calc((1 - var(--context-p,0))*5px))}
.surface-ai .ai-context-label{display:flex;align-items:center;gap:.4rem;font-size:.55rem;color:#91a48a}
.surface-ai .ai-context-label>.surface-icon{width:.75rem;height:.75rem}
.surface-ai .ai-context-label strong{font:500 .58rem ui-monospace,SFMono-Regular,monospace;color:#b1c6a6}
.surface-ai .ai-context-status{margin-left:auto;font-size:.5rem;color:#85a078}
.surface-ai .ai-context-scope{display:flex;gap:.35rem;margin:.4rem 0;font-size:.46rem;color:#7f9677;white-space:nowrap}
.surface-ai .ai-context-scope>span{padding:.12rem .3rem;background:#a1bd8810;border-radius:.2rem}
.surface-ai .ai-context-summary{font-size:.55rem;line-height:1.75;color:#9bad91;word-break:keep-all}
.surface-ai .ai-response{padding:.7rem 0;min-height:0;flex-shrink:1}
.surface-ai .ai-response-text{min-height:2.65rem;font-size:.72rem}
.surface-ai .ai-file-card{margin-top:.65rem;min-width:0;width:100%;padding:.6rem .75rem}
.surface-chat .chat-cowo-link{display:block;width:max-content;color:#5c85a7;text-decoration:underline;text-underline-offset:.13rem;font-size:.82rem;line-height:1.8;margin-top:.35rem}
/* Address confirmation is a chip, not a permanent field decoration. */
.surface-mail .mail-recipient{display:inline-flex;align-items:center;gap:.35rem;min-width:15rem;min-height:1.7rem;background:transparent;border:1px solid transparent;border-radius:1.2rem;padding:.15rem 0;transition:background .25s,border-color .25s,padding .25s}
.surface-mail .mail-recipient-text{font-size:.73rem;color:#5b6770;min-height:1.1em;white-space:pre}
.surface-mail .mail-recipient-text:empty:before{content:"이름 또는 이메일 주소";color:#b4bdc2;font-size:.68rem}
.surface-mail .mail-recipient-avatar{display:grid;place-items:center;width:0;height:1.25rem;border-radius:50%;overflow:hidden;background:#dfe8dc;color:#7a9172;font-size:.55rem;opacity:0;transition:opacity .25s,width .25s}
.surface-mail .mail-recipient-close{display:grid;place-items:center;width:0;overflow:hidden;opacity:0;transition:opacity .2s,width .2s;color:#a5b0b5}
.surface-mail .mail-recipient-close>.surface-icon{width:.65rem;height:.65rem}
.surface-mail[data-recipient-confirmed="true"] .mail-recipient{padding:.16rem .5rem .16rem .2rem;background:#f2f5f3;border-color:#dfe7df;min-width:0}
.surface-mail[data-recipient-confirmed="true"] .mail-recipient-avatar{width:1.25rem;opacity:1}
.surface-mail[data-recipient-confirmed="true"] .mail-recipient-close{width:1rem;opacity:1}
.surface-mail .mail-attachment{position:relative;overflow:hidden;background:#f7f9f7;border-color:#d8e2d8}
.surface-mail .mail-attachment>div{flex:1}
.surface-mail .mail-attachment-status{color:#8aa486;opacity:var(--mail-upload-p,0);margin-left:auto;display:flex;align-items:center}
.surface-mail .mail-attachment-status>.surface-icon{width:.8rem;height:.8rem}
.surface-mail .mail-attachment-close{display:grid;place-items:center;color:#9ba8a0;margin-left:.3rem;width:1.2rem;height:1.2rem;border-radius:.2rem}
.surface-mail .mail-attachment-close>.surface-icon{width:.75rem;height:.75rem}
.surface-mail .mail-saved{min-width:5rem;color:#9eaaa2}
.surface-mail .mail-body{color:#53616a}
.surface-mail .mail-body>p{white-space:pre-wrap}
/* Existing code artifact and an explicitly selected registered preview remain distinct. */
.surface-cowo .cowo-content{position:relative;background:#fff}
.surface-cowo .cowo-code-view,.surface-cowo .cowo-web-view{position:absolute;inset:0;transition:opacity .25s;overflow:hidden}
.surface-cowo .cowo-code-view{display:flex;flex-direction:column;background:#fcfdfb;opacity:1;pointer-events:auto}
.surface-cowo .cowo-web-view{opacity:0;pointer-events:none;display:flex;flex-direction:column}
.surface-cowo[data-view="preview"] .cowo-code-view{opacity:0;pointer-events:none}
.surface-cowo[data-view="preview"] .cowo-web-view{opacity:1;pointer-events:auto}
.surface-cowo .cowo-code-header{height:2.4rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #e9ede5;background:#f8faf6;padding:0 1rem;color:#839275;font-size:.6rem;flex:none}
.surface-cowo .cowo-code-header>.surface-icon{width:.85rem;height:.85rem}
.surface-cowo .cowo-code-header>strong{font:500 .63rem ui-monospace,SFMono-Regular,monospace;color:#637858}
.surface-cowo .cowo-code-header>span{margin-left:auto;font-size:.52rem;color:#a1ad95}
.surface-cowo .cowo-code-view pre{margin:0;padding:1rem 1.25rem;overflow:hidden;font: .64rem/1.95 ui-monospace,SFMono-Regular,monospace;color:#687f5c;counter-reset:source-line;tab-size:2}
.surface-cowo .cowo-code-view code>span{display:block;white-space:pre;counter-increment:source-line}
.surface-cowo .cowo-code-view code>span:before{content:counter(source-line);display:inline-block;width:1.5rem;margin-right:1rem;color:#bcc5b4;text-align:right;user-select:none;font-size:.55rem}
.surface-cowo .cowo-code-revision{opacity:0;max-height:0;overflow:hidden;background:#edf4e8;color:#537948}
.surface-cowo[data-cowo-phase="v2"] .cowo-code-revision{opacity:1;max-height:2rem}
.surface-cowo .cowo-preview-address{height:1.7rem;display:flex;align-items:center;gap:.4rem;padding:0 .9rem;background:#f5f7f1;border-bottom:1px solid #e4e9dc;color:#87967a;font-size:.5rem;flex:none}
.surface-cowo .cowo-preview-address>.surface-icon{width:.6rem;height:.6rem}
.surface-cowo .cowo-preview-address small{margin-left:auto;font-size:.44rem;color:#abb69b}
.surface-cowo .cowo-web-view>.booking-page{height:calc(100% - 1.7rem);min-height:0;flex:1}
.surface-cowo .cowo-preview-tab{display:flex;align-items:center;gap:.4rem;border:1px solid #e0e6d8;border-radius:.4rem;padding:.45rem .65rem;color:#8c9b7e;font-size:.61rem;background:#fff}
.surface-cowo .cowo-preview-tab>.surface-icon{width:.8rem;height:.8rem}
.surface-cowo .cowo-preview-tab small{font-size:.43rem;color:#aeb99f}
.surface-cowo[data-view="preview"] .cowo-preview-tab{border-color:#b6c9aa;background:#f5f8f0;color:#6e8260}
.surface-cowo[data-view="preview"] .cowo-result-chip{border-color:#e0e6d8;background:#fff;color:#8c9b7e}
.surface-cowo .cowo-result-controls{display:flex;align-items:center;gap:.9rem}
.surface-cowo .cowo-result-upload{width:1.6rem;height:1.6rem;border-radius:.25rem;color:#92a084;display:grid;place-items:center;background:#f7f9f3}
.surface-cowo .cowo-result-upload>.surface-icon{width:.85rem;height:.85rem}
/* File import uses the same small dialog for initial and revised source files. */
.surface-cowo .cowo-upload{inset:auto;top:3.35rem;left:50%;translate:-50% 0;width:min(28rem,calc(100% - 3rem));min-height:19.5rem;height:auto;display:flex;align-items:stretch;justify-content:flex-start;padding:0 1.35rem 1.2rem;background:#fff;border:1px solid #dce4d5;border-radius:.65rem;box-shadow:0 14px 40px #34432b1a;--upload-ready:0;--file-chosen:0}
.surface-cowo[data-upload-state="selected"] .cowo-upload,.surface-cowo[data-upload-state="uploading"] .cowo-upload,.surface-cowo[data-upload-state="ready"] .cowo-upload{--file-chosen:1}
.surface-cowo[data-upload-state="ready"] .cowo-upload{--upload-ready:1}
.surface-cowo .cowo-upload-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0 .8rem;color:#6b7b60}
.surface-cowo .cowo-upload h2{font-size:.95rem;font-weight:600;margin:0;color:#56684b}
.surface-cowo .cowo-upload-close{display:grid;place-items:center;color:#a4b096;width:1.5rem;height:1.5rem}
.surface-cowo .cowo-upload-close>.surface-icon{width:.9rem;height:.9rem}
.surface-cowo .cowo-import-tabs{display:flex;gap:1.25rem;border-bottom:1px solid #e9eee2;margin-bottom:1.05rem;height:2.2rem;flex:none}
.surface-cowo .cowo-import-tab{position:relative;font-size:.65rem;display:flex;align-items:center;color:#a3af95;padding:0 .1rem .55rem}
.surface-cowo .cowo-import-tab.active{color:#6d885b;font-weight:550}
.surface-cowo .cowo-import-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#799568}
.surface-cowo .cowo-import-file{display:grid;grid-template-columns:1fr auto;gap:.5rem .9rem;align-items:center}
.surface-cowo .cowo-import-file>label{font-size:.64rem;color:#7c8e6d}
.surface-cowo .cowo-choose-file{display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid #d6dfcc;border-radius:.3rem;background:#f9fbf6;padding:.4rem .7rem;font-size:.63rem;color:#7c916a}
.surface-cowo .cowo-choose-file>.surface-icon{width:.8rem;height:.8rem}
.surface-cowo .cowo-file-support{grid-column:1 / -1;color:#adb9a0;font-size:.5rem;margin-bottom:.1rem}
.surface-cowo .cowo-upload-file{position:relative;display:flex;align-items:center;gap:.65rem;width:100%;min-height:3.45rem;margin:1rem 0 .9rem;padding:.7rem .9rem;border:1px solid #dfe6d7;background:#f8fbf5;border-radius:.35rem;opacity:var(--file-chosen,0);color:#779167;overflow:hidden}
.surface-cowo .cowo-upload-file>div{flex:1}
.surface-cowo .cowo-upload-file strong{font:500 .72rem ui-monospace,SFMono-Regular,monospace;color:#617b52}
.surface-cowo .cowo-upload-file small{position:relative;display:block;font-size:.53rem;height:1rem;line-height:1.7;margin-top:.15rem;color:#a2b18e}
.surface-cowo .cowo-upload-selected-label{opacity:calc(1 - var(--upload-ready,0))}
.surface-cowo .cowo-upload-ready-label{position:absolute;left:0;top:0;color:#7e9b68;opacity:var(--upload-ready,0)}
.surface-cowo .cowo-upload-check{opacity:var(--upload-ready,0);width:.95rem;height:.95rem;color:#789b62}
.surface-cowo .cowo-upload-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#edf2e7}
.surface-cowo .cowo-upload-progress>i{display:block;width:calc(var(--upload-p,0)*100%);height:100%;background:#8daa79}
.surface-cowo .cowo-upload>button{align-self:flex-end;width:auto;min-width:4.2rem;margin:0;padding:.45rem 1.2rem;background:#668652;color:white;border-radius:.35rem;font-size:.68rem;opacity:calc(.4 + var(--file-chosen,0)*.6)}
.surface-cowo[data-upload-mode="revision"] .cowo-upload{top:3.35rem}
.surface-cowo .cowo-choose-file:focus-visible,.surface-cowo .cowo-preview-tab:focus-visible,.surface-cowo .cowo-upload>button:focus-visible{outline:2px solid #8ea879;outline-offset:3px}
.surface-cowo .cowo-result-upload:hover,.surface-cowo .cowo-choose-file:hover{background:#eef4e7;color:#597a43}
