@font-face{font-family:system-placeholder;src:local('Pretendard')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf9f8;color:#393835;font-family:system-placeholder,'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a,button{transition:background .18s,color .18s,transform .18s}a:hover{color:#676561}button:focus-visible,a:focus-visible{outline:3px solid #7a7771;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #7a7771;outline-offset:2px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(38px,4.8vw,66px);line-height:1.22}h2{font-size:clamp(29px,3vw,43px);line-height:1.3}h3{font-size:23px;line-height:1.4}p{color:#7c7974}code,pre,.mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace}img{max-width:100%}.header{height:88px;max-width:1440px;padding:0 64px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;font-size:25px;font-weight:680;letter-spacing:-1px}.brand-sub{font-family:Consolas,monospace;font-size:11px;font-weight:400;margin:5px 0 0 4px;letter-spacing:1px;color:#817e79}.header nav{display:flex;gap:35px;font-size:14px}.header nav a[aria-current]{color:#676561}.header-actions{display:flex;gap:8px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 23px;line-height:1.4;border:1px solid transparent;border-radius:6px;font-size:14px;white-space:nowrap;background:#e8e6e1;color:#393835}.button:hover{background:#dddad4;color:#393835}.button.dark{background:#6b6964;color:#fff}.button.dark:hover{background:#5b5955}.button.outline{background:transparent;border-color:#cdc8bf}.button.outline:hover{background:#e9e7e4}.button.small{font-size:12px;padding:8px 15px;border-radius:5px}.button.wide{width:100%}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px}.text-link:hover{gap:17px}.wrap{max-width:1312px;margin:auto;padding:0 32px}.hero{padding-top:76px}.eyebrow{display:flex;align-items:center;gap:9px;font-family:Consolas,monospace;font-size:11px;letter-spacing:1.4px;color:#75726d;text-transform:uppercase;margin-bottom:26px}.eyebrow:before{content:'';width:7px;height:7px;background:#817e79;border-radius:50%}.hero h1 span{color:#817e79}.hero p{font-size:17px;line-height:1.85;margin-top:24px}.hero-top{display:flex;justify-content:space-between;align-items:flex-end}.hero-aside{font-size:11px;writing-mode:vertical-rl;color:#817e79;letter-spacing:2px;padding-bottom:8px}.actions{display:flex;gap:22px;align-items:center;margin-top:28px;flex-wrap:wrap}.tiny{font-size:12px;color:#817e79}.hero .tiny{font-size:11px;margin-top:14px}.landscape{position:relative;background:#edece9;margin-top:46px;padding:58px 6% 0;overflow:hidden;min-height:455px;border-radius:3px}.landscape:before,.landscape:after{content:'';position:absolute;border:1px solid #817e7966;transform:rotate(-17deg);border-radius:50%;pointer-events:none}.landscape:before{width:1400px;height:500px;top:210px;left:-320px;box-shadow:0 0 0 25px #817e7918,0 0 0 52px #817e7918,0 0 0 78px #817e7918,0 0 0 105px #817e7918,0 0 0 134px #817e7918}.landscape:after{width:850px;height:480px;top:-380px;right:-280px;box-shadow:0 0 0 27px #817e7918,0 0 0 55px #817e7918,0 0 0 85px #817e7918}.editor{position:relative;z-index:1;background:#f8f7f6;border:1px solid #817e79;border-radius:8px 8px 0 0;box-shadow:0 14px 60px #3c3a3726;overflow:hidden;text-align:left}.editor-title{padding:12px 17px;background:#edebe8;border-bottom:1px solid #dcd9d2;display:flex;align-items:center;gap:6px;font-size:11px;color:#817e79}.dot{width:7px;height:7px;border-radius:50%;background:#817e79}.editor-title .title{margin:auto;transform:translateX(-16px);font-size:10px;letter-spacing:.6px}.editor-body{display:grid;grid-template-columns:145px 1fr 42%;min-height:343px}.editor-sidebar{padding:18px 12px;background:#f0efed;border-right:1px solid #e1ded9;font-size:10px;color:#817e79}.file-tree{line-height:2.8;color:#63615d;margin-top:10px}.file-tree .active{background:#e4e1dc;border-radius:3px;padding-left:8px}.editor-code{padding:20px;overflow:auto;font-size:11px;line-height:2.05}.editor-code .tab{padding-bottom:16px;margin-bottom:19px;border-bottom:1px solid #e5e2dd;color:#7a7772}.editor-code pre{margin:0;color:#5b5954}.line-no{color:#817e79;user-select:none}.kw{color:#877491}.fn{color:#6f6c67}.comment{color:#817e79}.agent-pane{background:#fff;border-left:1px solid #e1ded9;padding:20px 22px;font-size:11px}.agent-title{display:flex;justify-content:space-between;font-size:11px;margin-bottom:22px}.badge{display:inline-block;padding:3px 8px;border:1px solid #dbd8d1;border-radius:4px;font-size:10px;letter-spacing:.2px;line-height:1.5;color:#77746f;background:#f0eeeb}.prompt{padding:13px 14px;background:#f1f0ed;border-radius:5px;color:#5a5854;margin-bottom:22px}.agent-message{line-height:2;color:#7a7771}.success{color:#6c6964}.generated-file{border:1px solid #dfdcd7;border-radius:5px;padding:12px;margin-top:18px;display:flex;align-items:center;gap:12px}.file-icon{background:#efedea;padding:5px 8px;color:#6f6c67}.generated-file small{color:#817e79;font-size:9px}.demo-label{position:absolute;top:18px;left:28px;font-size:10px;letter-spacing:1px;color:#6a6762}.trust{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 0 42px;border-bottom:1px solid #dedbd4;font-size:11px;color:#817e79}.trust-logo{font-weight:750;letter-spacing:1.2px;font-size:19px;color:#75736e}.trust-items{display:flex;gap:36px}.section{padding:88px 0;border-bottom:1px solid #dedbd4}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px;gap:24px}.section-head p{max-width:420px;font-size:14px}.section-kicker{font-size:11px;letter-spacing:1.3px;color:#817e79;margin-bottom:15px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:#f4f3f1;padding:28px 28px 32px;min-height:245px;border-radius:3px}.feature-symbol{font-size:26px;color:#73706b;margin-bottom:36px;font-family:Consolas,monospace}.feature-card h3{font-size:20px;margin-bottom:12px}.feature-card p{font-size:13px;line-height:1.9}.feature-card .text-link{margin-top:24px;font-size:12px}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.split p{margin:23px 0;font-size:14px;line-height:1.9}.terminal{background:#383735;border:1px solid #484744;border-radius:6px;overflow:hidden;color:#dedbd5}.terminal-head{padding:14px 20px;border-bottom:1px solid #464441;font-size:11px;color:#817e79;display:flex;justify-content:space-between}.terminal pre{padding:28px;margin:0;font-size:12px;line-height:2;overflow:auto;white-space:pre-wrap}.terminal .green{color:#d7d4cd}.cta{padding:96px 0 84px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:40px}.footer{max-width:none;margin:0;padding:54px max(64px,calc((100% - 1312px)/2)) 30px;background:#f4f3f1}.footer-top{display:flex;justify-content:space-between;padding-bottom:42px;gap:30px}.footer-columns{display:flex;gap:90px;font-size:12px}.footer-columns div{display:flex;flex-direction:column;gap:9px}.footer-columns .muted{margin-bottom:8px}.muted{color:#817e79}.business{border-top:1px solid #dad6cf;padding-top:23px;font-size:11px;line-height:2;color:#817e79}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#817e79;padding-top:22px}.page-heading{padding:64px 0 42px}.page-heading h1{font-size:48px}.page-heading p{margin-top:20px;max-width:730px}.page-heading .eyebrow{margin-bottom:18px}.page-content{padding-bottom:80px}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.price-card{border:1px solid #dbd8d1;padding:25px;border-radius:5px;display:flex;flex-direction:column;position:relative;background:#fcfcfc}.price-card.featured{border-color:#aaa8a3;background:#f4f3f1}.price-card .badge{align-self:flex-start;margin-bottom:17px}.price-card h3{font-size:25px}.price-card p{font-size:12px;margin-top:9px;min-height:42px}.price{font-size:32px;letter-spacing:-1.7px;margin:24px 0 3px;white-space:nowrap}.price small{font-size:12px;color:#817e79;letter-spacing:0}.price-card ul{padding-left:17px;font-size:12px;line-height:2.2;color:#73716c;margin:24px 0 32px;flex:1}.price-card .button{font-size:12px;padding:11px}.note{font-size:12px;color:#817e79;margin:18px 0;line-height:1.9}.panel{border:1px solid #dbd8d1;border-radius:5px;background:#fefefd;padding:30px}.panel h3{margin-bottom:14px}.panel p{font-size:13px}.panel+.panel{margin-top:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;margin:17px 0}.field label{font-size:12px;color:#75726d}.field input,.field select,.field textarea{width:100%;border:1px solid #d1cdc4;border-radius:4px;padding:12px 13px;background:#f9f9f8;color:#33322f;min-width:0}.field textarea{min-height:120px;resize:vertical}.field small{font-size:11px;color:#817e79}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.8;color:#807d78;margin:20px 0}.check input{margin-top:5px;accent-color:#6a6762}.check a{text-decoration:underline}.form-error{color:#a44635;font-size:13px;min-height:20px;margin:10px 0}.field-row{display:flex;gap:10px;align-items:center}.quick-packs{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.pack{padding:9px 15px;border:1px solid #d2cec5;background:#f0efed;border-radius:4px;font-size:12px}.pack:hover,.pack.selected{background:#e1ded8;border-color:#817e79}.total{padding:16px 0;border-top:1px solid #dfdcd6;display:flex;justify-content:space-between;align-items:center;margin-top:22px}.total strong{font-weight:500;font-size:24px}.tabs{display:flex;gap:27px;border-bottom:1px solid #dedbd6;margin:12px 0 30px}.tab-button{background:none;border:0;border-bottom:2px solid transparent;font-size:14px;color:#817e79;padding:13px 0}.tab-button.active{color:#393836;border-bottom-color:#72706b}.resource-list details{border-bottom:1px solid #dedbd6;padding:21px 0}.resource-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:16px}.resource-list summary:after{content:'+';font-size:23px;color:#817e79}.resource-list details[open] summary:after{content:'−'}.resource-list details p{font-size:14px;line-height:1.9;margin-top:18px;white-space:pre-wrap;overflow-wrap:anywhere}.resource-list .answer{background:#eceae7;padding:20px;border-left:2px solid #817e79;margin:18px 0}.row-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.date{font-size:11px;color:#817e79}.empty{padding:40px 10px;text-align:center;color:#817e79;font-size:14px}.account-layout{display:grid;grid-template-columns:220px 1fr;gap:38px}.side-nav{display:flex;flex-direction:column;gap:8px}.side-nav a{font-size:13px;padding:12px 15px;border-radius:4px}.side-nav a:hover,.side-nav a.active{background:#e6e4df}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat{border:1px solid #dad7d1;border-radius:4px;padding:22px}.stat p{font-size:12px}.stat strong{display:block;font-size:31px;font-weight:450;margin-top:12px}.stat small{font-size:11px;color:#817e79}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:15px 10px;border-bottom:1px solid #e2dfda;white-space:nowrap}th{font-weight:400;color:#817e79}.danger{color:#a44b38!important;border-color:#d8b2a5!important}.icon-button{border:0;background:transparent;padding:4px 10px;color:#817e79;font-size:22px}.balance-notice{background:#f2e8dd;padding:20px;margin:20px 0;border-radius:5px;color:#8c563c}.balance-notice strong{display:block;font-size:32px;font-weight:500}.login-wrap{max-width:460px;margin:50px auto 100px}.login-wrap h1{font-size:36px}.login-wrap p{margin:15px 0 25px;font-size:14px}.login-wrap .switch{margin-top:24px;text-align:center;font-size:12px}.link-button{background:none;border:0;text-decoration:underline;color:#6a6762;font-size:inherit;cursor:pointer}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:64px 0 90px}.contact-layout h1{font-size:52px}.contact-layout .lead{margin:26px 0;font-size:16px;line-height:1.9}.contact-benefits{margin-top:60px;display:flex;flex-direction:column;gap:25px;font-size:14px}.contact-benefits span{color:#817e79;padding-right:12px}.contact-form{padding:30px;border:1px solid #d9d5ce;background:#f0efec;border-radius:5px}.honeypot{position:absolute;left:-9999px}.guide-layout{display:grid;grid-template-columns:210px 1fr;gap:60px}.doc-nav{position:sticky;top:30px;align-self:start;display:flex;flex-direction:column;gap:15px;font-size:12px;color:#817e79}.doc-nav strong{color:#43423f;font-weight:500;margin-bottom:5px}.markdown{max-width:850px;overflow-wrap:anywhere}.markdown h1{font-size:35px;margin:10px 0 25px}.markdown h2{font-size:24px;margin:42px 0 18px;padding-top:15px;border-top:1px solid #dfdcd7}.markdown h3{font-size:18px;margin:27px 0 14px}.markdown p{color:#74726d;font-size:14px;line-height:1.95;margin:13px 0}.markdown ul,.markdown ol{padding-left:22px;color:#74726d;font-size:14px;line-height:2}.markdown code{background:#e9e7e4;padding:2px 5px;font-size:12px;color:#5c5a55;border-radius:3px}.markdown pre{background:#383735;padding:24px;overflow:auto;border-radius:5px;position:relative;margin:18px 0}.markdown pre code{background:transparent;padding:0;color:#d9d5ce;font-size:12px;line-height:1.9;white-space:pre-wrap}.markdown a{color:#63615d;text-decoration:underline}.markdown blockquote{border-left:3px solid #817e79;background:#eeece9;padding:8px 20px;margin:20px 0}.copy-button{background:#3e3d3a;border:1px solid #63615c;color:#d8d4cd;font-size:10px;border-radius:3px;padding:4px 10px;float:right}.copy-button.light{background:#efedea;color:#65635e;border-color:#d3cfc7}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step-num{font-size:12px;color:#817e79;padding-bottom:20px;border-bottom:1px solid #d9d6cf;margin-bottom:24px}.step-grid h3{font-size:20px;margin-bottom:12px}.step-grid p{font-size:13px}.sample-doc{background:#fff;padding:42px;border:1px solid #dddad4;box-shadow:8px 8px 0 #e8e6e1}.sample-doc h3{font-size:22px}.sample-doc h4{font-size:13px;font-weight:500;margin-top:25px}.sample-doc p{font-size:12px;margin:15px 0}.flow{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px;background:#f0efed;margin-top:20px;font-size:11px}.flow span{padding:8px 30px;border:1px solid #cac5bc;background:#fafaf9}.flow i{font-style:normal;color:#817e79}dialog{border:1px solid #d1cdc5;border-radius:9px;padding:34px;width:520px;max-width:calc(100vw - 32px);max-height:90vh;overflow:auto;background:#f9f8f7;color:#2e2d2b;box-shadow:0 30px 100px #17171644}dialog::backdrop{background:#17171666;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:8px}dialog h2{font-size:27px;margin-bottom:12px}dialog p{font-size:13px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#31302d;color:#fff;border-radius:5px;padding:12px 22px;font-size:13px;box-shadow:0 10px 35px #27262533;z-index:10;max-width:calc(100vw - 30px);display:none}#toast.visible{display:block}.loading{padding:100px;text-align:center;color:#817e79}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;padding:10px;background:#fff;z-index:100}.secret-key{display:block;overflow-wrap:anywhere;white-space:pre-wrap;background:#e9e7e2;padding:18px;margin:18px 0;font-size:12px;color:#43413e}.status-note{font-size:11px;padding:7px 12px;background:#eae8e4;border-radius:4px;display:inline-block;color:#7c7974;margin-bottom:22px}
@media(min-width:1500px){.hero{padding-top:96px}.landscape{min-height:485px;padding-top:75px}.hero h1{font-size:68px}}
@media(max-width:1000px){.header{padding:0 30px}.header nav{gap:22px}.hero{padding-top:50px}.editor-body{grid-template-columns:110px 1fr 44%}.editor-sidebar{padding:16px 8px}.editor-code{font-size:9px;padding:15px}.agent-pane{padding:18px 15px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.footer{padding:40px 32px}.footer-columns{gap:40px}.contact-layout{gap:40px}.contact-layout h1{font-size:44px}.guide-layout{gap:30px;grid-template-columns:160px 1fr}.account-layout{grid-template-columns:150px 1fr;gap:22px}.stat strong{font-size:24px}}
@media(max-width:700px){.header{height:auto;min-height:100px;padding:18px 20px;flex-wrap:wrap;gap:14px}.brand{font-size:22px}.header nav{order:3;justify-content:center;gap:32px;width:100%;font-size:12px}.header-actions .button{font-size:11px;padding:7px 11px}.wrap{padding:0 22px}.hero{padding-top:36px}.hero h1{font-size:39px}.hero p{font-size:14px}.hero-aside{display:none}.eyebrow{font-size:10px;margin-bottom:18px}.landscape{margin-top:33px;padding:40px 15px 0;min-height:380px}.editor-body{grid-template-columns:1fr}.editor-sidebar,.editor-code{display:none}.agent-pane{border:0;padding:18px 22px}.editor-title .title{font-size:9px}.demo-label{left:18px;top:14px;font-size:9px}.trust{flex-direction:column;gap:20px;padding:27px 0}.trust-items{gap:20px;font-size:10px}.section{padding:52px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:25px;gap:15px}.section-head h2{font-size:30px}.feature-grid,.split,.two-col,.contact-layout,.account-layout,.guide-layout{grid-template-columns:1fr}.feature-card{min-height:0;padding:25px}.feature-symbol{margin-bottom:20px}.split{gap:25px}.terminal pre{font-size:10px;padding:20px}.cta{padding:55px 0;align-items:flex-start;flex-direction:column}.cta h2{font-size:33px}.footer{padding:32px 22px}.footer-top{flex-direction:column;gap:32px}.footer-columns{justify-content:space-between;gap:20px}.footer-bottom{flex-direction:column}.page-heading{padding-top:40px}.page-heading h1{font-size:36px}.page-heading p{font-size:14px}.pricing-grid{gap:10px}.price-card{padding:20px 16px}.price-card h3{font-size:22px}.price{font-size:26px}.price-card ul{font-size:11px;padding-left:13px}.price-card .button{font-size:11px;padding:10px}.panel{padding:22px}.form-grid{gap:12px}.side-nav{flex-direction:row;gap:4px;flex-wrap:wrap}.side-nav a{padding:8px 12px;font-size:12px}.stat-grid{gap:8px}.stat{padding:15px 10px}.stat strong{font-size:22px}.stat small{font-size:10px}.stat p{font-size:10px}.contact-layout{padding-top:38px;gap:32px}.contact-layout h1{font-size:40px}.contact-benefits{margin-top:30px;gap:16px;font-size:13px}.contact-form{padding:22px}.doc-nav{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid #dfdcd7;padding-bottom:20px}.doc-nav strong{width:100%}.markdown h1{font-size:28px}.markdown pre{padding:17px}.step-grid{grid-template-columns:1fr 1fr;gap:28px}.sample-doc{padding:25px}.login-wrap{margin:30px auto 70px}.row-head{flex-wrap:wrap}.page-content{padding-bottom:50px}.form-grid .field{margin:8px 0}.hero .actions{gap:17px}.actions .button{padding:12px 18px}.markdown table{display:block;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}}
.pricing-grid.pricing-five{grid-template-columns:repeat(5,minmax(0,1fr))}.pricing-five .price-card{padding:22px 18px}.pricing-five .price{font-size:27px}.event-banner{margin:0 0 22px;padding:16px 20px;border:1px solid #817e79;background:#e8e6e2;border-radius:5px;color:#565451;font-size:13px}.event-banner strong{margin-right:10px}.card-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;padding:15px;background:#efeeeb;border-radius:5px;font-size:12px}.quick-packs .pack{text-align:left;line-height:1.5}.quick-packs .pack strong{font-size:14px}
@media(max-width:1200px){.pricing-grid.pricing-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.pricing-grid.pricing-five{grid-template-columns:1fr}.card-summary{align-items:flex-start;flex-direction:column}}
.two-col{align-items:stretch}.two-col>.panel+.panel{margin-top:0}.two-col>.panel{display:flex;flex-direction:column}.topup-panel form{margin-top:auto}.auto-panel>.button{margin-top:auto}.auto-panel h3{margin-top:12px}.pack-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#817e79;margin-bottom:10px}.pack-head .link-button{font-size:12px;color:#7d7a74}.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pack{position:relative;text-align:left;padding:14px 12px 12px;border:1px solid #dbd8d1;background:#fefefd;border-radius:8px;display:flex;flex-direction:column;gap:3px;line-height:1.3;min-height:74px}.pack:hover{border-color:#817e79;background:#f0efed}.pack.selected{border-color:#aaa8a3;background:#f4f3f1;box-shadow:inset 0 0 0 1px #aaa8a3}.pack-credits{font-size:18px;font-weight:600;letter-spacing:-.4px;color:#2d2c2a}.pack-credits small{font-size:11px;font-weight:400;color:#7f7c76;margin-left:3px;letter-spacing:0}.pack-price{font-size:12px;color:#3e3c39;font-weight:500}.pack-price s{color:#817e79;font-weight:400;font-size:11px;margin-right:5px}.pack-off{position:absolute;top:8px;right:8px;font-size:10px;padding:2px 7px;border-radius:999px;background:#e4e1dc;color:#55534f;font-weight:600}.total-price{display:flex;align-items:baseline;gap:10px}.total-price s{color:#817e79;font-size:14px}.total-price s:empty{display:none}.total .pill{font-size:11px;padding:2px 8px;border-radius:999px;background:#e4e1dc;color:#55534f;font-weight:600}.total .pill[hidden]{display:none}.field small.error{color:#a44635}.field input.invalid{border-color:#d8b2a5;background:#fcf6f3}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}.how{list-style:none;padding:0;margin:26px 0 30px;display:flex;flex-direction:column;gap:16px;counter-reset:s}.how li{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:start;font-size:13px;line-height:1.7}.how li>b,.how li>span{grid-column:2}.how li:before{grid-row:1/3}.how li:before{counter-increment:s;content:counter(s);width:26px;height:26px;border-radius:50%;background:#e4e1dc;color:#55534f;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.how b{display:block;font-weight:600;color:#33322f}.how span{color:#7c7974}
@media(max-width:700px){.pack-grid{grid-template-columns:repeat(2,1fr)}}
.section-head.stack{display:block}.section-head.stack h2{margin-bottom:12px}.section-head.stack p{max-width:none}.pack-head .label{font-size:13px;color:#4e4c48;font-weight:600}.pack-grid{grid-template-columns:repeat(4,1fr)}.pack{align-items:flex-start;padding:16px 14px 14px;min-height:0;gap:6px}.pack-credits{font-size:22px}.pack-price{display:flex;flex-direction:column;gap:1px;font-size:13px}.pack-price s{margin:0;font-size:11px}.pack-off{display:none}.qty{display:flex;align-items:stretch;gap:8px;margin-top:22px}.qty-btn{width:48px;border:1px solid #d1cdc4;border-radius:8px;background:#f9f9f8;font-size:22px;color:#4e4c48;line-height:1}.qty-btn:hover{background:#eeedea}.qty-field{flex:1;position:relative;display:flex;align-items:center}.qty-field input{width:100%;border:1px solid #d1cdc4;border-radius:8px;padding:12px 64px 12px 16px;font-size:20px;font-weight:600;background:#f9f9f8;color:#33322f;text-align:center;-moz-appearance:textfield}.qty-field input::-webkit-outer-spin-button,.qty-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-unit{position:absolute;right:16px;font-size:13px;color:#817e79;pointer-events:none}.qty-hint{display:block;font-size:11px;color:#817e79;margin:8px 2px 0}.qty-hint.error{color:#a44635}.topup-panel .total{margin-top:20px;align-items:flex-end}.topup-panel .total-price{flex-direction:column;align-items:flex-end;gap:0}.topup-panel .total-price s{font-size:12px;line-height:1.3}.topup-panel .total strong{font-size:26px;line-height:1.2}
@media(max-width:700px){.pack-grid{grid-template-columns:repeat(2,1fr)}}
.sample-code{background:#383735;color:#d9d5ce;border-radius:6px;padding:16px 18px;margin:18px 0 26px;font-size:11px;line-height:1.85;overflow:auto;white-space:pre}.sample-code .kw{color:#c9b6d6}.sample-code .fn{color:#d7d4cd}.sample-doc table{margin:10px 0 4px;font-size:11px}.sample-doc td,.sample-doc th{padding:9px 8px;white-space:normal;vertical-align:top}.sample-doc .mono{font-size:10.5px}.doc-meta{list-style:none;padding:0;margin:10px 0 0;font-size:12px;line-height:2;color:#5e5c58}.doc-meta b{display:inline-block;width:64px;color:#817e79;font-weight:500}.doc-meta code{background:#e9e7e4;padding:1px 5px;border-radius:3px;font-size:11px;color:#5c5a55}.doc-req{padding-left:18px;font-size:12px;line-height:1.9;color:#5e5c58;margin:8px 0 0}.doc-req ol{padding-left:18px;list-style:decimal}.sample-doc .flow i{text-align:center;line-height:1.7}
.req{color:#c0533f;font-weight:600}.required-note{font-size:12px;color:#817e79;margin:0 0 6px}.field small.ok{color:#63615d}.field input::placeholder{color:#817e79}
.optional{font-size:11px;color:#817e79;font-weight:400;margin-left:4px}
.secret{position:relative;display:flex;align-items:center}.secret input{padding-right:46px}.secret .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:6px;color:#817e79;padding:0}.secret .eye:hover{background:#eeedea;color:#4e4c48}.secret .eye[aria-pressed="true"]{color:#63615d}
.stat{display:flex;flex-direction:column}.stat-primary{background:#f4f3f1;border-color:#cac5bc}.stat-action{margin-top:14px;align-self:flex-start}
@media(max-width:700px){.stat-action{margin-top:10px;font-size:11px;padding:7px 11px}}
.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-10px 0 28px;padding:16px 20px;border-radius:6px;background:#f2e8dd;color:#6d4a33;font-size:13px;line-height:1.7}.verify-banner strong{display:block;color:#5a3a25}.verify-banner b{color:#5a3a25}.verify-banner .button{white-space:nowrap;border-color:#d9c3b2;color:#5a3a25}
@media(max-width:700px){.verify-banner{flex-direction:column;align-items:flex-start}}
.profile-card{display:flex;align-items:center;gap:20px;padding:24px 26px;border:1px solid #dbd8d1;border-radius:8px;background:#fefefd;margin-bottom:8px}.avatar{width:56px;height:56px;border-radius:50%;background:#e1ded8;color:#43423f;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;letter-spacing:-.5px;flex:none}.profile-main{flex:1;min-width:0}.profile-name{font-size:20px;font-weight:600;letter-spacing:-.3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:#7f7c76}.profile-meta span+span:before{content:'·';margin-right:14px;color:#c8c3b9}.profile-side{text-align:right;flex:none}.profile-side .muted{display:block;font-size:12px}.profile-side strong{font-size:24px;font-weight:500;letter-spacing:-.5px}.profile-side small{font-size:12px;color:#817e79}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#e4e1dc;color:#55534f;letter-spacing:0}.tag.ok{background:#e4e1dc;color:#55534f}.tag.warn{background:#f2e8dd;color:#8c563c}.settings-section{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:32px 0;border-bottom:1px solid #e2dfda}.settings-section:last-child{border-bottom:0}.settings-about h3{font-size:18px;margin:6px 0 10px}.settings-about p{font-size:13px;line-height:1.8}.settings-about b{color:#43423f;font-weight:600}.settings-body{border:1px solid #e1ded9;border-radius:8px;background:#fefefd;padding:22px 24px}.settings-form .field{margin:0 0 14px}.settings-form .form-grid .field{margin-bottom:14px}.settings-form .readonly{padding:12px 13px;border:1px dashed #d1cdc4;border-radius:4px;background:#f3f2f0;color:#5e5c58;font-size:14px}.form-actions{display:flex;justify-content:flex-end;padding-top:4px}.settings-section.is-danger .settings-body{border-color:#e3c9bd;background:#faf3ef}.settings-section.is-danger .settings-about h3{color:#8a3f2b}.danger-box{display:flex;align-items:center;justify-content:space-between;gap:20px}.danger-box strong{display:block;font-size:14px;color:#5a3a25;margin-bottom:4px}.danger-box span{font-size:12.5px;color:#8c563c;line-height:1.6}
@media(max-width:1000px){.settings-section{grid-template-columns:1fr;gap:16px;padding:24px 0}}@media(max-width:700px){.profile-card{flex-wrap:wrap}.profile-side{text-align:left;width:100%}.danger-box{flex-direction:column;align-items:flex-start}}

/* Natural ALIRA palette: warm paper, clear ink, selective brand accents. */
:root{
  --alira-sky:#8CA7D9;
  --alira-accent:#5887DF;
  --alira-primary:#304EA8;
  --alira-navy:#15358C;
  --alira-canvas:#FAF9F6;
  --alira-surface:#FFFEFC;
  --alira-soft:#EDF3FF;
  --alira-border:#E3E0D9;
  --alira-ink:#262622;
  --alira-muted:#716F68;
}
body{background:var(--alira-canvas);color:var(--alira-ink)}
p,.muted,.tiny,.note{color:var(--alira-muted)}
.brand{color:var(--alira-ink);gap:10px}
.brand img{width:34px;height:34px;object-fit:contain;flex-shrink:0}
.footer .brand img{width:30px;height:30px}
.button{background:#ECEAE4;color:var(--alira-ink)}
.button:hover{background:#E2DFD7;color:var(--alira-ink)}
.button.dark{background:#292A26;color:#fff}
.button.dark:hover{background:#41433C}
.button.outline{background:transparent;border-color:#D7D4CC}
.button.outline:hover{background:#EFEEE8}
a:hover,.link-button,.header nav a[aria-current]{color:var(--alira-primary)}
button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus{outline-color:var(--alira-accent)}
.check input{accent-color:var(--alira-primary)}
.eyebrow:before{background:var(--alira-accent)}
.hero h1 span{color:#4B6CB2}
/* Warm light and open sky frame the product, without tinting the entire page. */
.landscape{
  background:
    radial-gradient(ellipse at 6% 100%,#E7AE81 0%,transparent 53%),
    radial-gradient(ellipse at 94% 100%,#AAC8B4 0%,transparent 52%),
    radial-gradient(ellipse at 38% 0%,#F8DFC1 0%,transparent 57%),
    linear-gradient(115deg,#F1CCA9 0%,#E8DECF 42%,#B3CDE8 100%);
}
.landscape:before,.landscape:after{border:0;box-shadow:none;background:none}
.demo-label{color:#57574D}
.editor{background:#FFFEFC;border-color:#CFCFC6;box-shadow:0 18px 55px #45453622}
.editor-title{background:#F3F2EE;border-color:#E3E1DA;color:#716F68}
.dot:nth-child(1){background:#D78876}
.dot:nth-child(2){background:#DCBD70}
.dot:nth-child(3){background:#8EAF92}
.editor-sidebar{background:#F7F6F2;border-color:#E7E4DD}
.file-tree .active{background:#E9EDE6;color:#425C48}
.editor-code pre{color:#41433E}
.editor-code .kw{color:#8D5985}
.editor-code .fn{color:#3D6DAD}
.agent-pane{background:#FFFEFC;border-color:#E7E4DD}
.prompt{background:#F1F3ED;color:#444A3D}
.agent-message{color:#62665B}
.success,.field small.ok{color:#377658}
.file-icon{background:#EAF0E5;color:#547442}
.generated-file{border-color:#DFE4D9}
.panel,.price-card,.profile-card,.settings-body,dialog{background:var(--alira-surface);border-color:var(--alira-border)}
.feature-card{background:#F0F3EC}
.feature-card:nth-child(2){background:#F8EDE3}
.feature-card:nth-child(3){background:#EDF2F9}
.feature-symbol{color:#557255}
.feature-card:nth-child(2) .feature-symbol{color:#AD6D46}
.feature-card:nth-child(3) .feature-symbol{color:#4B70B1}
.footer{background:#F0EEE7}
.card-summary{background:#F3F4EE}
.contact-benefits span{color:#55795F}
.contact-form{background:#F2F3ED;border-color:#DEE3D8}
.field input,.field select,.field textarea,.qty-field input,.qty-btn{background:#FFFEFC;border-color:#D7D4CC}
.field input,.field select,.field textarea,.qty-field input{color:var(--alira-ink)}
.qty-btn:hover{background:#F0EEE7}
.price-card.featured{background:#EFF4FD;border-color:#A5BAE4}
.price-card.featured .badge{background:#DFE9FC;color:var(--alira-primary);border-color:#CDDCF6}
.price-card.featured .button.dark{background:var(--alira-primary)}
.price-card.featured .button.dark:hover{background:var(--alira-navy)}
.pack{background:#FFFEFC;border-color:var(--alira-border)}
.pack:hover{background:#F4F7FD;border-color:#A5BAE4}
.pack.selected{background:var(--alira-soft);border-color:#7498DC;box-shadow:inset 0 0 0 1px #7498DC}
.stat-primary{background:#EDF4EA;border-color:#CCDCC3}
.badge,.tag{background:#F0F1EB;color:#5C6652;border-color:#DFE3D7}
.tag.ok,.pack-off,.total .pill{background:#E8F1E6;color:#47724A;border-color:#CBDDC5}
.event-banner{background:#FCEDDB;border-color:#EED8BC;color:#885B32}
.tab-button.active{color:var(--alira-primary);border-bottom-color:var(--alira-accent)}
.side-nav a.active,.avatar{background:#EAF0FB;color:var(--alira-primary)}
.side-nav a:hover{background:#F1F4FA}
.how li:before{background:#EAF0E5;color:#4C6A40}
.markdown a,.markdown code,.doc-meta code{color:var(--alira-primary)}
.markdown code,.doc-meta code{background:#EEF1F7}
.markdown blockquote,.resource-list .answer{background:#F0F3EB;border-left-color:#92AA83}
.terminal,.sample-code,.markdown pre{background:#282C28;color:#E0E5DA;border-color:#3E443D}
.terminal-head{color:#A9B2A1;border-bottom-color:#40463D}
.terminal .green{color:#B8D69B}
.terminal .comment{color:#A6B39C}
.sample-code .fn{color:#A9C6FB}
.markdown pre code{color:#E0E5DA;background:transparent}
.copy-button{background:#3A4237;color:#E0E5DA;border-color:#56604F}
.copy-button.light{background:#EEEEE7;color:#526148;border-color:#D7DDCE}
.sample-doc{box-shadow:8px 8px 0 #ECE9E1}
.flow{background:#F2F3ED}
.flow span{background:#FFFEFC;border-color:#D8DFD0}
.secret-key{background:#EEF2F9}
.tag.warn{background:#F8EBDD;color:#8C563C}
.field input.invalid{border-color:#D8B2A5;background:#FCF6F3}
.settings-section.is-danger .settings-body{border-color:#E3C9BD;background:#FAF3EF}

.seg{display:inline-flex;padding:3px;border:1px solid #DFE3D7;border-radius:999px;background:#F5F6F1;gap:2px}.seg button{border:0;background:transparent;color:#7c7974;padding:5px 13px;border-radius:999px;font-size:12px;line-height:1.4}.seg button:hover{color:#393835}.seg button.active{background:#fff;color:#393835;box-shadow:0 1px 2px rgba(40,40,35,.08)}table.ledger th.num,table.ledger td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.ledger td.plus{color:#4F6E45;font-weight:600}table.ledger td.minus{color:#8C563C}table.ledger td:last-child{color:#55534f}
table.ledger th.sortable{padding:0}table.ledger th.sortable button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:15px 10px;color:#817e79;font-size:12px;white-space:nowrap}table.ledger th.sortable.num button{width:100%;justify-content:flex-end}table.ledger th.sortable button:hover,table.ledger th.sorted button{color:#393835}table.ledger .sort-icon{font-size:11px;opacity:.45}table.ledger th.sorted .sort-icon{opacity:1}
td.key-name{white-space:nowrap}td.key-name .icon-button{font-size:14px;padding:2px 6px;margin-left:4px;opacity:.55;vertical-align:middle;border-radius:6px}td.key-name .icon-button:hover{opacity:1;background:#EEEDE8;color:#393835}
.delete-lead{color:#393835}.keep-notice{display:flex;gap:12px;align-items:flex-start;background:#F0F1EB;border:1px solid #DFE3D7;border-radius:8px;padding:14px 16px;margin:18px 0 22px;color:#393835}.keep-notice .mark{flex:none;width:22px;height:22px;border-radius:50%;background:#5C6652;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.keep-notice strong{display:block;font-weight:600;font-size:14px}.keep-notice small{display:block;margin-top:2px;font-size:12.5px;color:#7c7974}


.user-menu{position:relative;margin-left:4px}.avatar-button{width:34px;height:34px;border-radius:50%;border:0;padding:0;background:linear-gradient(135deg,var(--alira-primary) 0%,var(--alira-accent) 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:0;cursor:pointer;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--alira-border);transition:box-shadow .18s,transform .18s}.avatar-button:hover{transform:translateY(-1px)}.avatar-button:focus-visible,.user-menu.open .avatar-button{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--alira-sky)}
.user-menu .menu{position:absolute;right:0;top:calc(100% + 12px);width:252px;background:var(--alira-surface);border:1px solid var(--alira-border);border-radius:14px;box-shadow:0 18px 40px rgba(38,38,34,.14),0 2px 6px rgba(38,38,34,.06);padding:8px;z-index:60;display:flex;flex-direction:column;transform-origin:top right;animation:menu-in .14s ease-out}.user-menu .menu[hidden]{display:none}
@keyframes menu-in{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.user-menu .menu::before{content:"";position:absolute;right:11px;top:-6px;width:10px;height:10px;background:var(--alira-surface);border-left:1px solid var(--alira-border);border-top:1px solid var(--alira-border);transform:rotate(45deg)}
.user-menu .menu-head{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;margin-bottom:6px;border-bottom:1px solid #EEECE7}.user-menu .menu-head .avatar-lg{flex:none;width:40px;height:40px;border-radius:50%;background:var(--alira-soft);color:var(--alira-primary);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.user-menu .menu-head div{min-width:0}.user-menu .menu-head strong{display:block;font-size:13.5px;font-weight:600;color:var(--alira-ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu .menu-head span{display:block;font-size:12px;color:var(--alira-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-menu .menu a,.user-menu .menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--alira-ink);border:0;background:transparent;cursor:pointer}.user-menu .menu a:hover,.user-menu .menu button:hover{background:#F3F2EE;color:var(--alira-ink)}.user-menu .menu svg{flex:none;width:16px;height:16px;stroke:var(--alira-muted);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.user-menu .menu a:hover svg{stroke:var(--alira-primary)}
.user-menu .menu-sep{height:1px;background:#EEECE7;margin:6px 4px}.user-menu .menu-logout{color:#8C563C}.user-menu .menu-logout svg{stroke:#8C563C}.user-menu .menu-logout:hover{background:#FAF3EF;color:#8C563C}

/* 서버가 세션을 보고 <html data-auth> 를 정하므로 첫 화면부터 올바른 헤더가 보인다(깜빡임 없음). */
.user-menu{display:none}html[data-auth="user"] .user-menu{display:block}html[data-auth="user"] #account-link{display:none}

.side-nav a{transition:background .15s,color .15s}.side-nav .side-out{color:#7c7974}.side-nav .side-out:hover{color:#393835}@media(min-width:701px){.side-nav{position:sticky;top:24px;align-self:start}}

.account-layout .panel{scroll-margin-top:24px}

.turns{margin:12px 0 6px}.turns-bar{height:8px;border-radius:999px;background:#ECEAE4;overflow:hidden}.turns-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--alira-primary),var(--alira-accent));transition:width .3s}.turns-text{margin-top:8px;font-size:12.5px;color:#7c7974}.turns-text strong{color:#393835;font-weight:600}ul.plain{margin:10px 0 0;padding-left:18px;color:#7c7974;font-size:13px}ul.plain li{margin:3px 0}.stat-grid:has(> .stat:nth-child(4)){grid-template-columns:repeat(4,1fr)}
.secure .section-head .lead{max-width:420px}.secure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.secure-card{border:1px solid #dbd8d1;border-radius:6px;background:#fefefd;padding:22px 20px}.secure-icon{font-size:20px;margin-bottom:12px}.secure-card h3{font-size:15px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}.secure-card p{font-size:13px;line-height:1.6}.secure-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:18px 0 8px;padding:14px 18px;border:1px solid #DFE3D7;border-radius:8px;background:#F5F6F1;font-size:12.5px;color:#55534f}.secure-strip .secure-title{font-weight:600;color:#393835}.secure-strip span i{font-style:normal;margin-right:5px}.secure-strip .text-link{margin-left:auto}@media(max-width:1000px){.secure-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.secure-grid{grid-template-columns:1fr}.secure-strip .text-link{margin-left:0}}
.secure-icon svg,.secure-strip span i svg{width:22px;height:22px;fill:none;stroke:var(--alira-primary);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.secure-strip span{display:inline-flex;align-items:center;gap:6px}.secure-strip span i{display:inline-flex}.secure-strip span i svg{width:15px;height:15px}
.plan-notes{margin:18px 0 6px;border:1px solid #E3E1DB;border-radius:10px;background:#FFFEFC}.plan-notes summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:13.5px;font-weight:600;color:#393835}.plan-notes summary::-webkit-details-marker{display:none}.plan-notes summary i{font-style:normal;font-size:18px;color:#7c7974;transition:transform .18s}.plan-notes[open] summary i{transform:rotate(90deg)}.plan-notes ul{margin:0;padding:0 18px 16px 18px;list-style:none;display:grid;gap:8px;border-top:1px solid #EEECE7}.plan-notes li{position:relative;padding:10px 0 0 14px;font-size:13px;line-height:1.6;color:#55534f}.plan-notes li::before{content:"";position:absolute;left:0;top:18px;width:5px;height:5px;border-radius:50%;background:var(--alira-sky)}.plan-notes li strong{color:#393835;font-weight:600;margin-right:4px}
.sub-head{font-size:13px;font-weight:600;color:#55534f;margin:22px 0 10px;letter-spacing:0}.retention{border:1px solid #E3E1DB;border-radius:8px;padding:14px 16px;background:#FFFEFC}.retention-options{display:grid;gap:10px}.retention .radio{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#393835;cursor:pointer}.retention .radio input[type=radio]{margin-top:4px;accent-color:var(--alira-primary)}.retention .radio small{color:#7c7974;font-size:12px}.retention .inline-days{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.retention .inline-days input{width:72px;padding:5px 8px;border:1px solid #D7D4CC;border-radius:6px;font-size:13px;text-align:right}.retention .form-actions{margin-top:12px}table.data-table th.pick-col,table.data-table td:first-child{width:34px;padding-left:6px;padding-right:6px}table.data-table input[type=checkbox]{accent-color:var(--alira-primary);width:15px;height:15px}table.data-table td strong{font-weight:600;color:#393835}.muted{color:#7c7974}ul.plain.compact{margin:8px 0 14px;font-size:12.5px}
.data-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:8px}.data-stats .stat > small{display:block;margin-top:4px;color:#7c7974;font-size:12px}.data-stats .stat-muted strong{color:#817e79}
.retention-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;background:#F0F1EB;border:1px solid #DFE3D7;font-size:13px;color:#393835;margin-bottom:16px}.retention-status .dot{width:8px;height:8px;border-radius:50%;background:#5C6652;flex:none}.retention-status.saved{animation:saved-flash 1.6s ease-out}@keyframes saved-flash{0%{background:#DFF0DE;border-color:#B9D7B7}100%{background:#F0F1EB;border-color:#DFE3D7}}
.retention{border:0;padding:0;background:transparent}.retention-options{display:grid;gap:8px}.retention .radio{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #E3E1DB;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.retention .radio:has(input:checked){border-color:var(--alira-sky);background:#F7F9FD}.retention .radio input[type=radio]{margin-top:3px}.retention .radio b{display:block;font-weight:600;font-size:13.5px;color:#393835}.retention .radio small{display:block;margin-top:2px;color:#7c7974;font-size:12.5px}.retention .inline-days{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.retention .form-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:14px}.save-hint{font-size:12.5px;color:#4F6E45}.button.is-saved{background:#4F6E45}
.table-toolbar{display:flex;align-items:center;gap:14px;padding:0 0 10px;font-size:12.5px;color:#7c7974}.check-inline{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#55534f}.check-inline input{accent-color:var(--alira-primary)}.pick-count{flex:1}
table.data-table th.row-actions,table.data-table td.row-actions{width:64px;text-align:right;white-space:nowrap}.row-x,.row-dl{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:#817e79;font-size:13px;cursor:pointer;margin-left:4px;text-decoration:none}.row-x:hover{color:#8C563C;background:#FAF3EF;border-color:#E3C9BD}.row-dl:hover{color:var(--alira-primary);background:#EDF3FF;border-color:#D8DFD0}.file-link{color:#393835;font-weight:600;text-decoration:none;border-bottom:1px solid #D7D4CC}.file-link:hover{color:var(--alira-primary);border-color:var(--alira-primary)}
.empty small{display:block;margin-top:6px;color:#9a978f;font-size:12px}
@media(max-width:1000px){.data-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.data-stats{grid-template-columns:1fr}}

.retention-card{display:block}.retention-current{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;background:#F7F8F4;border:1px solid #E3E6DC}.retention-current .dot{width:9px;height:9px;border-radius:50%;background:#5C6652;flex:none}.retention-current .text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.retention-current .text>small{font-size:11.5px;letter-spacing:.04em;color:#7c7974;text-transform:uppercase}.retention-current .text strong{font-size:15px;font-weight:600;color:#393835}.retention-current .text strong strong{font-size:inherit;color:var(--alira-primary)}.retention-current .text .muted{font-size:12.5px;text-transform:none;letter-spacing:0}.retention-current .button{flex:none}.retention-current.saved{animation:saved-flash 1.6s ease-out}.retention-view .save-hint{display:block;margin-top:8px;min-height:1em;text-align:right}.retention[hidden],.retention-view[hidden]{display:none}@media(max-width:560px){.retention-current{flex-wrap:wrap}.retention-current .button{width:100%}}

/* 헤더 "내 정보" 드롭다운 (로그인 시에만) */
.header nav .nav-drop{position:relative;display:none}html[data-auth="user"] .header nav .nav-drop{display:block}.nav-drop>a{display:inline-flex;align-items:center;gap:4px}.nav-drop .chev{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.nav-drop:hover .chev,.nav-drop:focus-within .chev{transform:rotate(180deg)}.nav-drop .nav-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%);padding-top:14px;display:none;z-index:60}.nav-drop:hover .nav-menu,.nav-drop:focus-within .nav-menu{display:block;animation:menu-in .14s ease-out}.nav-menu>div{position:relative;min-width:184px;padding:6px;background:var(--alira-surface);border:1px solid var(--alira-border);border-radius:12px;box-shadow:0 18px 40px rgba(38,38,34,.14),0 2px 6px rgba(38,38,34,.06)}.nav-menu>div::before{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;margin-left:-5px;background:var(--alira-surface);border-left:1px solid var(--alira-border);border-top:1px solid var(--alira-border);transform:rotate(45deg)}.nav-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:13px;color:var(--alira-ink);white-space:nowrap}.nav-menu a:hover{background:#F3F2EE;color:var(--alira-ink)}.header nav .nav-menu a[aria-current]{background:#EAF0FB;color:var(--alira-primary)}@media(max-width:700px){.nav-drop .nav-menu{left:auto;right:0;transform:none}.nav-menu>div::before{left:auto;right:18px}}
/* 계정 왼쪽 세부 메뉴 */
.side-nav .side-title{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7c7974;padding:4px 15px 6px}.side-nav .side-title-sub{padding-top:2px}.side-nav .side-sep{height:1px;background:#E8E6E0;margin:10px 12px 8px}.side-nav .side-other{color:#7c7974;font-size:12.5px;padding:9px 15px}.side-nav .side-other:hover{color:#393835}.settings-section{scroll-margin-top:24px}@media(max-width:700px){.side-nav .side-title,.side-nav .side-sep{width:100%}.side-nav .side-title{padding:4px 8px}}

.tag.muted{background:#EFEDE8;color:#8a8780;border-color:#E3E1DB}.tag.info{background:#EAF0FB;color:var(--alira-primary);border-color:#D6E0F5}

.button.soft{background:#EFECE6;color:#393835;border-color:#E6E2DA}.button.soft:hover{background:#E6E2DA;border-color:#DAD5CB;color:#393835}

/* 팝오버로 뜰 때 브라우저 기본 팝오버 스타일(inset:0·margin:auto·테두리) 을 걷어내고 원래 위치를 유지 */
#toast[popover]{inset:auto;top:auto;right:auto;bottom:26px;left:50%;margin:0;border:0;width:auto;height:auto;overflow:visible;color:#fff;background:#31302d}#toast:popover-open{display:block}#toast:popover-open:not(.visible){display:none}

.status-note.policy-note{margin-top:8px}p.note.policy-note{margin-top:6px;padding:10px 12px;border-radius:8px;background:#F7F8F4;border:1px solid #E3E6DC;color:#55534f}

/* 가이드 코드 상자: 클릭해 고쳐서 복사 가능(저장 안 함) */
.markdown pre code[contenteditable]{display:block;outline:none;white-space:pre-wrap;cursor:text;min-height:1em}.markdown pre:focus-within{box-shadow:0 0 0 2px var(--alira-sky)}

.connect .section-head p{max-width:520px}.connect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.connect-card{background:#f4f3f1;padding:26px 24px 28px;border-radius:3px;display:flex;flex-direction:column;gap:12px}.connect-card h3{font-size:19px}.connect-card p{font-size:13px;line-height:1.85;min-height:70px}.connect-card code{background:#e9e7e4;padding:2px 5px;border-radius:3px;font-size:12px;color:#5c5a55}.connect-card .terminal pre{padding:18px 20px;font-size:11.5px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.connect-card .terminal code{background:transparent;padding:0;color:inherit;font-size:inherit}.connect-card .actions{margin-top:auto;gap:10px}.connect .note{margin:26px 0 0}.static-intro{max-width:850px;margin:64px auto;padding:0 32px}.static-intro h1{font-size:34px;margin-bottom:18px}.static-intro p{margin:12px 0;font-size:15px}.static-intro pre{background:#383735;color:#d9d5ce;padding:18px 22px;border-radius:5px;font-size:12px;overflow:auto;white-space:pre-wrap}.static-intro ul{padding-left:20px;color:#74726d}.static-intro .loading{padding:40px 0;color:#74726d;font-size:14px}/* 정적 소개 글은 검색엔진·JS 없는 방문자용이다. i18n.js 가 html[data-lang] 을 붙이면(JS 가 도는 브라우저) '불러오는 중' 줄까지 통째로 숨겨 앱이 홈을 그릴 때까지 본문을 비워 둔다(2026-10-29, 2026-11-03). */html[data-lang] .static-intro{display:none}/* 앱이 #main 을 처음 그릴 때까지(정적 소개 글이 남아 있는 동안) 헤더·푸터까지 숨겨 배경만 보인다. app.js 가 #main 을 바꾸면 :has() 가 풀려 헤더와 본문이 함께 나타난다. app.js 를 못 받는 경우를 대비해 5초 뒤에는 헤더를 다시 보인다(2026-11-03). */html[data-lang] body:has(>#main>.static-intro)>*{visibility:hidden;animation:alira-reveal 0s 5s forwards}@keyframes alira-reveal{to{visibility:visible}}@media (max-width:900px){.connect-grid{grid-template-columns:1fr}}

/* API 과금 섹션 · 키 화면 사용량 */
.api-billing .lead{max-width:60ch;color:#55534f;margin:0}.api-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:8px}.api-grid .panel h3{margin-top:0}.api-grid td:nth-child(3){vertical-align:middle;color:#393835}.api-grid .how{margin:12px 0 18px}@media(max-width:700px){.api-grid{grid-template-columns:1fr}}
.api-usage{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;padding:12px 14px;border:1px solid #E3E1DB;border-radius:8px;background:#FBFAF8;margin:12px 0 14px;font-size:13px}.api-usage span{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}.api-usage strong{display:block;font-size:14px;color:#393835;margin-top:2px}.api-usage .text-link{align-self:center}

/* 로그인 · 소셜 로그인 · 온보딩 · 로그인 방식 */
.auth-section-label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#7c7974;font-weight:600;margin:22px 0 8px}
.auth-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px}
.divider{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:#8a8780;font-size:12px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:#E3E1DB}
.social-buttons{display:grid;gap:8px}.button.social{justify-content:center;gap:10px;border-radius:999px;background:#fff;border-color:#D7D4CC;color:#393835;font-weight:500}.button.social:hover{background:#F7F6F3}.button.social.is-off{opacity:.55;cursor:not-allowed}
.social-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-style:normal;flex:none}.social-mark svg{width:20px;height:20px;display:block}.social-mark.key{width:24px;height:24px;border-radius:50%;background:#EAF0FB;color:#2f4f8f;font-size:9px;font-weight:700;letter-spacing:0}
.auth-notice{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:8px;background:#F8EBDD;border:1px solid #EAD3B8;color:#5a3d22;font-size:13px;margin:0 0 16px}.auth-notice strong{font-size:13.5px}
.login-wrap.onboarding{max-width:520px}
/* 소셜 로그인만 있는 가입·로그인 화면: 제목·안내를 가운데 정렬. .auth-sub 는 'ALIRA 시작하기' 아래 작은 강조 안내 */
.login-wrap.auth-center{text-align:center}.login-wrap.auth-center .eyebrow,.login-wrap.auth-center .switch{justify-content:center}.login-wrap.auth-center .auth-notice{text-align:left}
.login-wrap .auth-sub{margin:-6px 0 26px;font-size:15px;font-weight:600;color:var(--alira-primary)}
/* 요금제 탭(개인 | Free & Enterprise): Claude 요금제 페이지의 분할 탭처럼 가운데 알약형. 상태는 URL 해시(#free-enterprise) */
.plan-tabs-wrap{display:flex;justify-content:center;margin:4px 0 26px}.plan-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#EEECE7;border:1px solid #E3E0D9}
.plan-tab{border:0;background:transparent;padding:9px 20px;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;color:#716F68;cursor:pointer}.plan-tab.active{background:#fff;color:#262622;box-shadow:0 1px 4px rgba(38,38,34,.10)}
.pricing-three{grid-template-columns:repeat(3,1fr)}.pricing-two{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto}
@media(max-width:1000px){.pricing-three{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.pricing-three,.pricing-two{grid-template-columns:1fr}}
/* 카드 색감(기존 팔레트): Free 차분한 회색 < Starter 흰 바탕·연파랑 배지 < Pro 연파랑 바탕·파랑 테두리 < Ultra 남색 그라데이션·흰 글자. Enterprise 는 짙은 배지 */
.price-card{border-radius:12px;padding:28px 26px}.price-card ul{padding-left:18px}.price-card li{list-style:none;position:relative}.price-card li::before{content:"✓";position:absolute;left:-18px;color:var(--alira-accent);font-weight:700}
.price-card.tier-free{background:#F4F3F1;border-color:#E3E0D9}
.price-card.tier-starter{background:var(--alira-surface);border-color:#DBD8D1}.price-card.tier-starter .badge{background:#EDF3FF;color:#304EA8;border-color:#C9D7F3}
.price-card.tier-pro,.price-card.tier-pro.featured{background:linear-gradient(180deg,#EDF3FF 0%,#FFFEFC 70%);border-color:#8CA7D9;box-shadow:0 14px 34px -24px rgba(48,78,168,.45)}.price-card.tier-pro .badge{background:#304EA8;border-color:#304EA8;color:#fff}.price-card.tier-pro h3,.price-card.tier-pro .price{color:#15358C}
.price-card.tier-ultra{background:linear-gradient(160deg,#15358C 0%,#304EA8 60%,#3F63C4 100%);border-color:#15358C;color:#fff;box-shadow:0 22px 44px -22px rgba(21,53,140,.6)}.price-card.tier-ultra h3,.price-card.tier-ultra .price,.price-card.tier-ultra p{color:#fff}.price-card.tier-ultra ul{color:#DCE4F7}.price-card.tier-ultra li::before{color:#fff}.price-card.tier-ultra .badge{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}.price-card.tier-ultra .button{background:#fff;color:#15358C;border-color:#fff}.price-card.tier-ultra .button:disabled{opacity:.7}
.price-card.tier-enterprise{background:var(--alira-surface)}.price-card.tier-enterprise .badge{background:#262622;border-color:#262622;color:#fff}
/* 로그인·가입 팝업(#modal.auth): /login 은 홈 위에 dialog 로 뜬다. 로고·제목·부제·소셜 버튼을 가운데 정렬, 양식은 왼쪽 정렬 */
#modal.auth{width:440px;padding:44px 36px 34px;border-radius:16px}
#modal.auth .wrap{max-width:none;padding:0;margin:0}#modal.auth .login-wrap{margin:0;max-width:none;text-align:center}
#modal.auth .auth-body{outline:none}#modal.auth .login-wrap .eyebrow{display:none}#modal.auth .auth-logo{display:flex;justify-content:center;margin:0 0 14px}#modal.auth .auth-logo img{width:44px;height:44px}
#modal.auth .login-wrap h1{font-size:27px;line-height:1.25;margin:0 0 8px;letter-spacing:-.01em;text-wrap:balance}#modal.auth .login-wrap p{margin:0 0 22px}#modal.auth .login-wrap .auth-sub{margin:-2px 0 24px}
#modal.auth form,#modal.auth .auth-section-label,#modal.auth .auth-notice{text-align:left}#modal.auth .divider{margin:18px 0 12px}#modal.auth .switch{margin-top:20px}#modal.auth .button.social{padding:13px 16px;font-size:14.5px}
@media(max-width:560px){#modal.auth{padding:36px 22px 28px}}
.identity-list{display:flex;flex-direction:column;border:1px solid #E3E1DB;border-radius:8px;background:#fff;overflow:hidden}.identity-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #EEECE7}.identity-row:last-child{border-bottom:0}.identity-main{display:flex;align-items:center;gap:12px;min-width:0}.identity-main strong{display:block;font-size:14px}.identity-main small{display:block;color:#7c7974;font-size:12px}.identity-main small b{color:#393835;font-weight:600}
.avatar.has-image{padding:0;overflow:hidden}.avatar.has-image img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:560px){.auth-actions{grid-template-columns:1fr}}

/* 자동 삭제 예고 · 본인 확인 */
.retention-warn{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:8px;background:#F8EBDD;border:1px solid #EAD3B8;color:#5a3d22;margin:0 0 18px}.retention-warn strong{font-size:14px}.retention-warn ul{margin:0;padding-left:18px;font-size:13px}.retention-warn small{color:#7a5a3c;font-size:12px}
.due-soon{color:#a24d1c;font-weight:600}
.reauth-box{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:8px;background:#F7F6F3;border:1px solid #E3E1DB;margin:14px 0}.reauth-box strong{font-size:14px}.reauth-box span{font-size:13px;color:#5f5c56}.reauth-box .social-buttons{margin-top:4px}
.note.ok{color:#2e6b3a}

/* 계정 삭제 확인 코드 */
.code-row{display:flex;gap:8px;align-items:center}.code-row input{flex:1;letter-spacing:.2em;font-variant-numeric:tabular-nums}

/* 언어 선택(헤더 지구본): 마우스를 올리거나 키보드로 포커스하면 열리고, 터치는 눌러서 연다(.open) */
.lang-menu{position:relative}
.lang-button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--alira-ink);font:inherit;font-size:12px;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background .15s,border-color .15s}
.lang-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lang-menu:hover .lang-button,.lang-menu.open .lang-button,.lang-menu:has(:focus-visible) .lang-button{background:#F3F2EE;border-color:var(--alira-border)}
.lang-button:focus-visible{outline:2px solid var(--alira-sky);outline-offset:2px}
.lang-list{position:absolute;right:0;top:100%;padding-top:10px;display:none;z-index:70}
.lang-menu:hover .lang-list,.lang-menu.open .lang-list,.lang-menu:has(:focus-visible) .lang-list{display:block;animation:menu-in .14s ease-out}
.lang-list>div{min-width:164px;padding:6px;background:var(--alira-surface);border:1px solid var(--alira-border);border-radius:12px;box-shadow:0 18px 40px rgba(38,38,34,.14),0 2px 6px rgba(38,38,34,.06)}
.lang-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--alira-ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}
.lang-list button:hover,.lang-list button:focus-visible{background:#F3F2EE;outline:0}
.lang-list button[aria-checked="true"]{font-weight:600;color:var(--alira-primary)}
.lang-check{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.lang-button{height:30px;padding:0 7px}.lang-button .lang-code{display:none}}

/* 중국어 화면은 간체 글꼴을 먼저 쓴다(한글 글꼴의 한자 자형 대신) */
html:lang(zh-CN) body{font-family:system-placeholder,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC','Source Han Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif}

/* 홈 첫 화면 버튼: Claude Code 연결(파랑) | Windows 플러그인 묶음(다운로드·설명서) */
.button.primary{background:var(--alira-primary);color:#fff}
.button.primary:hover{background:var(--alira-navy);color:#fff}
.hero-actions .plugin-group{display:inline-flex;align-items:center;gap:10px;padding-left:17px;border-left:1px solid var(--alira-border)}
.hero-actions .plugin-group.solo{padding-left:0;border-left:0}/* Claude Code 연결 버튼이 꺼져 플러그인 버튼만 남을 때 */
@media(max-width:700px){.hero-actions .plugin-group{padding-left:0;border-left:0}}

/* ── 03 / CONNECT (2026-09-30 개편): 세 가지 연결 방법(왼쪽이 가장 쉬움) + 연결 뒤 세 단계 ── */
.connect-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.connect-card{position:relative;background:var(--alira-surface);border:1px solid var(--alira-border);border-radius:18px;padding:26px 24px 24px;gap:14px;box-shadow:0 1px 2px rgba(38,38,34,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.connect-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(21,53,140,.45);border-color:#CFD9EE}
.connect-card.featured{background:linear-gradient(180deg,#EEF4FF 0%,var(--alira-surface) 58%);border-color:#C9D7F4}
.connect-card h3{font-size:20px;letter-spacing:-.3px;line-height:1.35}
.connect-card p{min-height:0;font-size:13.5px;line-height:1.75;color:var(--alira-muted)}
.connect-top{display:flex;align-items:center;justify-content:space-between}
.connect-tag{font-size:11px;font-weight:600;letter-spacing:.2px;padding:4px 11px;border-radius:999px;background:#EFEDE8;color:#5C5A55}
.connect-card.featured .connect-tag{background:#DFE9FC;color:var(--alira-primary)}
.connect-steps{margin:2px 0 0;padding:0;list-style:none;counter-reset:cs;display:grid;gap:9px;font-size:13px;line-height:1.6;color:var(--alira-ink)}
.connect-steps li{counter-increment:cs;position:relative;padding-left:30px}
.connect-steps li:before{content:counter(cs);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid #C9D7F4;color:var(--alira-primary);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.prompt-bubble{position:relative;background:#fff;border:1px solid var(--alira-border);border-radius:16px 16px 16px 4px;padding:30px 16px 14px;font-size:13.5px;line-height:1.7;color:var(--alira-ink);box-shadow:0 6px 18px -14px rgba(38,38,34,.4)}
.prompt-bubble .prompt-label{position:absolute;top:10px;left:16px;font-size:10.5px;font-weight:600;letter-spacing:.4px;color:var(--alira-accent)}
.connect-card .prompt-bubble code{display:block;background:none;padding:0;font-family:inherit;font-size:inherit;color:inherit;overflow-wrap:anywhere}
.prompt-bubble .copy-button{position:absolute;top:8px;right:10px;float:none;border-radius:999px;padding:3px 11px}
.connect-cta{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:4px}
.connect-cta .button{width:100%;padding:14px 18px;border-radius:12px;font-size:14px;font-weight:600}
.connect-foot{font-size:11.5px;line-height:1.6;color:var(--alira-muted);text-align:center}
.connect-manual{border-top:1px dashed var(--alira-border);padding-top:12px;font-size:12.5px}
.connect-manual summary{cursor:pointer;color:var(--alira-muted);list-style:none;display:flex;justify-content:space-between;align-items:center}
.connect-manual summary::-webkit-details-marker{display:none}
.connect-manual summary:after{content:'+';font-size:16px;line-height:1}
.connect-manual[open] summary:after{content:'−'}
.connect-manual p{margin:12px 0 8px;font-size:12.5px}
.connect-flow{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--alira-border);border-radius:18px;background:var(--alira-surface);overflow:hidden}
.connect-flow>div{padding:20px 22px;display:flex;gap:14px;align-items:flex-start;font-size:13px;line-height:1.7;color:var(--alira-muted)}
.connect-flow>div+div{border-left:1px solid var(--alira-border)}
.connect-flow b{flex:none;font-family:Consolas,monospace;font-size:12px;color:var(--alira-accent);padding-top:3px}
.connect-flow strong{display:block;color:var(--alira-ink);font-size:14px;margin-bottom:3px}
.connect-flow em{font-style:normal;color:var(--alira-ink);font-weight:600}
.connect .note a{color:var(--alira-primary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.connect-grid,.connect-flow{grid-template-columns:1fr}.connect-flow>div+div{border-left:0;border-top:1px solid var(--alira-border)}}
@media(prefers-reduced-motion:reduce){.connect-card{transition:none}.connect-card:hover{transform:none}}

/* CONNECT: 세 카드는 순서가 아니라 선택지 — "택 1" 안내 · 카드 사이 "또는" · 번호 대신 아이콘 */
.connect-choose{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:16px 20px;border-radius:16px;background:#EEF4FF;border:1px solid #C9D7F4}
.connect-choose-badge{flex:none;padding:7px 14px;border-radius:999px;background:var(--alira-primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px}
.connect-choose strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--alira-navy)}
.connect-choose span:not(.connect-choose-badge){display:block;margin-top:2px;font-size:13px;color:var(--alira-muted)}
.connect-grid{gap:30px}
.connect-card[data-or]:before{content:attr(data-or);position:absolute;z-index:1;left:-15px;top:50%;transform:translate(-50%,-50%);min-width:34px;height:34px;padding:0 8px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--alira-canvas);border:1px solid var(--alira-border);color:var(--alira-muted);font-size:12px;font-weight:600}
.connect-icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#EFEDE8;color:var(--alira-ink)}
.connect-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.connect-card.featured .connect-icon{background:var(--alira-primary);color:#fff}
.connect-flow-title{margin:34px 0 10px;font-size:13px;font-weight:600;color:var(--alira-muted);letter-spacing:.2px}
.connect-flow-title+.connect-flow{margin-top:0}
@media(max-width:900px){.connect-card[data-or]:before{left:50%;top:-15px}.connect-choose{align-items:flex-start}.connect-choose strong{font-size:16px}}
/* 사용량 · 플랜(2026-09-30): 남은 사용량 막대(.turns-bar 재사용)·추가 사용량 팩·받기 잠금 */
.stat .turns-bar{margin:12px 0 8px}
.stat .stat-note{display:block;margin-top:6px}
.stat .stat-note.warn{color:#8C563C}
.stat .text-link{display:inline-block;margin-top:8px;font-size:12px}
.pack-disc{font-style:normal;font-size:11px;font-weight:600;color:#47724A}
.pack-size{font-size:11px;font-weight:400;color:#817e79;line-height:1.4}
.price-card .button[disabled]{opacity:.6;cursor:default}
.row-dl[disabled],.row-dl[disabled]:hover{opacity:.35;cursor:not-allowed;background:transparent;border-color:transparent;color:#817e79}

/* 잠긴 결제 버튼: 비활성처럼 보이지만 눌러서 이유를 확인할 수 있다 */
.button.is-locked{opacity:.6;cursor:help}

/* 팝업 글: 한국어는 단어 중간에서 끊지 않고(중국어·영어는 기본 규칙), 마지막 줄에 한두 글자만 남지 않게 한다 */
dialog h2{text-wrap:balance}
dialog p,dialog li{text-wrap:pretty}
dialog .modal-lead,dialog .modal-sub{text-wrap:balance}
dialog .modal-sub span{display:block}
html[lang="ko"] dialog h2,html[lang="ko"] dialog p,html[lang="ko"] dialog li,html[lang="ko"] dialog label{word-break:keep-all;overflow-wrap:break-word}
dialog .modal-lead{font-size:15px;line-height:1.6;color:var(--alira-text,#2e2d2b);margin:0 0 6px}
dialog .modal-sub{font-size:13px;line-height:1.65;color:#7c7974;margin:0}
/* 공지 본문(리소스 목록·첫 방문 팝업): 마크다운 일부(굵게·링크·목록·이미지). 이미지는 /notices/<파일> — web/README.md */
.notice-body{font-size:14px;line-height:1.9}
.resource-list .notice-body{margin-top:18px}
.resource-list .notice-body p,.notice-body p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}
.notice-body ul{margin:0 0 10px;padding-left:20px}
.notice-body img{display:block;max-width:100%;height:auto;border-radius:8px;margin:10px 0}
#modal.notice{width:620px}
.notice-popup .date{display:block;margin:-6px 0 10px}
.notice-popup-foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.notice-popup-foot .check{margin:0;flex:1 1 auto}
.notice-popup-foot .button{flex:0 0 auto}
.resource-list details .button+.button{margin-left:8px}
/* 등록 카드(내 계정 플랜·결제수단 행, 결제 수단 모달): 브랜드 칩 + 끝자리. 번호·유효기간은 PG 만 갖는다 */
.card-row{display:flex;align-items:center;gap:14px;min-width:0}
.card-brand{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:52px;height:32px;padding:0 9px;border:1px solid #d9d5ce;border-radius:6px;background:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;color:#2e2d2b;text-transform:uppercase;white-space:nowrap}
.card-brand[data-brand=visa]{color:#1a1f71}.card-brand[data-brand=mastercard]{color:#eb001b}.card-brand[data-brand=americanexpress]{color:#016fd0}.card-brand[data-brand=jcb]{color:#0e4c96}.card-brand[data-brand=unionpay]{color:#d7282f}
.card-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.card-info strong{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-info .card-nick{font-weight:500;color:#5f5c57}
.card-info small{font-size:12px;color:#817e79;line-height:1.6}
.card-visual{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--alira-border,#dedbd6);border-radius:9px;background:var(--alira-surface,#f9f8f7);margin:0 0 6px}
.card-visual .card-digits{display:block;font-size:16px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.card-visual small{display:block;font-size:12px;color:#817e79;margin-top:2px}
.card-note{margin:18px 0 6px;padding:14px 16px;background:#efeeeb;border-radius:8px}
.card-note strong{display:block;font-size:13px;margin-bottom:4px}.card-note p{margin:0 0 10px;font-size:12.5px;line-height:1.7;color:#5f5c57}
@media(max-width:560px){.card-summary .card-row{align-items:flex-start}}
/* 주문·환불 표: 주문번호·승인번호 줄과 청구서·영수증 PDF 링크 */
.order-meta{display:block;font-size:11px;color:#817e79;margin-top:3px;line-height:1.5;overflow-wrap:anywhere}
.order-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.order-actions .text-link{margin:0;font-size:12px}
/* 자체 가입을 끈 서버의 로그인 화면: 소셜 버튼 아래 '처음이신가요?' 안내 */
.auth-hint{margin:10px 0 0;text-align:center}
/* 주문·환불 표: 행을 누르면 주문 상세 팝업(주문번호·승인번호·카드·PDF·매출전표) */
.order-row{cursor:pointer}.order-row:hover td{background:#f3f2ef}
.order-detail .kv{display:grid;grid-template-columns:110px 1fr;gap:9px 14px;margin:6px 0 0;font-size:13.5px}
.order-detail .kv>div{display:contents}.order-detail .kv dt{color:#75726d}.order-detail .kv dd{margin:0;overflow-wrap:anywhere}
.order-detail .kv code{font-size:12.5px;background:#f0eeeb;padding:2px 6px;border-radius:4px}
.order-detail .actions{margin-top:22px;gap:10px;flex-wrap:wrap}

/* 쿠키 동의 배너·쿠키 정책 페이지(2026-11-03). CSP 가 style-src 'self' 라 인라인 style 없이 클래스로만 꾸민다. */
.cookie-banner{position:fixed;left:24px;bottom:24px;z-index:80;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:22px 22px 20px;border-radius:18px;background:#292A26;color:#F3F1EC;box-shadow:0 24px 60px rgba(20,20,18,.28),0 2px 8px rgba(20,20,18,.12);animation:cookie-in .28s cubic-bezier(.2,.8,.2,1)}
@keyframes cookie-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cookie-banner h2{font-size:16px;font-weight:600;color:#fff;margin:0 0 10px;letter-spacing:-.01em}
.cookie-banner p{color:#C9C6BE;font-size:13px;line-height:1.7;margin:0 0 16px}
.cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px}.cookie-banner a:hover{color:var(--alira-sky)}
.cookie-banner :focus-visible{outline:2px solid var(--alira-sky);outline-offset:2px}
.cookie-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:10px;border:1px solid #4A4B45;background:#3A3B36;color:#F3F1EC;font-size:13px;font-weight:500;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}
.cookie-btn:hover{background:#45463F}
.cookie-btn.primary{background:#FAF9F6;border-color:#FAF9F6;color:#262622}.cookie-btn.primary:hover{background:#fff}
.cookie-btn.ghost{background:transparent;border-color:#56574F}.cookie-btn.ghost:hover{background:#34352F}
.cookie-btn.wide{width:100%}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cookie-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cookie-head h2{margin:0}
.cookie-x{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#C9C6BE;font-size:20px;line-height:1;cursor:pointer}.cookie-x:hover{background:#3A3B36;color:#fff}
.cookie-cats{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid #3E3F39}
.cookie-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #3E3F39}
.cookie-cat label{display:flex;flex-direction:column;gap:3px;min-width:0;cursor:pointer}
.cookie-cat strong{font-size:14px;font-weight:600;color:#fff}
.cookie-cat label span{font-size:12.5px;line-height:1.55;color:#B7B4AC}
.cookie-cat em{font-style:normal;font-size:11.5px;color:var(--alira-sky)}
.cookie-switch{display:flex;align-items:center;gap:10px;flex:none}.cookie-switch small{font-size:12px;color:#B7B4AC;white-space:nowrap}
.switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:40px;height:22px;margin:0;border-radius:999px;background:#55564F;cursor:pointer;transition:background .18s}
.switch::before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s}
.switch:checked{background:var(--alira-accent)}.switch:checked::before{transform:translateX(18px)}
.switch:disabled{cursor:not-allowed;opacity:.5}.switch:checked:disabled{opacity:.75}
.cookie-banner .cookie-foot{margin:12px 0 0;text-align:center;font-size:12px}
.footer .footer-cookie{padding:0;font-size:inherit;color:inherit;text-decoration:none}.footer .footer-cookie:hover{color:var(--alira-primary)}
@media(max-width:560px){.cookie-banner{left:16px;right:16px;bottom:16px;width:auto;padding:20px 18px 18px;border-radius:16px}.cookie-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cookie-banner{animation:none}.switch,.switch::before{transition:none}}

.policy-hero{padding:64px 0 34px}.policy-hero h1{font-size:48px;letter-spacing:-.03em}
.policy-hero .lead{margin-top:16px;max-width:640px;font-size:16px}
.policy-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:26px}
.policy-chip{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--alira-border);background:#F0EEE7;font-size:12px;color:#55534f}
.policy-langs{display:inline-flex;gap:2px;margin-left:auto;padding:3px;border-radius:999px;border:1px solid var(--alira-border);background:#F0EEE7}
.policy-langs a{padding:5px 13px;border-radius:999px;font-size:12px;color:#5c5a55}
.policy-langs a:hover{color:var(--alira-ink)}
.policy-langs a[aria-current]{background:var(--alira-surface);color:var(--alira-ink);box-shadow:0 1px 3px rgba(38,38,34,.12)}
.policy-summary{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:14px;margin-bottom:56px}
.policy-card,.policy-cta{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;border:1px solid var(--alira-border);border-radius:16px;background:var(--alira-surface)}
.policy-card h3,.policy-cta h3{margin:4px 0 0;font-size:16px;font-weight:600;letter-spacing:-.02em}
.policy-card p,.policy-cta p{margin:0;font-size:13px;line-height:1.7}
.policy-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.policy-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#F0EEE7;color:#393835}
.policy-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.policy-card.on .policy-icon{background:#E8F1E6;color:#47724A}
.policy-pill{padding:4px 10px;border-radius:999px;background:#EFEDE8;color:#7c7974;font-size:11.5px;font-weight:600;white-space:nowrap}
.policy-pill.on{background:#E8F1E6;color:#47724A}
.policy-cta{border-color:#D6E0F5;background:linear-gradient(160deg,var(--alira-soft) 0%,var(--alira-surface) 75%)}
.policy-cta .policy-icon{background:#fff;color:var(--alira-primary)}
.policy-cta .button{margin-top:auto;align-self:flex-start}
.policy-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px}
.policy-toc{position:sticky;top:30px;align-self:start;display:flex;flex-direction:column;font-size:13px}
.policy-toc strong{margin-bottom:10px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7c7974}
#policy-toc{display:flex;flex-direction:column;border-left:1px solid var(--alira-border)}
#policy-toc a{margin-left:-1px;padding:6px 0 6px 14px;border-left:2px solid transparent;color:#6a6762;line-height:1.5}
#policy-toc a:hover{border-left-color:var(--alira-sky);color:var(--alira-primary)}
.policy-download{margin-top:20px;font-size:12px;color:#7c7974}
/* 넓은 표가 격자 칸을 밀어 화면이 가로로 넘치지 않게 본문 칸을 줄일 수 있게 둔다(표만 가로 스크롤). */
.guide-layout>article,.policy-layout>article{min-width:0}
.policy-body h2{scroll-margin-top:24px}.policy-body>blockquote:first-child{margin-top:0}
.markdown .md-table{margin:18px 0 22px;border:1px solid var(--alira-border);border-radius:12px;background:var(--alira-surface)}
.markdown .md-table table{display:table;font-size:13px}
.markdown .md-table th,.markdown .md-table td{padding:12px 14px;line-height:1.6;white-space:normal;vertical-align:top;overflow-wrap:normal;word-break:keep-all}
.markdown .md-table th{background:#F5F4F0;color:#55534f;font-size:12px;font-weight:600}
.markdown .md-table td{color:#55534f}.markdown .md-table tr:last-child td{border-bottom:0}
.markdown .md-table code{white-space:nowrap}
@media(max-width:1000px){.policy-summary{grid-template-columns:repeat(2,1fr)}.policy-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}}
@media(max-width:700px){.policy-hero{padding:40px 0 26px}.policy-hero h1{font-size:36px}.policy-langs{margin-left:0}.policy-summary{grid-template-columns:1fr;margin-bottom:36px}.policy-layout{grid-template-columns:1fr;gap:20px}.policy-toc{position:static;padding-bottom:18px;border-bottom:1px solid var(--alira-border)}.markdown .md-table table{min-width:560px}}

/* Beta 표시(2026-11-04): 로고 옆 배지와 상단 안내 배너. 배지는 왼쪽 묶음의 폭을 늘리지 않아 가운데 메뉴가 그대로다. */
.brand-group{position:relative;display:flex;align-items:center}
.beta-badge-wrap{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.beta-badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border:1px solid #D6E0F5;border-radius:7px;background:#EAF0FB;color:var(--alira-primary);font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.beta-badge:hover,.beta-badge[aria-expanded="true"]{background:#DDE7FA;border-color:#C3D3F2}
.beta-badge:focus-visible,.beta-banner :focus-visible{outline:2px solid var(--alira-accent);outline-offset:2px}
.beta-pop{position:absolute;left:0;top:calc(100% + 10px);z-index:70;width:max-content;max-width:280px;padding:14px 16px;border:1px solid var(--alira-border);border-radius:12px;background:var(--alira-surface);box-shadow:0 18px 40px rgba(38,38,34,.14),0 2px 6px rgba(38,38,34,.06);animation:menu-in .14s ease-out}
.beta-pop[hidden]{display:none}
.beta-pop p{margin:0 0 8px;color:var(--alira-ink);font-size:13px;line-height:1.6;word-break:keep-all}
.beta-pop .link-button{padding:0;color:var(--alira-primary);font-size:13px}
.beta-banner{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 12px 0 16px;border-bottom:1px solid #D6E0F5;background:var(--alira-soft);color:var(--alira-navy);font-size:14px}
.beta-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.beta-track{display:flex;width:max-content;animation:beta-slide 55s linear infinite}
/* 사본 두 개를 이어 붙여 한 벌 길이(-50%)만큼 움직이면 끊김 없이 반복된다. 넓은 화면에서도 빈틈이 없도록 한 벌을 화면 폭 이상으로 둔다. */
@keyframes beta-slide{to{transform:translateX(-50%)}}
.beta-msg{flex:none;min-width:100vw;margin:0;padding:0 56px 0 20px;color:inherit;font-size:inherit;line-height:1.6;white-space:nowrap}
.beta-msg a,.beta-contact{color:var(--alira-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.beta-sep{margin:0 18px;color:var(--alira-sky)}
/* 멈춤: 직접 멈췄을 때, 이동 글 위에 마우스가 있을 때, 재생 버튼이 아닌 곳에 키보드 초점이 있을 때. 재생 버튼까지 멈춤 조건에 넣으면 눌러도 움직이지 않는다. */
.beta-banner.paused .beta-track,.beta-banner:has(:focus-visible:not(.beta-toggle)) .beta-track{animation-play-state:paused}
@media(hover:hover){.beta-marquee:hover .beta-track{animation-play-state:paused}}
.beta-contact{display:none}
.beta-controls{display:flex;flex:none;align-items:center;gap:4px}
.beta-toggle,.beta-close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--alira-navy);cursor:pointer;transition:background .15s}
.beta-toggle:hover,.beta-close:hover{background:#DDE7FA}
.beta-toggle svg,.beta-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.beta-toggle svg .fill{fill:currentColor}
.beta-more{height:32px;padding:0 11px;border:1px solid #C3D3F2;border-radius:8px;background:var(--alira-surface);color:var(--alira-primary);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s}
.beta-more:hover{background:#F4F7FE}
.beta-notice{margin:6px 0 22px;padding-left:20px;color:#55534f;font-size:14px;line-height:1.75}
.beta-notice li+li{margin-top:8px}.beta-notice strong{color:var(--alira-ink);font-weight:600}.beta-notice a{color:var(--alira-primary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.beta-badge-wrap{position:relative;left:auto;top:auto;margin-left:10px;transform:none}}
/* 모바일: 첫 줄은 이동 글과 닫기, 둘째 줄은 문의 메일과 재생·전체 안내. 누르기 쉽도록 버튼을 키운다. */
@media(max-width:700px){
  .beta-banner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"text text close" "contact controls controls";gap:2px 6px;padding:5px 8px 7px 2px;font-size:13px}
  .beta-marquee{grid-area:text}.beta-close{grid-area:close}.beta-controls{grid-area:controls}
  .beta-contact{display:block;grid-area:contact;align-self:center;min-width:0;margin-left:18px;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
  .beta-toggle,.beta-close,.beta-more{height:36px}.beta-toggle,.beta-close{width:36px}.beta-more{font-size:12.5px}
  .beta-pop{left:50%;max-width:220px;width:220px;transform:translateX(-50%);animation:none}
}
@media(max-width:350px){.beta-contact{margin-left:14px;font-size:11.5px}.beta-more{padding:0 8px;font-size:12px}}
/* 움직임 줄이기: 이동 없이 첫 문장부터 보여 주고, 나머지는 '전체 안내 보기'로 읽는다. */
@media(prefers-reduced-motion:reduce){.beta-track{width:auto;animation:none}.beta-msg{min-width:0;overflow:hidden;text-overflow:ellipsis}.beta-msg[aria-hidden]{display:none}.beta-toggle{display:none}.beta-badge,.beta-more,.beta-toggle,.beta-close{transition:none}.beta-pop{animation:none}}

/* 공지 본문(2026-11-04): 목록·카드·글 모두 페이지 폭을 다 쓴다. 글자 크기·행간·자간·문단 간격의 위계를 맞췄다. 구조 구분(.notice-sub 등)은 app.js noticeHtml. */
.resource-list:has(.notice-body) summary{word-break:keep-all}
.resource-list summary>.date{flex:none;margin-left:auto;font-weight:400;letter-spacing:0}
.resource-list details[open]>summary{color:var(--alira-ink);font-weight:600;letter-spacing:-.01em}
.notice-body{color:#3F3E3A;font-size:15px;line-height:1.75;letter-spacing:-.006em;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
.resource-list .notice-body{margin-top:18px;padding:38px 44px;border:1px solid var(--alira-border);border-radius:16px;background:var(--alira-surface)}
.resource-list .notice-body+.button{margin-top:14px}
.resource-list .notice-body p,.notice-body p{margin:0 0 12px;color:inherit;font-size:inherit;line-height:inherit;white-space:normal;overflow-wrap:break-word}
.notice-body strong{color:var(--alira-ink);font-weight:600}
.notice-body a{color:var(--alira-primary);text-decoration:underline;text-decoration-color:#B9C8EC;text-underline-offset:3px}
.notice-body a:hover{text-decoration-color:currentColor}
.notice-body h1,.notice-body h2,.notice-body h3{margin:34px 0 14px;padding-top:28px;border-top:1px solid #ECEAE4;color:var(--alira-ink);font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.02em}
.notice-body h1{font-size:22px}.notice-body h2{font-size:20px}
.notice-body>:first-child{margin-top:0;padding-top:0;border-top:0}
.notice-body>:last-child{margin-bottom:0}
.notice-body p.notice-sub{margin:26px 0 8px;color:var(--alira-ink)}
.notice-body p.notice-sub strong{font-weight:650}
.notice-body h1+p.notice-sub,.notice-body h2+p.notice-sub,.notice-body h3+p.notice-sub{margin-top:0}
.notice-body p.notice-callout{margin:0 0 14px;padding:13px 16px;border-radius:10px;background:var(--alira-soft);color:var(--alira-navy);line-height:1.65}
.notice-body p.notice-callout strong{color:inherit}
.notice-body ul{margin:0 0 14px;padding:0;list-style:none}
.notice-body ul li{position:relative;margin:0 0 7px;padding-left:16px;line-height:1.7}
.notice-body ul li:last-child{margin-bottom:0}
.notice-body ul li::before{content:"";position:absolute;left:3px;top:.74em;width:4px;height:4px;border-radius:50%;background:#A9A69E}
.notice-body ul.notice-rows{overflow:hidden;border:1px solid var(--alira-border);border-radius:12px;background:#FDFCFA}
.notice-body ul.notice-rows li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px;margin:0;padding:11px 16px;line-height:1.6}
.notice-body ul.notice-rows li+li{border-top:1px solid #EFEDE7}
.notice-body ul.notice-rows li::before{content:none}
.notice-body ul.notice-rows strong{font-variant-numeric:tabular-nums}
/* 표처럼 보이는 목록: 라벨 칸을 가장 긴 라벨에 맞춘다(subgrid 없는 옛 브라우저는 위의 고정 폭) */
@supports (grid-template-columns:subgrid){.notice-body ul.notice-rows{display:grid;grid-template-columns:auto minmax(0,1fr)}.notice-body ul.notice-rows li,dialog .notice-body ul.notice-rows li{grid-column:1/-1;grid-template-columns:subgrid}}
.notice-body ul.notice-links{display:flex;flex-wrap:wrap;gap:8px}
.notice-body ul.notice-links li{margin:0;padding:0}
.notice-body ul.notice-links li::before{content:none}
.notice-body ul.notice-links a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:1px solid var(--alira-border);border-radius:999px;background:var(--alira-canvas);color:var(--alira-ink);font-size:13.5px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.notice-body ul.notice-links a::after{content:"↗";color:#9A978F;font-size:12px}
.notice-body ul.notice-links a:hover{border-color:#C3D3F2;background:#F4F7FE;color:var(--alira-primary)}
.notice-body [lang="zh-CN"]{word-break:normal}
.notice-body img{margin:14px 0}
/* 첫 방문 팝업: 카드 없이 모달 폭에 맞춰 한 단계 작게 */
dialog .notice-body{font-size:14px}
dialog .notice-body h1,dialog .notice-body h2,dialog .notice-body h3{margin:26px 0 12px;padding-top:22px;font-size:16px}
dialog .notice-body ul.notice-rows li{padding:10px 14px}
@media(max-width:700px){
  .resource-list .notice-body{padding:26px 20px;border-radius:14px}
  .notice-body{font-size:14.5px}
  .notice-body h1,.notice-body h2,.notice-body h3{margin-top:28px;padding-top:24px;font-size:17px}
  .notice-body ul.notice-rows{display:block}
  .notice-body ul.notice-rows li,dialog .notice-body ul.notice-rows li{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media(prefers-reduced-motion:reduce){.notice-body ul.notice-links a{transition:none}}

/* 글로벌 점검(2026-11-04): 번역문 길이가 달라도 화면이 가로로 넘치지 않게 한다.
   격자 칸은 내용물 때문에 늘어나지 않게 줄일 수 있게 두고, 긴 표·코드는 그 안에서만 스크롤한다. */
.account-layout>*,.split>*,.two-col>*,.contact-layout>*,.feature-grid>*,.data-stats>*{min-width:0}
.sample-doc .sample-code{max-width:100%}
@media(max-width:1200px){.data-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 영어·중국어 메뉴와 로그인 메뉴까지 한 줄에 들어가지 않는 폭은 메뉴를 둘째 줄로 내린다. */
@media(min-width:701px) and (max-width:860px){.header{height:auto;min-height:88px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;row-gap:12px}.header nav{order:3;justify-content:center;width:100%}}
@media(max-width:700px){.header nav{flex-wrap:wrap;gap:8px 20px}}
.connect-grid>*,.settings-section>*{min-width:0}
.sample-doc table{display:block;overflow-x:auto}
.table-toolbar{flex-wrap:wrap}
/* 긴 번역 문구: 카드 안 버튼은 줄을 바꿔 칸 안에 넣고, 아주 좁은 화면에서는 모든 버튼이 줄을 바꾼다. */
.connect-cta .button{white-space:normal;text-align:center}
@media(max-width:480px){.button{white-space:normal;text-align:center}}
