/* CIVIC ATELIER · A self-contained, framework-free interface.
   No form content is transmitted or saved. Integration notes are at the end. */
:root{
  color-scheme:light;
  --bg:#f6f7f3;--surface:#fff;--surface-soft:#edf1eb;--surface-tint:#fafaf6;
  --ink:#1b2c32;--text:#35494e;--muted:#5c6d6a;--placeholder:#5c6d6a;--line:#dde3db;
  --nav-bg:rgba(246,247,243,.89);--gold:#bd9b56;--gold-soft:#ead8ad;--gold-text:#8a6830;
  --green:#466d60;--green-soft:#eaf3ec;--deep:#122632;--deep-2:#1b3841;
  --shadow:0 12px 40px -24px rgba(24,49,40,.27);--shadow-hover:0 28px 62px -30px rgba(24,49,40,.3);
  --r-lg:28px;--r-md:20px;--r-sm:12px;--ease:cubic-bezier(.22,1,.36,1);
  --font:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
html[data-theme="dark"]{
  color-scheme:dark;--bg:#101b22;--surface:#192930;--surface-soft:#203339;--surface-tint:#1c2e34;
  --ink:#f0f1e9;--text:#d0dad5;--muted:#a7b9b1;--placeholder:#a7b9b1;--line:#35494d;
  --nav-bg:rgba(16,27,34,.92);--gold:#d4b675;--gold-text:#e0c487;
  --green:#9ecab6;--green-soft:#223e36;--shadow:0 12px 40px -24px rgba(0,0,0,.6);
  --shadow-hover:0 28px 62px -30px rgba(0,0,0,.65);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .35s,color .35s;word-break:keep-all;overflow-wrap:anywhere}
::selection{background:#ddc591;color:#142733}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--ink)}button{border:0}svg{display:block}button svg,a svg{flex-shrink:0}img{max-width:100%}fieldset{min-width:0;padding:0;margin:0;border:0}legend{padding:0}textarea{resize:vertical}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button[hidden],[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-70px;left:20px;background:var(--surface);color:var(--ink);padding:12px 20px;border-radius:10px;z-index:1000}.skip-link:focus{top:12px}
.icon{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.sm{width:17px;height:17px}.icon.lg{width:27px;height:27px}.icon.xl{width:34px;height:34px}
.shell{width:min(1360px,calc(100% - 80px));margin-inline:auto}.scroll-track{position:fixed;inset:0 0 auto;height:3px;background:transparent;z-index:101;pointer-events:none}.scroll-track span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#ac965f,#e6c786,#5c9687)}
.site-header{position:sticky;top:0;z-index:80;background:var(--nav-bg);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}.site-header.scrolled{border-color:var(--line);box-shadow:0 4px 24px -20px #11273280}.header-inner{min-height:98px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0}.brand-mark{width:46px;height:46px;border:1px solid var(--gold);border-radius:15px;display:grid;place-items:center;color:var(--gold-text);background:linear-gradient(140deg,var(--surface),var(--surface-soft));position:relative}.brand-mark svg{width:28px;height:28px;transition:transform .8s var(--ease)}.brand:hover .brand-mark svg{transform:rotate(90deg)}.brand-name{color:var(--ink);font-size:20px;font-weight:800;letter-spacing:.025em;line-height:1.2}.brand-meta{display:block;margin-top:5px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.01em}.desktop-nav{display:flex;gap:29px;align-items:center;margin-left:auto;white-space:nowrap}.nav-link{position:relative;font-size:13px;font-weight:650;color:var(--muted);padding:13px 0;transition:color .25s}.nav-link:after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.header-tools{display:flex;align-items:center;gap:8px;margin-left:12px}.icon-button{width:39px;height:39px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);transition:background .25s,transform .3s,border-color .25s;flex-shrink:0}.icon-button:hover{background:var(--surface-soft);transform:translateY(-2px);border-color:var(--gold)}.header-preview{font-size:10px;letter-spacing:.08em;font-weight:700;color:var(--gold-text);border:1px solid var(--line);border-radius:50px;padding:7px 10px;white-space:nowrap;background:transparent}.header-preview:hover{background:var(--surface-soft)}.menu-button{display:none}.mobile-menu{display:none;border-top:1px solid var(--line);padding:12px 0 18px}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);font-size:15px}.sun-icon{display:none}html[data-theme="dark"] .sun-icon{display:block}html[data-theme="dark"] .moon-icon{display:none}.play-icon{display:none}html[data-motion="off"] .pause-icon{display:none}html[data-motion="off"] .play-icon{display:block}
/* HERO / animated editorial composition */
.hero{position:relative;isolation:isolate;border-radius:32px;overflow:hidden;background:#122632;color:#d2dfdb;margin-top:16px;box-shadow:0 24px 60px -40px #102f36aa;border:1px solid #36505a;--mx:55%;--my:35%}.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 83% 30%,#36675566 0,transparent 43%),radial-gradient(ellipse at 50% 90%,#35627c40,transparent 50%),linear-gradient(115deg,#142733,#122b34 58%,#18352f)}.hero:after{content:"";position:absolute;inset:0;opacity:.11;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.55' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-aurora{position:absolute;width:610px;height:610px;right:-130px;top:-300px;border-radius:50%;background:conic-gradient(from 80deg,transparent,#aeae6760,transparent,#5c9f9f55,transparent);filter:blur(65px);z-index:-2;animation:aurora-turn 30s linear infinite;opacity:.75}.hero-spotlight{position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx) var(--my),#b7d4a60a,transparent 70%);pointer-events:none;z-index:-1}.hero-grid-lines{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.16;background-image:linear-gradient(#6c8d781a 1px,transparent 1px),linear-gradient(90deg,#6c8d781a 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-main{display:grid;grid-template-columns:1.09fr 1fr;align-items:center;gap:26px;padding:60px 58px 42px;min-height:525px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.12em;color:#d8c89f;margin-bottom:23px}.eyebrow .eyebrow-dot{width:6px;height:6px;display:inline-block;background:#d8c89f;border-radius:50%;box-shadow:0 0 0 5px #d8c89f10}.hero h1{font-size:clamp(48px,5.15vw,78px);line-height:1.19;letter-spacing:-.055em;font-weight:750;color:#f8f8f0}.hero h1 .hero-emphasis{display:inline-block;font-family:var(--font);font-weight:750;background:linear-gradient(100deg,#f2e0ad 6%,#cfb575 49%,#f5ecd3 75%,#cfb575);background-size:220% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gold-flow 9s ease-in-out infinite}.hero h1 .serif-dot{font-family:var(--serif);font-weight:400;margin-left:.02em}.hero-description{font-size:15px;line-height:1.95;max-width:450px;color:#b9ccc8;margin-top:22px;letter-spacing:-.01em}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:11px;min-height:50px;padding:13px 22px;font-size:14px;font-weight:700;line-height:1.4;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s,background .3s;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button svg{transition:transform .3s var(--ease)}.button:hover>.icon:last-child{transform:translateX(3px)}.button-gold{background:linear-gradient(120deg,#f0deb3,#d9bd80);color:#22322f;box-shadow:0 8px 22px -12px #e8cf8c80}.button-gold:before{content:"";position:absolute;inset:-100% -60%;background:linear-gradient(105deg,transparent 35%,#fff8 49%,transparent 60%);transform:translateX(-70%);transition:transform .7s var(--ease);z-index:-1}.button-gold:hover:before{transform:translateX(70%)}.button-ink{background:linear-gradient(115deg,#213f43,#122a32);color:#fff;box-shadow:0 9px 23px -13px #102d42aa}.button-ink:hover{box-shadow:0 14px 28px -14px #183f42bb}.button-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.button-ghost:hover{background:var(--surface-soft)}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);font-weight:650;background:transparent;padding:8px 0;transition:color .2s,gap .3s}.text-link:hover{color:var(--gold-text);gap:13px}.hero .text-link{color:#d4dfd8}.hero .text-link:hover{color:#f2dfb0}.hero-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#b8c9c4;margin-top:22px}.hero-note .icon{width:14px;height:14px}
.orbit-scene{position:relative;width:100%;max-width:490px;height:370px;justify-self:center;transform:perspective(900px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .65s var(--ease);pointer-events:none}.orbital-ring{position:absolute;width:310px;height:310px;border:1px solid #acc9ac26;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbital-ring.ring-2{width:366px;height:366px;border:1px dashed #acc9ac22;animation:orbit-spin 65s linear infinite}.orbital-ring.ring-3{width:410px;height:220px;border:1px solid #d6bf872b;transform:translate(-50%,-50%) rotate(-26deg)}.ring-dot{position:absolute;inset:0;border-radius:50%;animation:orbit-spin 18s linear infinite}.ring-dot:before{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#decb97;box-shadow:0 0 16px #e5c68e88}.ring-dot.second{animation-duration:29s;animation-direction:reverse}.ring-dot.second:before{background:#8acabc;box-shadow:0 0 15px #8acabc88;width:4px;height:4px}.orbit-routes{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#d2c08a;stroke-width:.7;opacity:.65}.route-track{stroke-dasharray:2 8;animation:route-flow 8s linear infinite}.star-decoration{position:absolute;width:13px;height:13px;color:#ccba89;animation:twinkle 5s ease-in-out infinite}.star-one{top:41px;left:112px}.star-two{right:34px;top:234px;animation-delay:-2s;width:8px;height:8px}.star-three{left:77px;bottom:27px;animation-delay:-3s;width:9px;height:9px}.orbital-core{position:absolute;left:50%;top:50%;width:182px;height:190px;transform:translate(-50%,-50%);border:1px solid #cee1c537;border-radius:30px;background:linear-gradient(135deg,#69908029,#132b35a6 65%);box-shadow:inset 0 1px 0 #f7f7cf19,0 30px 60px -25px #061b25ab;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.core-emblem{width:79px;height:66px;filter:drop-shadow(0 6px 20px #dfce9850)}.core-label{font-size:17px;letter-spacing:.04em;color:#f2ead2;font-weight:700}.core-meta{font-size:9px;color:#afc5bd;letter-spacing:.23em;margin-top:-7px}.core-halo{position:absolute;width:124px;height:124px;border-radius:50%;background:#c9d39629;filter:blur(38px);top:12px;animation:halo-breathe 7s ease-in-out infinite;z-index:-1}.orbit-card{position:absolute;border:1px solid #dce3cb33;border-radius:15px;background:linear-gradient(135deg,#456257ad,#24414ad9);backdrop-filter:blur(14px);box-shadow:0 12px 35px -10px #071c3180,inset 0 1px 0 #ffffff0d;display:flex;align-items:center;gap:10px;padding:13px 16px;min-height:65px;animation:float-soft 7s ease-in-out infinite}.orbit-card .small-icon{width:32px;height:32px;background:#e4d5ac16;border:1px solid #e7dba022;border-radius:10px;display:grid;place-items:center;color:#e4d4a4}.orbit-card strong{display:block;font-size:12px;color:#eaf0df;font-weight:650}.orbit-card small{font-size:9px;color:#b2c9c0;letter-spacing:.04em;display:block;margin-top:1px}.orbit-card.card-voice{right:12px;top:22px}.orbit-card.card-organize{left:0;top:125px;animation-delay:-3s}.orbit-card.card-connect{right:13px;bottom:20px;animation-delay:-5s}.voice-wave{display:flex;align-items:center;gap:2.7px;height:16px;margin-top:6px}.voice-wave span{width:2px;height:4px;background:#d9d6a7;border-radius:2px;animation:wave 1.7s ease-in-out infinite}.voice-wave span:nth-child(2n){animation-delay:-.4s}.voice-wave span:nth-child(3n){animation-delay:-.8s}.voice-wave span:nth-child(4n){animation-delay:-1.2s}.orbit-caption{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);color:#b3c5ba;font-family:var(--serif);font-style:italic;font-size:12px;white-space:nowrap;letter-spacing:.04em}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #bfd3b423;padding:21px 58px;background:#17333845;gap:30px}.hero-step{display:flex;align-items:center;gap:15px}.hero-step+.hero-step{border-left:1px solid #b9c8b420;padding-left:28px}.hero-step-number{font-family:var(--serif);font-size:31px;line-height:1;color:#c4b68d;font-style:italic}.hero-step-title{color:#e6eadc;font-size:12px;font-weight:650;display:block;letter-spacing:.02em}.hero-step-desc{color:#a9bdb6;font-size:10px;display:block;margin-top:3px}
.benefit-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 20px;border-bottom:1px solid var(--line)}.benefit{display:flex;gap:13px;align-items:center;justify-content:center}.benefit-icon{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--green)}.benefit strong{color:var(--ink);font-size:13px;font-weight:700;display:block}.benefit p{font-size:11px;color:var(--muted);margin-top:3px}
/* SHARED SECTION LANGUAGE */
.content-section{padding-top:84px;scroll-margin-top:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:29px}.section-kicker{display:flex;align-items:center;gap:10px;color:var(--gold-text);font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:14px}.section-kicker:before{content:"";width:23px;height:1px;background:var(--gold)}.section-heading h2{font-size:34px;font-weight:720;line-height:1.4;letter-spacing:-.045em}.section-heading h2 .soft{font-weight:400;color:var(--muted)}.section-heading .heading-note{font-size:12px;color:var(--muted);max-width:230px;text-align:right;line-height:1.9}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:50px;background:var(--surface);color:var(--muted);padding:6px 11px;font-size:10px;font-weight:650;white-space:nowrap}.pill .icon{width:13px;height:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.hover-card{position:relative;isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;overflow:hidden}.hover-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--px,50%) var(--py,50%),#d4c38b12,transparent 70%);opacity:0;transition:opacity .4s;z-index:-1}.hover-card:hover:after{opacity:1}.hover-card:hover{box-shadow:var(--shadow-hover);border-color:#bfaa7490}.fine-rule{border:0;border-top:1px solid var(--line);margin:24px 0}
/* FORM */
.write-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:24px;align-items:start}.entry-card{padding:31px 32px 28px}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.card-topline h3{font-size:17px;font-weight:700;letter-spacing:-.035em;display:flex;align-items:center;gap:9px}.card-topline h3 .icon{color:var(--gold-text)}.small-note{font-size:10px;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.field-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink);font-weight:700;margin-bottom:9px}.optional{font-size:10px;font-weight:450;color:var(--muted)}.input-wrap{position:relative}.input-wrap>.icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none}.field-input{width:100%;height:49px;background:var(--surface-tint);border:1px solid var(--line);border-radius:11px;padding:12px 14px 12px 42px;font-size:13px;color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s}.field-input::placeholder,textarea::placeholder{color:var(--placeholder)}.field-input:hover{border-color:#a8b8ae}.field-input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #bda56c17;background:var(--surface)}.topic-field{margin-bottom:24px}.topic-options{display:flex;gap:7px;flex-wrap:wrap}.topic-option{position:relative;cursor:pointer}.topic-option input{position:absolute;opacity:0;width:1px;height:1px}.topic-option>span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px;color:var(--muted);font-weight:550;transition:background .25s,border-color .25s,transform .25s,color .25s}.topic-option .icon{width:14px;height:14px}.topic-option:hover>span{border-color:var(--gold);transform:translateY(-2px)}.topic-option input:checked+span{color:var(--ink);background:var(--surface-soft);border-color:var(--gold);box-shadow:inset 0 0 0 .5px var(--gold)}.topic-option input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.textarea-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.textarea-heading label{margin:0}.sample-button{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:var(--gold-text);background:var(--surface-soft);border:1px solid var(--line);padding:5px 9px;border-radius:6px;transition:background .3s}.sample-button:hover{background:var(--surface)}.sample-button .icon{width:12px;height:12px}.textarea-shell{position:relative}textarea{display:block;width:100%;min-height:181px;max-height:600px;border-radius:12px;border:1px solid var(--line);background:var(--surface-tint);padding:16px 17px;line-height:1.9;font-size:13px;color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s}textarea[aria-invalid="true"],.field-input[aria-invalid="true"]{border-color:#b96152;box-shadow:0 0 0 3px #b9615210}.input-meta{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-top:9px;font-size:10px;color:var(--muted)}.char-count{white-space:nowrap;font-variant-numeric:tabular-nums}.char-count strong{font-weight:650;color:var(--ink)}.char-count.near-limit,.char-count.near-limit strong{color:var(--gold-text)}.error-text{font-size:12px;color:#b24d42;margin-top:9px}.form-actions{display:flex;gap:13px;margin-top:22px;align-items:center}.submit-button{flex:1;min-height:51px;gap:9px;font-size:13px}.demo-tag{font-size:9px;background:#cbe1d719;color:#d9e8df;font-weight:500;border:1px solid #d0e1d22b;border-radius:4px;padding:2px 5px;margin-left:2px}.reset-button{width:48px;height:49px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);display:grid;place-items:center;transition:background .25s,transform .3s}.reset-button:hover{background:var(--surface-soft)}.reset-button:hover svg{transform:rotate(-30deg)}.submit-spinner{width:18px;height:18px;border:2px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:spin .85s linear infinite;display:none}.submit-button[aria-busy="true"] .submit-spinner{display:block}.submit-button[aria-busy="true"] .send-icon{display:none}.local-note{display:flex;align-items:flex-start;justify-content:center;gap:5px;font-size:10px;color:var(--muted);margin-top:13px;line-height:1.7;text-align:center}.local-note .icon{width:12px;height:12px;position:relative;top:2px}.loading-line{height:3px;background:var(--line);border-radius:5px;margin-top:15px;overflow:hidden}.loading-line>span{display:block;background:linear-gradient(90deg,#b5a36c,#719483);height:100%;width:0;transition:width .55s var(--ease)}.form-aside{display:grid;gap:18px}.writing-guide{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 27px}.guide-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--gold-text)}.guide-label span{font-size:9px;font-weight:700;letter-spacing:.18em}.guide-label>.icon{width:27px;height:27px}.writing-guide h3{font-size:21px;line-height:1.5;letter-spacing:-.05em;font-weight:650}.guide-rows{margin-top:22px;display:grid;gap:16px}.guide-row{display:flex;align-items:flex-start;gap:12px}.guide-number{font-family:var(--serif);color:var(--gold-text);font-size:19px;font-style:italic;line-height:1.6;min-width:19px}.guide-row strong{font-size:12px;color:var(--ink);font-weight:650;display:block}.guide-row p{color:var(--muted);font-size:11px;line-height:1.75;margin-top:2px}.care-card{position:relative;overflow:hidden;background:linear-gradient(120deg,#253f3d,#193139);border:1px solid #415a4d;border-radius:22px;padding:24px 26px;color:#c6d6cb}.care-card:after{content:"";position:absolute;right:-24px;bottom:-42px;width:138px;height:138px;border:1px solid #cabb8933;border-radius:50%;box-shadow:0 0 0 19px #cabb8908,0 0 0 40px #cabb8905;pointer-events:none}.care-card .icon{color:#d5c194;margin-bottom:13px}.care-card h3{color:#f0efdf;font-size:16px;line-height:1.6;letter-spacing:-.03em}.care-card p{font-size:11px;line-height:1.9;color:#becfc5;margin-top:8px;position:relative;z-index:1;max-width:260px}
/* INTERACTIVE PROCESS INFOGRAPHIC */
.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}.flow-tile{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:27px 27px 24px;position:relative;isolation:isolate;overflow:hidden;min-height:224px;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s,border-color .4s,background .4s;color:var(--text)}.flow-tile:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:var(--shadow-hover)}.flow-tile[aria-selected="true"]{background:linear-gradient(120deg,#243e3e,#132c35);border-color:#506858;color:#c0d2c9}.flow-number{position:absolute;right:27px;top:13px;font-size:60px;font-family:var(--serif);font-style:italic;color:var(--surface-soft);line-height:1.2;transition:color .4s}.flow-tile[aria-selected="true"] .flow-number{color:#617c6655}.flow-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--line);border-radius:12px;color:var(--gold-text);margin-bottom:20px;background:var(--surface-tint)}.flow-tile[aria-selected="true"] .flow-icon{color:#e0c68c;border-color:#d0b37b42;background:#c5b07c0f}.flow-title{display:block;font-size:21px;font-weight:700;color:var(--ink);letter-spacing:-.04em;margin-bottom:8px}.flow-tile[aria-selected="true"] .flow-title{color:#f2f0df}.flow-desc{display:block;font-size:12px;line-height:1.85;color:var(--muted);max-width:245px;padding-right:26px}.flow-tile[aria-selected="true"] .flow-desc{color:#bacdc3}.flow-arrow{position:absolute;right:22px;bottom:24px;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:transform .3s}.flow-tile[aria-selected="true"] .flow-arrow{background:#d9c594;border-color:#d9c594;color:#18312f;transform:rotate(45deg)}.flow-arrow .icon{width:14px;height:14px}.flow-detail{margin-top:16px;display:flex;align-items:center;gap:20px;padding:19px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);min-height:84px;animation:panel-in .4s var(--ease)}.flow-detail-tag{display:inline-flex;align-items:center;gap:8px;color:var(--gold-text);white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.06em}.flow-detail-copy{border-left:1px solid var(--line);padding-left:20px}.flow-detail h3{font-size:13px;font-weight:650}.flow-detail p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.9}.process-note{font-size:10px;color:var(--muted);margin-top:11px;text-align:right}
/* RECEIPT / OFFICE LETTER */
.result-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:24px;align-items:start}.result-main{min-width:0}.result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.result-tabs{display:inline-flex;align-items:center;background:var(--surface-soft);border:1px solid var(--line);padding:4px;border-radius:11px;gap:3px}.result-tab{background:transparent;color:var(--muted);padding:8px 12px;border-radius:7px;font-size:11px;font-weight:650;transition:background .25s,box-shadow .25s,color .25s;white-space:nowrap}.result-tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 5px #1427330a}.utility-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:9px 12px;font-size:10px;font-weight:600;border-radius:9px;transition:border-color .25s,color .25s;white-space:nowrap}.utility-button:hover{border-color:var(--gold);color:var(--gold-text)}.utility-button .icon{width:14px;height:14px}.result-panel{animation:panel-in .4s var(--ease)}.success-preview{border:1px solid #c7dbcc;border-radius:16px;background:var(--green-soft);padding:17px 20px;margin-bottom:18px}.success-top{display:flex;align-items:center;gap:10px}.success-icon{display:grid;place-items:center;width:33px;height:33px;border:1px solid #a9c4ad;border-radius:50%;color:var(--green);flex-shrink:0}.success-top strong{font-size:14px;font-weight:700;color:var(--ink);display:block;letter-spacing:-.03em}.sample-caption{display:inline-block;font-size:9px;font-weight:500;color:var(--green);margin-bottom:3px;letter-spacing:.02em}.success-preview p{font-size:11px;line-height:1.85;color:var(--green);margin:9px 0 0 43px}.letter-card{padding:29px 32px 25px;position:relative;overflow:hidden}.letter-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#ccaf73,#ded1a800 75%)}.letter-header{display:flex;justify-content:space-between;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:25px;align-items:flex-start}.letter-eyebrow{font-size:9px;color:var(--gold-text);font-weight:650;letter-spacing:.18em;margin-bottom:9px}.letter-header h3{font-size:19px;line-height:1.6;letter-spacing:-.04em;font-weight:750}.letter-flower{width:33px;height:33px;color:var(--gold);margin-top:5px;flex-shrink:0}.letter-greeting{font-size:14px;font-weight:600;color:var(--ink);line-height:1.9;margin-bottom:22px}.letter-section{margin:22px 0}.letter-section h4{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;letter-spacing:-.015em;margin-bottom:10px}.letter-index{font-family:var(--serif);color:var(--gold-text);font-size:15px;font-style:italic;font-weight:400}.letter-section p{font-size:13px;line-height:1.95;color:var(--text)}.plan-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.plan-list li{border:1px solid var(--line);background:var(--surface-tint);padding:13px 14px;border-radius:10px;display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.85}.plan-list .icon{width:17px;height:17px;color:var(--gold-text);margin-top:3px}.plan-list strong{font-size:12px;font-weight:700;color:var(--ink);display:block;margin-bottom:2px}.letter-closing{font-size:12px;line-height:2.05;color:var(--text);margin-top:22px}.letter-signature{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.letter-signature small{font-size:10px;color:var(--muted)}.letter-signature strong{font-size:19px;letter-spacing:.19em;font-weight:650;color:var(--ink)}.result-aside{padding-top:59px;display:grid;gap:18px}.timeline-card{padding:26px 27px}.timeline-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:23px}.timeline-header h3{font-size:15px;font-weight:700;letter-spacing:-.035em}.timeline-header .pill{font-size:9px;padding:3px 8px}.timeline{position:relative;margin:0;padding:0;list-style:none}.timeline:before{content:"";position:absolute;left:15px;top:27px;bottom:45px;width:1px;background:linear-gradient(var(--gold) 40%,var(--line));opacity:.65}.timeline li{position:relative;display:flex;gap:15px;margin-bottom:27px}.timeline li:last-child{margin-bottom:0}.timeline-num{display:grid;place-items:center;position:relative;z-index:1;font-family:var(--serif);font-style:italic;color:var(--gold-text);background:var(--surface-tint);width:31px;height:31px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;font-size:14px}.timeline h4{font-size:12px;font-weight:700;margin-bottom:5px;padding-top:4px}.timeline p{font-size:11px;color:var(--muted);line-height:1.85}.timeline-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px;border-top:1px solid var(--line);padding-top:19px}.timeline-tags span{font-size:9px;color:var(--muted);padding:5px 8px;background:var(--surface-soft);border-radius:5px}.quote-card{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,var(--surface-soft),var(--surface));border:1px solid var(--line);padding:26px 28px}.quote-symbol{font-family:var(--serif);font-size:64px;line-height:.8;color:var(--gold);opacity:.75}.quote-card p{font-size:20px;line-height:1.6;color:var(--ink);font-weight:550;letter-spacing:-.04em;margin-top:8px}.quote-card small{font-size:10px;color:var(--muted);display:block;margin-top:17px;line-height:1.9}.quote-card:after{content:"";position:absolute;right:-40px;bottom:-62px;width:170px;height:170px;border:1px solid var(--line);border-radius:50%}.preview-empty{padding:54px 30px;text-align:center}.empty-icon{width:68px;height:68px;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;color:var(--gold-text);margin:0 auto 20px}.preview-empty h3{font-size:19px;margin-bottom:10px}.preview-empty p{font-size:12px;color:var(--muted);margin:0 auto 23px;max-width:340px;line-height:1.9}.my-preview-card{padding:28px 30px}.my-preview-card h3{font-size:20px}.my-preview-card .preview-description{font-size:12px;line-height:1.9;color:var(--muted);margin-top:11px}.my-preview-status{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:600;color:var(--green);margin-bottom:16px}.my-preview-data{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:22px 0;padding:17px 0;border-block:1px solid var(--line);font-size:12px}.my-preview-data dt{color:var(--muted)}.my-preview-data dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.submitted-text{white-space:pre-wrap;font-size:14px;line-height:1.9;padding:18px 20px;background:var(--surface-tint);border:1px solid var(--line);border-radius:12px;word-break:break-word}.preview-extra{margin-top:18px;font-size:11px;color:var(--muted);line-height:1.9}
/* OPERATIONS / deliberately labelled preview, not access control */
.operations{position:relative;isolation:isolate;overflow:hidden;margin-top:82px;background:#142b34;border:1px solid #34505a;border-radius:30px;padding:39px 39px 26px;color:#c8d5cd;scroll-margin-top:18px}.operations:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 95% 0,#58795433,transparent 50%);pointer-events:none;z-index:-1}.operations .section-kicker{color:#d7c38e}.operations .section-heading{margin-bottom:26px;align-items:flex-start}.operations .section-heading h2{color:#f2f0e4;font-size:29px;line-height:1.45}.ops-intro{font-size:12px;color:#afc4b9;line-height:1.95;margin-top:10px}.ops-badge{font-size:10px;display:flex;align-items:center;gap:6px;border:1px solid #7f9b8545;border-radius:50px;padding:7px 11px;color:#c4d1bd;white-space:nowrap;margin-top:30px}.ops-badge .icon{width:13px;height:13px}.ops-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}.ops-accordions{display:grid;gap:13px}.ops-accordion{border:1px solid #748d772f;background:#ffffff04;border-radius:15px;overflow:hidden;transition:background .25s,border-color .25s}.ops-accordion:hover{border-color:#c7b78465;background:#ffffff06}.ops-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:20px 20px;user-select:none}.ops-accordion summary::-webkit-details-marker{display:none}.summary-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#cfbb87;background:#a1b08b14;border:1px solid #aebf9422;flex-shrink:0}.summary-icon .icon{width:18px;height:18px}.summary-copy{min-width:0}.summary-copy strong{display:block;font-size:13px;color:#e9ecdc;font-weight:650;line-height:1.6}.summary-copy small{display:block;font-size:10px;color:#9db5a8;margin-top:3px}.summary-chevron{color:#aebfae;margin-left:auto;width:17px;height:17px;transition:transform .35s var(--ease)}.ops-accordion[open] .summary-chevron{transform:rotate(180deg)}.ops-accordion[open]{border-color:#b19b635f;background:#ffffff06}.details-inner{padding:0 20px 20px}.ops-accordion[open] .details-inner{animation:panel-in .4s var(--ease)}.report-item{padding:13px 14px;background:#071e2540;border:1px solid #9dac8a20;border-radius:10px;margin-bottom:8px}.report-item:last-child{margin-bottom:0}.report-item h3{display:flex;gap:8px;align-items:center;color:#e0e8d5;font-size:11px;font-weight:650;margin-bottom:6px}.report-item h3 span{font-family:var(--serif);font-weight:400;font-style:italic;font-size:13px;color:#c3af79}.report-item p{color:#acc2b5;font-size:11px;line-height:1.9}.code-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;font-size:9px;color:#a2b8a8}.code-toolbar button{display:flex;gap:5px;align-items:center;font-size:9px;color:#d5dfc9;background:#ffffff0a;border:1px solid #b6c29c26;border-radius:6px;padding:5px 8px}.code-toolbar .icon{width:12px;height:12px}.debug-code{padding:16px;margin:0;font-size:11px;color:#bfd6bf;background:#061b23a8;border:1px solid #c2bd9122;border-radius:10px;line-height:1.85;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,"Noto Sans CJK KR",monospace;overflow-wrap:anywhere}.debug-code .code-key{color:#d9bf7e}.kakao-card{position:relative;border-radius:20px;padding:25px 27px;background:linear-gradient(130deg,#f4efd9,#e5dab4);color:#475141;overflow:hidden;box-shadow:0 14px 30px -24px #0009}.kakao-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.kakao-app-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fee500;color:#30241f;box-shadow:0 7px 20px -12px #806e16}.kakao-app-icon svg{width:25px;height:25px;fill:currentColor;stroke:none}.kakao-top span{color:#777149;font-size:9px;font-weight:650;letter-spacing:.13em}.kakao-card h3{font-size:22px;line-height:1.5;letter-spacing:-.05em;color:#273c33;font-weight:650}.kakao-card p{font-size:11px;line-height:1.9;margin-top:12px;color:#5d644c}.button-kakao{color:#312618;background:#fee500;width:100%;margin-top:19px;min-height:46px;font-size:12px;border:1px solid #dfc921}.button-kakao:hover{background:#ffe92e;box-shadow:0 9px 20px -16px #6f6320}.kakao-card .kakao-note{font-size:9px;line-height:1.8;margin-top:11px;color:#6f7153}.ops-security-note{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.9;color:#a0b7a7;padding-top:21px;margin-top:24px;border-top:1px solid #a5b89824}.ops-security-note .icon{width:13px;height:13px;position:relative;top:3px}
/* FOOTER / DIALOG / TOAST */
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:31px 0 41px;margin-top:16px}.footer-brand{font-size:12px;color:var(--ink);font-weight:650;display:flex;align-items:center;gap:9px}.footer-brand .icon{color:var(--gold);width:19px;height:19px}.footer-note{font-size:10px;color:var(--muted);line-height:1.9;margin-top:6px}.footer-end{display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.15em;color:var(--gold-text);font-weight:600}.back-top{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .3s,transform .3s}.back-top:hover{background:var(--surface);transform:translateY(-3px)}.back-top .icon{width:16px;height:16px;transform:rotate(-90deg)}.mobile-dock{display:none}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,22px);z-index:250;background:#173632;color:#f1f2df;border:1px solid #607d62;border-radius:13px;box-shadow:0 14px 42px #0003;padding:14px 20px;display:flex;align-items:center;gap:9px;font-size:12px;max-width:calc(100vw - 36px);width:max-content;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}.toast.show{opacity:1;transform:translate(-50%,0)}.toast .icon{color:#d9c592;width:17px;height:17px}.site-dialog{border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);width:min(500px,calc(100% - 32px));padding:31px 32px;box-shadow:0 40px 140px #06192255;max-height:calc(100dvh - 40px);overflow:auto}.site-dialog::backdrop{background:#0b202ab3;backdrop-filter:blur(7px)}.site-dialog[open]{animation:dialog-in .4s var(--ease)}.dialog-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-topline>.icon{width:33px;height:33px;color:var(--gold-text)}.dialog-topline .icon-button{width:32px;height:32px}.dialog-topline .icon-button .icon{width:16px;height:16px}.site-dialog h2{font-size:25px;line-height:1.5;letter-spacing:-.05em;margin-bottom:12px}.site-dialog p{font-size:13px;line-height:1.95;color:var(--muted)}.dialog-steps{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px}.dialog-steps li{display:flex;gap:11px;align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12px}.dialog-steps li>span:first-child{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--gold-text)}.dialog-footnote{border-top:1px solid var(--line);padding-top:17px;margin-top:19px;font-size:11px!important}.dialog-bottom{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-bottom .button{font-size:12px;min-height:43px;padding:10px 17px}.ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:#ffffff50;transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:ripple .8s ease-out forwards;z-index:3}
/* MOTION SYSTEM */
@keyframes aurora-turn{to{transform:rotate(360deg)}}@keyframes gold-flow{0%,100%{background-position:0% center}50%{background-position:100% center}}@keyframes orbit-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.ring-dot{animation-name:spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes route-flow{to{stroke-dashoffset:-100}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1.05)}}@keyframes halo-breathe{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:.9;transform:scale(1.15)}}@keyframes float-soft{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes wave{0%,100%{height:4px}50%{height:15px}}@keyframes panel-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ripple{to{transform:translate(-50%,-50%) scale(38);opacity:0}}
.js-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--delay,0ms)}.js-ready [data-reveal].revealed{opacity:1;transform:translateY(0)}
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important}html[data-motion="off"] [data-reveal]{opacity:1!important;transform:none!important}html[data-motion="off"] .orbit-scene{transform:none!important}html[data-motion="off"] .button:hover,html[data-motion="off"] .flow-tile:hover,html[data-motion="off"] .topic-option:hover>span,html[data-motion="off"] .icon-button:hover{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1!important;transform:none!important}.orbit-scene{transform:none!important}}
/* RESPONSIVE */
@media(min-width:1600px){.hero-main{min-height:540px}.hero h1{font-size:80px}}
@media(max-width:1200px){.shell{width:calc(100% - 56px)}.desktop-nav{gap:20px}.header-preview{display:none}.header-inner{gap:18px}.header-tools{margin-left:4px}.hero-main{padding:47px 40px 35px;gap:12px}.hero h1{font-size:63px}.hero-description{font-size:14px}.hero-bottom{padding:21px 40px}.orbit-scene{transform:scale(.91);transform-origin:center}.orbit-card.card-organize{left:-6px}.write-grid,.result-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}.entry-card{padding:27px}.topic-option>span{padding:7px 9px;font-size:10px}.writing-guide{padding:24px}.letter-card{padding:27px}.flow-tile{padding:24px}.flow-title{font-size:20px}.operations{padding:34px}.ops-grid{grid-template-columns:1.35fr 1fr}}
@media(max-width:1000px){.header-inner{min-height:86px}.desktop-nav{gap:16px}.nav-link{font-size:11px}.brand-name{font-size:18px}.brand-meta{font-size:10px}.brand-mark{width:41px;height:41px;border-radius:13px}.header-tools{gap:6px}.icon-button{width:35px;height:35px}.hero-main{padding:42px 32px 32px;min-height:475px;grid-template-columns:1.12fr 1fr}.hero h1{font-size:55px}.hero-description{font-size:13px}.hero-actions{gap:15px}.hero-actions .button{padding:13px 17px;font-size:12px}.hero-actions .text-link{font-size:11px}.eyebrow{font-size:9px}.orbit-scene{transform:scale(.8);width:370px;margin-left:-30px}.hero-bottom{padding:20px 32px;gap:14px}.hero-step+.hero-step{padding-left:19px}.hero-step{gap:10px}.hero-step-desc{font-size:9px}.benefit-strip{padding:26px 0;gap:12px}.benefit strong{font-size:12px}.benefit p{font-size:10px}.benefit-icon{width:37px;height:37px;border-radius:11px}.section-heading h2{font-size:29px}.write-grid,.result-layout{grid-template-columns:minmax(0,1.55fr) minmax(245px,1fr);gap:19px}.entry-card{padding:24px}.field-row{gap:12px}.topic-options{gap:6px}.topic-option>span{font-size:10px;padding:7px 8px}.topic-option .icon{display:none}.writing-guide{padding:22px}.writing-guide h3{font-size:19px}.guide-row p{font-size:10px}.care-card{padding:23px}.flow-grid{gap:15px}.flow-tile{padding:23px 21px;min-height:224px}.flow-title{font-size:18px}.flow-desc{font-size:11px}.letter-card{padding:25px}.letter-header h3{font-size:18px}.timeline-card{padding:23px 21px}.timeline-header{align-items:flex-start}.timeline-header h3{font-size:14px}.result-toolbar{gap:8px}.result-tab{padding:8px 9px;font-size:10px}.utility-button{font-size:9px;padding:9px}.operations{padding:31px}.ops-grid{gap:20px}.kakao-card{padding:25px 23px}.kakao-card h3{font-size:21px}}
@media(max-width:820px){.shell{width:calc(100% - 40px)}.desktop-nav{display:none}.header-tools{margin-left:auto}.header-preview{display:block}.menu-button{display:grid}.mobile-menu.is-open{display:block}.header-inner{min-height:80px}.hero-main{grid-template-columns:1fr;gap:6px;padding:40px 34px 32px;text-align:center}.hero-copy{max-width:550px;margin-inline:auto}.hero h1{font-size:65px}.hero-description{margin-inline:auto;max-width:450px;font-size:14px}.hero-actions{justify-content:center;gap:22px}.hero-note{justify-content:center}.eyebrow{font-size:10px}.orbit-scene{width:min(100%,440px);height:348px;transform:none;margin:6px auto 18px}.orbit-card.card-organize{left:4px}.hero-bottom{padding:21px 28px}.hero-step-desc{font-size:9px}.hero-step-title{font-size:11px}.hero-step-number{font-size:27px}.benefit-strip{gap:10px;padding:25px 0}.benefit{gap:9px}.benefit p{font-size:9px}.benefit-icon{width:33px;height:33px}.benefit-icon .icon{width:17px;height:17px}.write-grid{grid-template-columns:1fr}.form-aside{grid-template-columns:1.2fr 1fr;gap:17px}.writing-guide{padding:25px}.guide-rows{gap:13px}.care-card{padding:25px;display:flex;flex-direction:column;justify-content:center}.care-card h3{font-size:20px}.care-card p{font-size:12px}.care-card>.icon{width:29px;height:29px;margin-bottom:20px}.writing-guide h3{font-size:22px}.guide-row strong{font-size:12px}.guide-row p{font-size:11px}.entry-card{padding:28px}.field-input,textarea{font-size:14px}.field-label{font-size:13px}.topic-option .icon{display:block}.topic-option>span{font-size:11px;padding:8px 10px}.result-layout{grid-template-columns:1fr}.result-aside{padding-top:0;grid-template-columns:1.2fr 1fr;align-items:stretch;gap:17px}.timeline-card{padding:26px}.timeline-header h3{font-size:15px}.timeline p{font-size:11px}.quote-card{padding:29px;display:flex;flex-direction:column;justify-content:center}.quote-card p{font-size:23px}.quote-card small{font-size:11px}.letter-card{padding:30px}.letter-header h3{font-size:21px}.letter-section p{font-size:14px}.letter-greeting{font-size:15px}.letter-section h4{font-size:14px}.letter-closing{font-size:13px}.plan-list li,.plan-list strong{font-size:13px}.result-tabs .result-tab{font-size:12px;padding:9px 14px}.utility-button{font-size:11px;padding:11px 13px}.section-heading h2{font-size:31px}.section-heading .heading-note{font-size:11px;max-width:185px}.flow-grid{gap:12px}.flow-tile{padding:21px 19px}.flow-title{font-size:18px}.flow-number{font-size:52px;right:19px}.flow-desc{font-size:11px;padding-right:17px}.flow-arrow{right:16px;bottom:20px;width:23px;height:23px}.flow-detail{padding:18px 21px}.ops-grid{grid-template-columns:1.25fr 1fr;gap:17px}.operations{padding:30px 26px}.operations .section-heading h2{font-size:26px}.ops-badge{font-size:9px;padding:6px 9px}.kakao-card{padding:23px 21px}.kakao-card h3{font-size:20px}.ops-accordion summary{padding:17px 16px;gap:10px}.summary-copy strong{font-size:12px}.summary-copy small{font-size:9px}.details-inner{padding:0 15px 15px}.button-kakao{padding:11px 9px;font-size:11px;gap:8px}.site-footer{padding-bottom:35px}}
@media(max-width:600px){html{scroll-padding-top:88px}.shell{width:calc(100% - 32px)}.header-inner{min-height:76px;gap:12px}.brand{gap:9px}.brand-mark{width:37px;height:37px;border-radius:11px}.brand-mark svg{width:24px;height:24px}.brand-name{font-size:17px}.brand-meta{font-size:9px;margin-top:5px}.header-tools{gap:5px}.header-preview{display:none}.header-tools .icon-button{width:32px;height:32px}.header-tools .icon{width:16px;height:16px}.hero{margin-top:7px;border-radius:25px}.hero-main{padding:34px 23px 24px}.eyebrow{font-size:9px;letter-spacing:.04em;margin-bottom:19px;gap:8px}.hero h1{font-size:57px;line-height:1.2;letter-spacing:-.06em}.hero-description{font-size:13px;line-height:1.95;margin-top:21px;max-width:340px}.hero-actions{gap:17px;margin-top:23px;flex-wrap:nowrap}.hero-actions .button{font-size:12px;padding:12px 17px;min-height:46px;gap:10px}.hero-actions .text-link{font-size:10px;gap:5px}.hero-actions .text-link .icon{width:15px;height:15px}.hero-note{font-size:9px;gap:5px;line-height:1.8;margin-top:17px;align-items:flex-start}.hero-note .icon{width:12px;height:12px;margin-top:2px}.orbit-scene{height:304px;max-width:330px;margin-top:17px;margin-bottom:14px}.orbital-ring{width:251px;height:251px}.orbital-ring.ring-2{width:292px;height:292px}.orbital-ring.ring-3{width:316px;height:178px}.orbital-core{width:142px;height:160px;border-radius:25px;gap:12px}.core-emblem{width:63px;height:56px}.core-label{font-size:14px}.core-meta{font-size:7px;letter-spacing:.18em}.orbit-card{padding:10px 11px;border-radius:12px;gap:7px;min-height:54px}.orbit-card .small-icon{width:27px;height:27px;border-radius:8px}.orbit-card .small-icon .icon{width:16px;height:16px}.orbit-card strong{font-size:10px}.orbit-card small{font-size:8px}.orbit-card.card-voice{right:-2px;top:14px}.orbit-card.card-organize{left:-5px;top:104px}.orbit-card.card-connect{right:-1px;bottom:11px}.voice-wave{height:13px;margin-top:3px}.voice-wave span{width:1.5px}.orbit-caption{font-size:10px;bottom:-23px}.star-one{top:35px;left:65px}.star-two{top:193px;right:7px}.star-three{bottom:37px;left:57px}.hero-bottom{padding:19px 13px;gap:6px}.hero-step{display:block;text-align:center}.hero-step+.hero-step{padding-left:0}.hero-step-number{display:block;font-size:25px;margin-bottom:9px}.hero-step-title{font-size:10px;letter-spacing:-.01em}.hero-step-desc{font-size:8px;margin-top:3px;line-height:1.65}.benefit-strip{gap:8px;padding:22px 0}.benefit{flex-direction:column;gap:9px;text-align:center;align-items:center}.benefit strong{font-size:10px}.benefit p{font-size:9px;max-width:105px;line-height:1.7;margin:4px auto 0}.benefit-icon{width:34px;height:34px}.content-section{padding-top:57px;scroll-margin-top:10px}.section-heading{align-items:flex-start;gap:13px;margin-bottom:23px}.section-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:12px;gap:8px}.section-kicker:before{width:17px}.section-heading h2{font-size:28px;line-height:1.45;letter-spacing:-.055em}.section-heading .heading-note{display:none}.section-heading>.pill{font-size:9px;padding:5px 8px;margin-top:30px}.card{border-radius:22px}.entry-card{padding:23px 20px}.card-topline{margin-bottom:24px;gap:7px}.card-topline h3{font-size:16px;gap:7px}.small-note{font-size:9px;white-space:nowrap}.field-row{gap:12px;margin-bottom:23px}.field-label{font-size:12px;gap:6px}.optional{font-size:9px}.field-input{font-size:16px;padding-left:13px;height:47px;padding-right:8px}.input-wrap>.icon{display:none}.topic-field{margin-bottom:22px}.topic-options{gap:7px}.topic-option>span{font-size:10px;padding:7px 9px;gap:5px}.topic-option .icon{width:12px;height:12px}.topic-field .field-label{margin-bottom:10px}.textarea-heading{align-items:center}.sample-button{font-size:9px;padding:5px 7px;gap:4px}textarea{font-size:16px;min-height:200px;padding:14px;line-height:1.8}.input-meta{font-size:9px;gap:8px}.input-meta>span:first-child{max-width:190px}.submit-button{font-size:12px;min-height:50px;padding:12px 10px;gap:7px}.submit-button .icon{width:16px;height:16px}.demo-tag{font-size:8px;padding:2px 4px}.form-actions{gap:10px;margin-top:20px}.reset-button{width:42px;height:49px}.local-note{font-size:9px;align-items:flex-start;text-align:left;justify-content:flex-start;margin-top:12px}.local-note .icon{flex-shrink:0}.form-aside{grid-template-columns:1fr;gap:15px}.writing-guide{padding:24px}.guide-label{margin-bottom:12px}.writing-guide h3{font-size:22px}.guide-rows{gap:14px;margin-top:20px}.guide-row strong{font-size:12px}.guide-row p{font-size:11px}.care-card{padding:23px 24px;display:grid;grid-template-columns:28px 1fr;gap:0 13px;align-items:start}.care-card>.icon{grid-row:1/3;margin:3px 0 0;width:24px;height:24px}.care-card h3{font-size:16px;line-height:1.6}.care-card h3 br{display:none}.care-card p{font-size:11px;margin-top:7px;max-width:none}.flow-grid{grid-template-columns:1fr;gap:11px}.flow-tile{padding:21px 22px 21px 82px;min-height:121px;border-radius:18px}.flow-icon{position:absolute;left:21px;top:25px;width:43px;height:43px;margin:0}.flow-title{font-size:19px;margin-bottom:6px}.flow-number{font-size:40px;right:23px;top:12px}.flow-desc{max-width:none;font-size:11px;padding-right:39px;line-height:1.85}.flow-arrow{width:25px;height:25px;right:20px;bottom:19px}.flow-detail{align-items:flex-start;gap:11px;padding:18px 19px;display:block}.flow-detail-tag{font-size:10px;margin-bottom:10px}.flow-detail-copy{border-left:0;padding-left:0}.flow-detail h3{font-size:13px}.flow-detail p{font-size:11px}.process-note{text-align:left;font-size:9px;margin-top:10px}.result-toolbar{align-items:center;gap:7px}.result-tabs{padding:3px;border-radius:9px;gap:0}.result-tabs .result-tab{font-size:10px;padding:8px 10px}.utility-button{padding:9px;font-size:9px;gap:4px}.utility-button .icon{width:12px;height:12px}.success-preview{padding:16px}.success-top{gap:9px}.success-top strong{font-size:13px}.success-icon{width:29px;height:29px}.success-icon .icon{width:16px;height:16px}.sample-caption{font-size:8px}.success-preview p{font-size:10px;margin-left:38px;line-height:1.9}.letter-card{padding:23px 21px}.letter-eyebrow{font-size:8px;letter-spacing:.1em}.letter-header{gap:9px;margin-bottom:21px;padding-bottom:19px}.letter-header h3{font-size:19px;max-width:240px}.letter-flower{width:26px;height:26px}.letter-greeting{font-size:14px;line-height:1.9;margin-bottom:20px}.letter-section{margin:21px 0}.letter-section h4{font-size:13px}.letter-section p{font-size:13px;line-height:2}.plan-list li{padding:12px 12px;gap:9px;font-size:12px;line-height:1.85}.plan-list strong{font-size:12px}.plan-list .icon{width:15px;height:15px;flex-shrink:0}.letter-closing{font-size:12px;line-height:2}.letter-signature strong{font-size:18px}.result-aside{grid-template-columns:1fr;gap:16px}.timeline-card{padding:25px}.timeline-header{margin-bottom:22px}.timeline-header h3{font-size:16px}.timeline h4{font-size:13px}.timeline p{font-size:12px}.timeline li{margin-bottom:25px}.timeline-tags span{font-size:10px}.quote-card{padding:24px;min-height:150px}.quote-symbol{position:absolute;right:29px;top:34px;font-size:87px;opacity:.3}.quote-card p{font-size:21px;margin-top:0;position:relative;z-index:1}.quote-card small{font-size:10px;margin-top:14px}.my-preview-card{padding:24px 21px}.my-preview-card h3{font-size:20px}.submitted-text{padding:15px;font-size:14px}.my-preview-data{gap:10px 13px;font-size:12px}.preview-empty{padding:42px 23px}.operations{margin-top:58px;padding:28px 21px 23px;border-radius:24px;scroll-margin-top:10px}.operations .section-heading{display:block;margin-bottom:23px}.operations .section-heading h2{font-size:25px;line-height:1.5}.ops-badge{display:inline-flex;margin-top:16px;font-size:9px}.ops-intro{font-size:11px;line-height:1.95;margin-top:12px}.ops-grid{grid-template-columns:1fr;gap:18px}.ops-accordion summary{padding:17px 15px}.summary-copy strong{font-size:12px}.summary-copy small{font-size:9px;line-height:1.7}.summary-icon{width:31px;height:31px;border-radius:8px}.summary-icon .icon{width:16px;height:16px}.details-inner{padding:0 15px 15px}.report-item{padding:12px}.report-item h3{font-size:11px}.report-item p{font-size:11px}.kakao-card{padding:25px}.kakao-card h3{font-size:23px}.kakao-card p{font-size:12px}.button-kakao{font-size:12px;min-height:47px}.kakao-card .kakao-note{font-size:10px}.ops-security-note{font-size:9px;line-height:1.9;margin-top:20px;padding-top:19px}.site-footer{display:block;margin-top:8px;padding:27px 4px 110px}.footer-brand{font-size:11px}.footer-note{font-size:9px;margin-top:10px;max-width:300px}.footer-end{margin-top:19px;font-size:8px;justify-content:space-between}.mobile-dock{position:fixed;z-index:75;bottom:0;left:0;right:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--nav-bg);border-top:1px solid var(--line);backdrop-filter:blur(20px);transform:translateY(120%);transition:transform .4s var(--ease);box-shadow:0 -8px 24px #14273308}.mobile-dock.visible{transform:translateY(0)}.mobile-dock strong{font-size:11px;color:var(--ink);font-weight:650;display:block}.mobile-dock small{font-size:9px;color:var(--muted);margin-top:2px;display:block}.mobile-dock .button{font-size:11px;padding:11px 16px;min-height:40px;gap:9px;border-radius:9px}.mobile-dock .button .icon{width:14px;height:14px}.toast{bottom:92px;font-size:11px;padding:12px 15px;line-height:1.8}.site-dialog{padding:25px 24px;border-radius:21px}.site-dialog h2{font-size:23px}.site-dialog p{font-size:12px}.site-dialog .dialog-steps li{font-size:11px}}
@media(max-width:360px){.shell{width:calc(100% - 24px)}.header-tools{gap:4px}.header-tools .icon-button{width:30px;height:30px}.brand-meta{font-size:8px}.hero-main{padding:31px 18px 23px}.hero h1{font-size:51px}.hero-description{font-size:12px}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding-inline:14px}.hero-actions .text-link{font-size:9px}.orbit-scene{height:285px}.orbital-ring.ring-3{width:290px}.orbital-ring.ring-2{width:271px;height:271px}.orbit-card.card-organize{left:-7px}.orbit-card.card-voice{right:-4px}.orbit-card.card-connect{right:-5px;bottom:7px}.core-label{font-size:13px}.orbital-core{width:134px;height:154px}.section-heading h2{font-size:25px}.entry-card{padding:22px 17px}.card-topline h3{font-size:15px}.field-row{gap:10px}.field-input{font-size:16px;padding-left:10px}.topic-option>span{font-size:9px;padding:7px 8px}.sample-button{font-size:8px}.result-tabs .result-tab{font-size:9px;padding-inline:8px}.utility-button{font-size:8px;padding:9px 7px}.letter-card{padding:23px 19px}.letter-header h3{font-size:18px}.operations{padding:25px 18px}.ops-accordion summary{padding-inline:12px}.summary-copy strong{font-size:11px}.summary-copy small{font-size:8px}}

/* Final reading scale: body copy remains comfortable on wide and compact displays. */
@media(min-width:1001px){
  .hero-description{font-size:17px;line-height:1.95}.hero-note{font-size:11px}.nav-link{font-size:14px}
  .hero-step-title{font-size:13px}.hero-step-desc{font-size:11px}.benefit strong{font-size:14px}.benefit p{font-size:12px}
  .section-heading .heading-note{font-size:13px}.section-kicker{font-size:11px}
  .card-topline h3{font-size:19px}.small-note{font-size:11px}.field-label{font-size:14px}.optional{font-size:11px}
  .field-input,textarea{font-size:15px}.topic-option>span{font-size:12px;padding:9px 11px}.sample-button{font-size:11px}
  .input-meta{font-size:11px}.submit-button{font-size:14px}.local-note{font-size:11px}.demo-tag{font-size:10px}
  .writing-guide h3{font-size:24px}.guide-row strong{font-size:14px}.guide-row p{font-size:13px}
  .care-card h3{font-size:19px}.care-card p{font-size:13px}.guide-label span{font-size:10px}
  .flow-tile{min-height:245px}.flow-title{font-size:23px}.flow-desc{font-size:14px}.flow-detail h3{font-size:15px}.flow-detail p{font-size:13px}.flow-detail-tag{font-size:11px}.process-note{font-size:11px}
  .result-tab{font-size:13px}.utility-button{font-size:12px}.sample-caption{font-size:10px}.success-top strong{font-size:16px}.success-preview p{font-size:13px}
  .letter-header h3{font-size:23px}.letter-greeting{font-size:16px}.letter-section h4{font-size:16px}.letter-section p{font-size:16px}.plan-list li,.plan-list strong{font-size:14px}.letter-closing{font-size:14px}
  .letter-eyebrow{font-size:10px}.letter-signature small{font-size:12px}.letter-signature strong{font-size:22px}
  .timeline-header h3{font-size:17px}.timeline h4{font-size:14px}.timeline p{font-size:13px}.timeline-tags span{font-size:11px}.quote-card p{font-size:23px}.quote-card small{font-size:12px}
  .ops-intro{font-size:14px}.summary-copy strong{font-size:15px}.summary-copy small{font-size:12px}.report-item h3{font-size:13px}.report-item p{font-size:13px}.debug-code{font-size:13px}
  .kakao-card h3{font-size:25px}.kakao-card p{font-size:13px}.button-kakao{font-size:14px}.kakao-card .kakao-note{font-size:11px}.ops-security-note{font-size:11px}.footer-note{font-size:11px}
}
@media(min-width:601px) and (max-width:1000px){
  .hero-note{font-size:10px}.field-input,textarea{font-size:15px}.guide-row p{font-size:12px}.care-card p{font-size:12px}
  .flow-desc{font-size:12px}.flow-detail p{font-size:12px}.letter-section p{font-size:15px}.letter-closing{font-size:14px}.plan-list li,.plan-list strong{font-size:13px}
  .timeline p{font-size:12px}.ops-intro{font-size:13px}.summary-copy strong{font-size:13px}.summary-copy small{font-size:10px}.report-item p{font-size:12px}.kakao-card p{font-size:12px}
}
@media(max-width:600px){
  .header-tools .icon-button{width:40px;height:40px}.header-tools .icon{width:18px;height:18px}.header-tools{gap:4px}
  .hero-note{font-size:10px}.hero-description{font-size:14px}.hero-actions .text-link{font-size:11px}
  .benefit strong{font-size:11px}.benefit p{font-size:10px}.guide-row strong{font-size:13px}.guide-row p{font-size:12px}.care-card p{font-size:12px}
  .flow-desc{font-size:13px}.flow-tile{min-height:135px}.flow-detail p{font-size:12px}.process-note{font-size:10px}
  .letter-section p{font-size:15px;line-height:1.95}.letter-section h4{font-size:14px}.letter-closing{font-size:14px;line-height:1.95}.plan-list li,.plan-list strong{font-size:13px}
  .sample-caption{font-size:9px}.success-preview p{font-size:12px}.success-top strong{font-size:14px}.timeline p{font-size:13px}.quote-card small{font-size:12px}
  .ops-intro{font-size:12px}.summary-copy small{font-size:10px}.report-item p{font-size:12px}.report-item h3{font-size:12px}.ops-security-note{font-size:10px}
  .footer-note{font-size:10px}.result-tabs .result-tab{font-size:11px}.utility-button{font-size:10px}
}
@media(max-width:360px){.header-tools .icon-button{width:37px;height:37px}.header-inner{gap:8px}.brand{gap:8px}.hero-actions{gap:11px}.hero-actions .text-link{font-size:10px}.result-tabs .result-tab{font-size:10px}.utility-button{font-size:9px}.hero h1{font-size:49px}}

@media print{html{color-scheme:light}body{background:white;color:#22342e;font-size:11pt}.site-header,.hero,.benefit-strip,#write,#process,.result-toolbar,.result-aside,.operations,.mobile-dock,.toast,.site-dialog,.site-footer,.scroll-track{display:none!important}.shell{width:100%}.content-section{padding:0}.section-heading h2{font-size:23pt}.section-heading{margin-bottom:18px}.result-layout{display:block}.result-panel[hidden]{display:none!important}.card{box-shadow:none;border-color:#ccc;background:#fff}.letter-card{padding:18px}.letter-section{break-inside:avoid}.letter-section p,.letter-closing,.plan-list li{font-size:11pt;color:#22342e}.letter-card h3,.letter-card h4{color:#152b22}.js-ready [data-reveal]{opacity:1;transform:none}}

/* ═══════════ AI 보좌관 확장 컴포넌트 ═══════════ */
/* 기존 :root 토큰은 그대로 두고, 확장 컴포넌트 전용 보조 토큰만 추가로 선언합니다. */
:root{
  --warn:#b24d42;--warn-soft:#f8e7e3;--warn-line:#e6c2ba;--warn-text:#8f3a31;
  --amber-soft:#f7edd7;--amber-line:#e2cb9c;--amber-text:#8a6830;
  --ok-line:#8fb6a455;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Noto Sans CJK KR",monospace;
  --code-bg:#071e26;--code-ink:#cfe3d3;--code-line:#3a5560;--code-key:#e0c68c;
  --on-deep:#e9f0ed;--on-deep-soft:#aabdbb;--on-deep-line:#ffffff24;--on-deep-gold:#e0c68c;
}
html[data-theme="dark"]{
  --warn:#e39288;--warn-soft:#3b2620;--warn-line:#6d4339;--warn-text:#f0aa9e;
  --amber-soft:#3a2f19;--amber-line:#7d6531;--amber-text:#e8cf95;
  --ok-line:#4e7a6a80;
}

/* ───────────────── 공통 확장 유틸 ───────────────── */
.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:50px;background:var(--surface-soft);color:var(--muted);padding:4px 10px;font-size:10px;font-weight:700;line-height:1.7;white-space:nowrap;letter-spacing:.01em}
.chip .icon{width:12px;height:12px;stroke-width:2}
.chip-high{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-text)}
.chip-mid{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber-text)}
.chip-low{background:var(--green-soft);border-color:var(--ok-line);color:var(--green)}
.chip-new{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
.chip-progress{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber-text)}
.chip-done{background:var(--green-soft);border-color:var(--ok-line);color:var(--green)}

.badge-demo{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--gold);border-radius:50px;background:transparent;color:var(--gold-text);padding:4px 11px;font-size:10px;font-weight:700;line-height:1.7;white-space:nowrap}
.badge-demo .icon{width:12px;height:12px}
.badge-live{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ok-line);border-radius:50px;background:var(--green-soft);color:var(--green);padding:4px 11px;font-size:10px;font-weight:700;line-height:1.7;white-space:nowrap}
.badge-live .icon{width:12px;height:12px}

.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0;vertical-align:middle}
.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px #4a8b7426}
.status-dot.off{background:var(--muted);opacity:.45}
.status-dot.warn{background:var(--gold);box-shadow:0 0 0 3px #c9ab6a2e}

@keyframes civic-shimmer{0%{background-position:-160% 0}100%{background-position:260% 0}}
.skeleton{display:grid;gap:10px}
.skeleton:empty{display:block;min-height:15px;border-radius:var(--r-sm)}
.skeleton:empty,.skeleton-line{background:linear-gradient(90deg,var(--surface-soft) 0%,var(--surface-tint) 38%,var(--surface-soft) 76%);background-size:220% 100%;animation:civic-shimmer 1.5s linear infinite}
.skeleton-line{display:block;height:13px;border-radius:7px}
.skeleton-line:last-child{width:62%}

.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:0 8px;border-radius:50px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}

.inline-note{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.85;color:var(--muted);background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 13px}
.inline-note .icon{width:15px;height:15px;margin-top:2px;color:var(--gold-text);flex-shrink:0}

.field-select{width:100%;height:49px;background:var(--surface-tint);border:1px solid var(--line);border-radius:11px;padding:12px 40px 12px 14px;font-size:13px;color:var(--ink);appearance:none;-webkit-appearance:none;transition:border-color .25s,box-shadow .25s,background-color .25s;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 21px) 22px,calc(100% - 16px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.field-select:hover{border-color:#bfaa7490}
.field-select:focus{outline:none;border-color:var(--gold);background-color:var(--surface);box-shadow:0 0 0 3px #c9ab6a2e}
.field-select:disabled{opacity:.55;cursor:not-allowed}
.field-select option{background:var(--surface);color:var(--ink)}

/* 키보드 포커스 위치를 분명히 표시합니다(기존 box-shadow 는 그대로 유지). */
input:focus-visible,textarea:focus-visible,select:focus-visible,.field-select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.form-field{min-width:0}

.json-view,.lp-schema-pre{margin:0;padding:16px 18px;font-family:var(--mono);font-size:12px;line-height:1.85;color:var(--code-ink);background:var(--code-bg);border:1px solid var(--code-line);border-radius:var(--r-sm);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:440px;tab-size:2}
.json-view b,.lp-schema-pre b{color:var(--code-key);font-weight:600}
.json-view i,.lp-schema-pre i{color:#9fb8a6;font-style:normal}

/* ───────────────── 랜딩(서비스 소개) ───────────────── */
.lp-hero{position:relative;isolation:isolate;overflow:hidden;margin-top:16px;border-radius:32px;border:1px solid #36505a;background:linear-gradient(146deg,var(--deep-2) 0%,var(--deep) 64%);color:var(--on-deep);box-shadow:0 24px 60px -40px #102f36aa}
.lp-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(760px circle at 80% 14%,#c9ab6a24,transparent 66%),radial-gradient(520px circle at 4% 98%,#4e8a761f,transparent 70%)}
.lp-hero-inner{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:36px;padding:64px 58px 54px}
.lp-hero-copy{max-width:620px;min-width:0}
.lp-hero-copy h1{font-size:60px;line-height:1.16;letter-spacing:-.05em;font-weight:800;color:#fff}
.lp-hero-copy h1 em{font-style:normal;font-family:var(--serif);font-weight:400;color:var(--on-deep-gold)}
.lp-hero-copy p{margin-top:22px;font-size:16px;line-height:1.95;color:var(--on-deep-soft);max-width:530px}
.lp-hero-copy .hero-actions{margin-top:30px}
.lp-hero-visual{position:relative;min-width:0;display:grid;gap:12px;align-content:start;padding:24px;border-radius:var(--r-lg);border:1px solid var(--on-deep-line);background:#0a1c2466;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 26px 60px -40px #00000080}
.lp-hero-visual h2,.lp-hero-visual h3{color:#fff;font-size:14px;letter-spacing:-.01em}
.lp-hero-visual p,.lp-hero-visual li{color:var(--on-deep-soft);font-size:12px;line-height:1.9}
.lp-hero-visual .card,.lp-hero-visual>div{min-width:0}

.lp-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:50px;background:var(--surface);color:var(--gold-text);padding:7px 13px;font-size:10px;font-weight:700;letter-spacing:.11em;line-height:1.5;white-space:nowrap}
.lp-badge .icon{width:14px;height:14px}
.lp-hero .lp-badge,.lp-cta .lp-badge{border-color:var(--on-deep-line);background:#ffffff0f;color:var(--on-deep-gold)}

.lp-stat-row{display:flex;flex-wrap:wrap;gap:12px 38px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.lp-hero .lp-stat-row,.lp-cta .lp-stat-row{border-top-color:var(--on-deep-line)}
.lp-stat{min-width:0}
.lp-stat strong{display:block;font-family:var(--serif);font-size:34px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);font-weight:400;font-variant-numeric:tabular-nums}
.lp-stat small{display:block;margin-top:4px;font-size:11px;line-height:1.7;color:var(--muted);letter-spacing:.01em}
.lp-hero .lp-stat strong,.lp-cta .lp-stat strong{color:var(--on-deep-gold)}
.lp-hero .lp-stat small,.lp-cta .lp-stat small{color:var(--on-deep-soft)}

.lp-section{padding-top:84px;scroll-margin-top:18px}
.lp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.lp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}

.lp-feature{display:flex;flex-direction:column;gap:16px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 30px 26px}
.lp-feature-head{display:flex;align-items:flex-start;gap:14px}
.lp-feature-head h3{font-size:18px;line-height:1.5;letter-spacing:-.025em}
.lp-feature-head small{display:block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--gold-text)}
.lp-feature-icon{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line);background:var(--surface-tint);color:var(--gold-text);transition:border-color .35s,color .35s,transform .45s var(--ease)}
.lp-feature:hover .lp-feature-icon{border-color:var(--gold);transform:translateY(-2px)}
.lp-feature-body{font-size:13px;line-height:1.95;color:var(--text);margin-top:-2px}
.lp-feature-list{list-style:none;margin:auto 0 0;padding:16px 0 0;display:grid;gap:9px;border-top:1px solid var(--line)}
.lp-feature-list li{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.85;color:var(--muted)}
.lp-feature-list li:before{content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:9px}

.lp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
.lp-split h2{font-size:33px;line-height:1.4;letter-spacing:-.04em}
.lp-split p{margin-top:16px;font-size:14px;line-height:2;color:var(--text)}
.lp-split-media{min-width:0;display:grid;gap:12px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 28px}

.lp-pipeline{display:flex;align-items:stretch;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.lp-pipe-node{flex:1 1 0;min-width:176px;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:22px 20px 20px;transition:border-color .35s,box-shadow .35s,transform .4s var(--ease)}
.lp-pipe-node:hover{border-color:#bfaa7490;box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.lp-pipe-node>.icon{color:var(--gold-text)}
.lp-pipe-node b{position:absolute;top:14px;right:18px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;line-height:1;color:var(--surface-soft)}
.lp-pipe-node strong{display:block;margin-top:14px;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.015em}
.lp-pipe-node p{margin-top:7px;font-size:12px;line-height:1.85;color:var(--muted)}
.lp-pipe-arrow{flex:0 0 auto;align-self:center;display:grid;place-items:center;width:26px;height:26px;color:var(--muted);opacity:.65}
.lp-pipe-arrow .icon{width:18px;height:18px}

.lp-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.lp-compare-col{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px 28px 24px}
.lp-compare-col h3{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.02em}
.lp-compare-col>small{display:block;margin-top:7px;font-size:11px;line-height:1.8;color:var(--muted)}
.lp-compare-col ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px}
.lp-compare-col li{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.85;color:var(--text)}
.lp-check,.lp-cross{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:2px}
.lp-check{background:var(--green-soft);border:1px solid var(--ok-line);color:var(--green)}
.lp-cross{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-text)}
.lp-check .icon,.lp-cross .icon{width:13px;height:13px;stroke-width:2.3}

.lp-faq{display:grid;gap:10px}
.lp-faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.lp-faq-item[open]{border-color:#bfaa7490;box-shadow:var(--shadow)}
.lp-faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:18px 22px;font-size:14px;font-weight:700;color:var(--ink);line-height:1.6}
.lp-faq-item>summary::-webkit-details-marker{display:none}
.lp-faq-item>summary::marker{content:""}
.lp-faq-item>summary .icon{margin-left:auto;flex-shrink:0;color:var(--muted);transition:transform .35s var(--ease)}
.lp-faq-item[open]>summary .icon{transform:rotate(180deg);color:var(--gold-text)}
.lp-faq-item>div,.lp-faq-item>p{padding:0 22px 20px;font-size:13px;line-height:2;color:var(--text);margin:0}

.lp-audience{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lp-audience-card{min-width:0;background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-md);padding:24px 24px 22px;display:grid;gap:11px;align-content:start;transition:border-color .35s,background .35s,transform .4s var(--ease)}
.lp-audience-card:hover{border-color:var(--gold);background:var(--surface);transform:translateY(-3px)}
.lp-audience-card>.icon{color:var(--green)}
.lp-audience-card strong{font-size:15px;color:var(--ink);font-weight:700;letter-spacing:-.015em}
.lp-audience-card p{font-size:12px;line-height:1.9;color:var(--muted)}

.lp-schema{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 28px 24px;display:grid;gap:16px;min-width:0}
.lp-schema h3{display:flex;align-items:center;gap:9px;font-size:16px;letter-spacing:-.02em}
.lp-schema h3 .icon{color:var(--gold-text)}
.lp-schema>p{font-size:12px;line-height:1.9;color:var(--muted)}

.lp-cta{margin-top:84px;position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);border:1px solid #36505a;background:linear-gradient(120deg,var(--deep-2),var(--deep));color:var(--on-deep);padding:50px 52px 46px;text-align:center;box-shadow:0 24px 60px -42px #102f36aa}
.lp-cta:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(620px circle at 50% 0,#c9ab6a26,transparent 70%)}
.lp-cta h2{color:#fff;font-size:35px;line-height:1.4;letter-spacing:-.045em}
.lp-cta>p{margin-top:14px;font-size:14px;line-height:1.95;color:var(--on-deep-soft);max-width:620px;margin-inline:auto}
.lp-cta-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.lp-note{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin-top:18px;font-size:11px;line-height:1.85;color:var(--muted)}
.lp-note .icon{width:14px;height:14px;margin-top:3px;flex-shrink:0}
.lp-cta .lp-note{color:var(--on-deep-soft)}
.lp-cta .lp-stat-row{justify-content:center}

/* ───────────────── 로그인 ───────────────── */
.auth-page{min-height:calc(100dvh - 200px);display:grid;align-content:center;justify-content:center;grid-template-columns:min(440px,100%);gap:26px;padding:48px 0 56px}
.auth-page:has(.auth-side){grid-template-columns:min(440px,100%) minmax(0,330px);align-items:center}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:38px 38px 32px;min-width:0}
.auth-head{display:grid;gap:9px;justify-items:center;text-align:center;margin-bottom:26px}
.auth-head .brand-mark{width:52px;height:52px;border-radius:17px;margin-bottom:5px}
.auth-head .brand-mark svg{width:31px;height:31px}
.auth-head h1{font-size:25px;letter-spacing:-.035em;line-height:1.4}
.auth-head p{font-size:12px;line-height:1.85;color:var(--muted);max-width:300px}
.auth-form{display:grid;gap:16px}
.auth-field{display:grid;gap:0}
.auth-field .field-label{margin-bottom:9px}
.auth-error{display:flex;align-items:flex-start;gap:8px;background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-text);border-radius:var(--r-sm);padding:11px 13px;font-size:12px;line-height:1.8}
.auth-error .icon{width:15px;height:15px;margin-top:2px;flex-shrink:0}
.auth-error:empty{display:none}
.auth-actions{display:grid;gap:11px;margin-top:4px}
.auth-actions .button{width:100%}
.auth-hint{display:flex;align-items:flex-start;gap:8px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line);font-size:11px;line-height:1.9;color:var(--muted)}
.auth-hint .icon{width:14px;height:14px;margin-top:3px;flex-shrink:0;color:var(--gold-text)}
.auth-side{min-width:0;background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px 24px;display:grid;gap:14px;align-content:start}
.auth-side h2{font-size:17px;letter-spacing:-.025em;line-height:1.5}
.auth-side>p{font-size:12px;line-height:1.9;color:var(--muted)}
.auth-side-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.auth-side-list li{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.85;color:var(--text)}
.auth-side-list .icon{width:16px;height:16px;margin-top:3px;flex-shrink:0;color:var(--green)}

/* ───────────────── 의원실 콘솔 ───────────────── */
.app-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:18px;padding:15px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}
.app-bar h1{font-size:19px;letter-spacing:-.03em;line-height:1.4}
.app-bar>p,.app-bar>small{font-size:11px;line-height:1.8;color:var(--muted)}
.app-bar-user{display:flex;align-items:center;gap:11px;margin-left:auto}
.app-bar-user div{min-width:0}
.app-bar-user strong{display:block;font-size:13px;font-weight:700;color:var(--ink);line-height:1.4}
.app-bar-user small{display:block;margin-top:2px;font-size:10px;color:var(--muted);line-height:1.5}
.app-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);background:linear-gradient(140deg,var(--surface),var(--surface-soft));color:var(--gold-text);font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:.01em}

.workbench{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start;margin-top:22px}
.wb-sidebar{position:sticky;top:118px;min-width:0;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px;max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain}
.wb-sidebar h2{font-size:14px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.wb-sidebar h2 .count-pill{margin-left:auto}
.wb-main{min-width:0;display:grid;gap:18px;align-content:start}
.wb-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wb-item{display:block;width:100%;text-align:left;color:var(--text);background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 14px;transition:border-color .25s,background .25s,transform .3s var(--ease),box-shadow .25s}
.wb-item:hover{border-color:var(--gold);background:var(--surface-soft);transform:translateY(-1px)}
.wb-item[aria-current="true"],.wb-item[aria-selected="true"]{border-color:var(--gold);background:var(--green-soft);box-shadow:inset 3px 0 0 var(--gold)}
.wb-item-top{display:flex;align-items:center;gap:8px}
.wb-item-top strong{flex:1 1 auto;min-width:0;font-size:13px;font-weight:700;color:var(--ink);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-item-top .chip{flex-shrink:0}
.wb-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;margin-top:8px;font-size:10px;line-height:1.7;color:var(--muted);font-variant-numeric:tabular-nums}
.wb-item-meta .icon{width:12px;height:12px}
.wb-empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:40px 22px;border:1px dashed var(--line);border-radius:var(--r-md);background:var(--surface-tint);color:var(--muted);font-size:12px;line-height:1.9}
.wb-empty .icon{width:30px;height:30px;color:var(--line)}
.wb-empty strong{font-size:13px;color:var(--ink);font-weight:700}
.wb-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.wb-toolbar>*{min-width:0}
.wb-toolbar .field-input,.wb-toolbar .field-select{height:41px;font-size:12px;padding-top:9px;padding-bottom:9px}
.wb-toolbar .field-select{background-position:calc(100% - 21px) 18px,calc(100% - 16px) 18px}
.wb-toolbar .field-input{padding-left:14px}
.wb-toolbar .input-wrap{flex:1 1 180px;min-width:0}
.wb-toolbar .utility-button,.wb-toolbar .button{flex-shrink:0}

.kv-list{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;font-size:13px}
.kv-list dt{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--muted);white-space:nowrap;padding-top:2px}
.kv-list dd{margin:0;color:var(--ink);line-height:1.85;min-width:0;overflow-wrap:anywhere}

.pain-list{counter-reset:civic-pain;list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pain-list li{display:flex;gap:11px;align-items:flex-start;background:var(--surface-tint);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--r-sm);padding:12px 14px;font-size:13px;line-height:1.85;color:var(--text)}
.pain-list li:before{counter-increment:civic-pain;content:counter(civic-pain);flex:0 0 auto;min-width:13px;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.55;color:var(--warn-text)}

.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.fact-cell{min-width:0;background:var(--surface);padding:15px 16px}
.fact-cell strong,.fact-cell dt{display:block;margin-bottom:7px;font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--gold-text)}
.fact-cell p,.fact-cell dd,.fact-cell span{display:block;margin:0;font-size:13px;line-height:1.85;color:var(--text);overflow-wrap:anywhere}

.law-item{display:grid;gap:5px;background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px}
.law-item+.law-item{margin-top:8px}
.law-item strong{font-size:13px;font-weight:700;color:var(--ink);line-height:1.6}
.law-item em{font-style:normal;font-family:var(--serif);font-size:12px;color:var(--gold-text);letter-spacing:.01em}
.law-item p{margin:0;font-size:12px;line-height:1.85;color:var(--muted)}

.action-item{counter-increment:civic-action;display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;box-shadow:var(--shadow)}
.action-item:first-of-type{counter-reset:civic-action 0}
.action-item+.action-item{margin-top:8px}
.action-item:before{content:counter(civic-action);flex:0 0 auto;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--gold);color:var(--gold-text);background:var(--surface-tint);font-family:var(--serif);font-size:12px;line-height:1}
.action-item div{min-width:0;flex:1 1 auto}
.action-item strong{display:block;font-size:13px;font-weight:700;color:var(--ink);line-height:1.6}
.action-item p{margin:4px 0 0;font-size:12px;line-height:1.85;color:var(--muted)}
.action-item .chip,.action-item .pill{flex-shrink:0;margin-left:auto}

.split-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.output-col{min-width:0;display:grid;gap:16px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 28px 24px}
.output-col-head{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.output-col-head h3{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:16px;letter-spacing:-.025em;line-height:1.5}
.output-col-head h3 .icon{color:var(--gold-text)}
.output-col-head small{font-size:10px;color:var(--muted);letter-spacing:.06em}
.output-col h4{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted);margin-bottom:9px}
.output-col section{min-width:0}
.output-col p{font-size:13px;line-height:1.95;color:var(--text)}

/* ───────────────── 보도자료 비서 ───────────────── */
.press-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
.press-out{min-width:0;display:grid;gap:20px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 32px 26px}
.press-out h3{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.09em;color:var(--muted)}
.press-out h3 .icon{color:var(--gold-text)}
.headline-list{counter-reset:civic-head;list-style:none;margin:0;padding:0;display:grid;gap:9px}
.headline-item{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;font-size:15px;font-weight:700;line-height:1.65;color:var(--ink);transition:border-color .25s,background .25s,transform .3s var(--ease)}
.headline-item:before{counter-increment:civic-head;content:counter(civic-head);flex:0 0 auto;font-family:var(--serif);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;color:var(--gold-text)}
.headline-item:hover{border-color:var(--gold);background:var(--surface-soft);transform:translateY(-1px)}
.headline-item[aria-pressed="true"]{border-color:var(--gold);background:var(--green-soft);box-shadow:inset 0 0 0 .5px var(--gold)}
.press-body{font-size:15px;line-height:2.05;color:var(--text)}
.press-body p+p{margin-top:15px}
.press-quote{position:relative;background:var(--surface-tint);border-left:3px solid var(--gold);border-radius:0 var(--r-md) var(--r-md) 0;padding:20px 24px;font-family:var(--serif);font-size:18px;line-height:1.9;color:var(--ink)}
.press-quote cite,.press-quote small{display:block;margin-top:10px;font-family:var(--font);font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.02em}
.press-meta{display:flex;flex-wrap:wrap;gap:9px 18px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;line-height:1.8;color:var(--muted)}
.press-meta span{display:inline-flex;align-items:center;gap:6px}
.press-meta .icon{width:13px;height:13px}
.tone-options{display:flex;flex-wrap:wrap;gap:7px}
.tone-options label{position:relative;cursor:pointer}
.tone-options input{position:absolute;opacity:0;width:1px;height:1px}
.tone-options>label>span{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:11px;font-weight:550;color:var(--muted);transition:background .25s,border-color .25s,transform .25s,color .25s}
.tone-options .icon{width:14px;height:14px}
.tone-options label:hover>span{border-color:var(--gold);transform:translateY(-2px)}
.tone-options input:checked+span{color:var(--ink);background:var(--surface-soft);border-color:var(--gold);box-shadow:inset 0 0 0 .5px var(--gold)}
.tone-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}

/* ───────────────── 설정 ───────────────── */
.settings-form{display:grid;gap:18px;max-width:680px}
.settings-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px 20px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.settings-row:last-of-type{border-bottom:0;padding-bottom:0}
.settings-row>.field-label,.settings-row>label{margin-bottom:0}
.settings-row>div{min-width:0}
.settings-row small{display:block;margin-top:6px;font-size:10px;line-height:1.8;color:var(--muted)}
.settings-note{display:flex;align-items:flex-start;gap:8px;background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-size:11px;line-height:1.9;color:var(--muted)}
.settings-note .icon{width:15px;height:15px;margin-top:2px;flex-shrink:0;color:var(--gold-text)}

/* ───────────────── 반응형 ───────────────── */
@media(max-width:1200px){
  .lp-hero-inner{padding:52px 40px 44px;gap:26px}
  .lp-hero-copy h1{font-size:50px}
  .lp-hero-copy p{font-size:15px}
  .lp-stat strong{font-size:30px}
  .lp-section{padding-top:70px}
  .lp-feature{padding:26px 26px 23px}
  .lp-split{gap:24px}
  .lp-split h2{font-size:29px}
  .lp-cta{margin-top:70px;padding:44px 40px 40px}
  .lp-cta h2{font-size:31px}
  .workbench{grid-template-columns:284px minmax(0,1fr);gap:18px}
  .press-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px}
  .press-out{padding:26px 27px 23px}
  .output-col{padding:23px 24px 21px}
  .auth-card{padding:34px 32px 29px}
}
@media(max-width:1000px){
  .lp-hero-inner{grid-template-columns:1fr;gap:22px;padding:46px 34px 38px;text-align:center}
  .lp-hero-copy{margin-inline:auto}
  .lp-hero-copy h1{font-size:46px}
  .lp-hero-copy p{margin-inline:auto}
  .lp-hero-copy .hero-actions{justify-content:center}
  .lp-stat-row{justify-content:center;gap:12px 28px}
  .lp-grid-3,.lp-audience{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-split{grid-template-columns:1fr;gap:20px}
  .lp-split h2{font-size:27px}
  .lp-cta h2{font-size:28px}
  .lp-feature-head h3{font-size:17px}
  .split-output{grid-template-columns:1fr;gap:16px}
  .press-grid{grid-template-columns:1fr}
  .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workbench{grid-template-columns:262px minmax(0,1fr)}
  .wb-sidebar{top:106px;padding:17px}
  .app-bar{padding:13px 18px}
  .app-bar h1{font-size:17px}
  .press-body{font-size:14px}
  .press-quote{font-size:17px;padding:18px 21px}
}
@media(max-width:820px){
  .lp-hero{border-radius:28px}
  .lp-hero-inner{padding:42px 28px 34px}
  .lp-hero-copy h1{font-size:42px}
  .lp-hero-visual{padding:20px}
  .lp-section{padding-top:60px}
  .lp-grid-2,.lp-compare{grid-template-columns:1fr}
  .lp-pipeline{flex-wrap:wrap;overflow-x:visible}
  .lp-pipe-node{flex:1 1 210px}
  .lp-pipe-arrow{transform:rotate(90deg);width:100%;height:20px}
  .lp-cta{padding:40px 28px 34px;border-radius:26px}
  .lp-cta h2{font-size:26px}
  .workbench{grid-template-columns:1fr;gap:16px}
  .wb-sidebar{position:static;max-height:none;top:auto}
  .app-bar-user{margin-left:0}
  .app-bar{gap:10px 14px}
  .settings-row{grid-template-columns:1fr;align-items:start;gap:8px}
  .auth-page{grid-template-columns:min(460px,100%);min-height:auto;padding:36px 0 44px}
  .auth-page:has(.auth-side){grid-template-columns:min(460px,100%)}
  .form-grid-2{gap:14px}
}
@media(max-width:600px){
  .lp-hero{margin-top:7px;border-radius:25px}
  .lp-hero-inner{padding:34px 22px 28px;gap:18px}
  .lp-hero-copy h1{font-size:35px;letter-spacing:-.045em}
  .lp-hero-copy p{font-size:13px;line-height:1.95;margin-top:17px}
  .lp-hero-copy .hero-actions{margin-top:23px;gap:14px}
  .lp-hero-visual{padding:17px;border-radius:20px}
  .lp-badge{font-size:9px;padding:6px 11px;letter-spacing:.08em}
  .lp-stat-row{margin-top:26px;padding-top:20px;gap:14px 22px}
  .lp-stat strong{font-size:25px}
  .lp-stat small{font-size:10px}
  .lp-section{padding-top:50px}
  .lp-grid-2,.lp-grid-3,.lp-audience,.lp-compare{grid-template-columns:1fr;gap:12px}
  .lp-feature{padding:22px 21px 20px;border-radius:22px;gap:13px}
  .lp-feature-icon{width:40px;height:40px;border-radius:12px}
  .lp-feature-head h3{font-size:16px}
  .lp-feature-body{font-size:12px}
  .lp-split h2{font-size:24px}
  .lp-split p{font-size:13px}
  .lp-split-media{padding:21px 20px;border-radius:22px}
  .lp-pipe-node{padding:19px 18px 17px;min-width:0}
  .lp-pipe-node strong{font-size:14px}
  .lp-compare-col{padding:22px 21px 19px;border-radius:22px}
  .lp-compare-col h3{font-size:16px}
  .lp-compare-col li{font-size:12px}
  .lp-faq-item>summary{padding:15px 17px;font-size:13px}
  .lp-faq-item>div,.lp-faq-item>p{padding:0 17px 17px;font-size:12px}
  .lp-audience-card{padding:20px 19px}
  .lp-schema{padding:21px 20px 19px;border-radius:22px}
  .lp-cta{margin-top:52px;padding:32px 21px 28px;border-radius:24px}
  .lp-cta h2{font-size:23px;line-height:1.45}
  .lp-cta>p{font-size:12px}
  .lp-cta-actions{gap:11px;margin-top:22px}
  .lp-cta-actions .button{width:100%}
  .lp-note{font-size:10px;text-align:left;justify-content:flex-start}
  .json-view,.lp-schema-pre{font-size:11px;padding:14px 15px;max-height:340px}
  .auth-page{padding:26px 0 36px}
  .auth-card{padding:26px 21px 23px;border-radius:24px}
  .auth-head{margin-bottom:21px}
  .auth-head h1{font-size:21px}
  .auth-head p{font-size:11px}
  .auth-head .brand-mark{width:45px;height:45px;border-radius:14px}
  .auth-side{padding:22px 20px 20px;border-radius:22px}
  .auth-side h2{font-size:15px}
  .app-bar{padding:15px 17px;border-radius:18px;margin-top:12px}
  .app-bar h1{font-size:16px}
  .app-avatar{width:34px;height:34px;font-size:13px}
  .app-bar-user strong{font-size:12px}
  .workbench{margin-top:16px}
  .wb-sidebar{padding:17px 16px;border-radius:22px;gap:12px}
  .wb-item{padding:12px 13px}
  .wb-item-top strong{font-size:12px}
  .wb-item-meta{font-size:9px;gap:5px 8px}
  .wb-empty{padding:32px 18px;font-size:11px}
  .wb-toolbar{gap:8px}
  .wb-toolbar .field-input,.wb-toolbar .field-select{font-size:16px;height:44px}
  .chip{font-size:9px;padding:4px 8px}
  .badge-demo,.badge-live{font-size:9px;padding:4px 9px}
  .output-col{padding:21px 19px 19px;border-radius:22px;gap:14px}
  .output-col-head h3{font-size:15px}
  .output-col p{font-size:12px}
  .kv-list{grid-template-columns:1fr;gap:4px 0;font-size:12px}
  .kv-list dt{padding-top:8px}
  .kv-list dd{padding-bottom:6px;border-bottom:1px solid var(--line)}
  .kv-list dd:last-child{border-bottom:0}
  .pain-list li{font-size:12px;padding:11px 12px}
  .fact-grid{grid-template-columns:1fr;border-radius:18px}
  .fact-cell{padding:13px 14px}
  .fact-cell p,.fact-cell dd,.fact-cell span{font-size:12px}
  .law-item{padding:12px 13px}
  .law-item strong{font-size:12px}
  .action-item{padding:12px 13px}
  .action-item strong{font-size:12px}
  .press-out{padding:22px 19px 19px;border-radius:22px;gap:16px}
  .headline-item{font-size:13px;padding:12px 13px;gap:10px}
  .press-body{font-size:14px;line-height:2}
  .press-quote{font-size:16px;padding:16px 18px}
  .press-meta{font-size:10px;gap:7px 14px}
  .tone-options>label>span{font-size:10px;padding:7px 9px}
  .settings-note{font-size:10px}
  .field-select{font-size:16px;height:47px;background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px}
  .form-grid-2{grid-template-columns:1fr}
  .count-pill{min-width:21px;height:21px;font-size:9px}
}
@media(max-width:360px){
  .lp-hero-inner{padding:29px 17px 24px}
  .lp-hero-copy h1{font-size:31px}
  .lp-stat strong{font-size:23px}
  .lp-feature{padding:20px 17px 18px}
  .lp-cta{padding:28px 17px 25px}
  .lp-cta h2{font-size:21px}
  .auth-card{padding:23px 18px 21px}
  .auth-head h1{font-size:19px}
  .app-bar{padding:13px 15px}
  .wb-sidebar{padding:15px 14px}
  .output-col{padding:19px 16px 17px}
  .press-out{padding:19px 16px 17px}
  .press-quote{font-size:15px;padding:14px 15px}
  .headline-item{font-size:12px}
  .json-view,.lp-schema-pre{font-size:10px;padding:12px 13px}
}

/* ───────────────── 모션 정지 ───────────────── */
html[data-motion="off"] .skeleton:empty,html[data-motion="off"] .skeleton-line{background:var(--surface-soft);animation:none}
html[data-motion="off"] .lp-feature:hover .lp-feature-icon,html[data-motion="off"] .lp-pipe-node:hover,html[data-motion="off"] .lp-audience-card:hover,html[data-motion="off"] .wb-item:hover,html[data-motion="off"] .headline-item:hover,html[data-motion="off"] .tone-options label:hover>span{transform:none}
html[data-motion="off"] .lp-faq-item[open]>summary .icon{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){
  .skeleton:empty,.skeleton-line{background:var(--surface-soft);animation:none}
  .lp-feature:hover .lp-feature-icon,.lp-pipe-node:hover,.lp-audience-card:hover,.wb-item:hover,.headline-item:hover,.tone-options label:hover>span{transform:none}
  .lp-faq-item[open]>summary .icon{transform:rotate(180deg)}
}

/* ───────────────── 인쇄 ───────────────── */
@media print{
  .lp-hero,.lp-cta,.app-bar,.wb-sidebar,.wb-toolbar,.press-grid>form,.tone-options,.settings-form{display:none!important}
  .workbench,.press-grid{display:block}
  .split-output{display:block}
  .output-col,.press-out,.letter-card{break-inside:auto;page-break-inside:auto;box-shadow:none;border:1px solid #ccc;background:#fff;padding:16px;margin-bottom:14px;border-radius:0}
  .output-col-head,.press-out h3{border-bottom:1px solid #ccc}
  .output-col-head h3,.press-out h3,.letter-card h3,.letter-card h4{color:#152b22}
  .output-col p,.press-body,.press-quote,.pain-list li,.fact-cell p,.fact-cell dd,.law-item p,.action-item p,.kv-list dd{color:#22342e;font-size:10.5pt}
  .press-quote{background:#fff;border-left:2px solid #999;border-radius:0}
  .headline-item,.pain-list li,.law-item,.action-item,.fact-cell,.wb-empty{background:#fff;border-color:#ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}
  .fact-grid{background:#fff;border-color:#ccc}
  .json-view,.lp-schema-pre{background:#fff;color:#22342e;border-color:#ccc;max-height:none}
  .chip,.badge-demo,.badge-live,.count-pill{border-color:#999;color:#22342e;background:#fff}
  .skeleton:empty,.skeleton-line{animation:none;background:#eee}
}
