:root{font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;color:#ebeff5;background:#0b0d12;font-size:15px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 5%,#2c1732 0,transparent 32%),#0b0d12}button,input,textarea{font:inherit}button{border:1px solid #353a46;background:#1b1f29;color:#e9edf4;border-radius:12px;padding:10px 17px;cursor:pointer;transition:.17s}button:hover{border-color:#f39bcf;transform:translateY(-1px)}button.active,.primary{background:linear-gradient(115deg,#e45a9e,#aa63dc);border-color:transparent;color:#fff;font-weight:700}.primary:hover{filter:brightness(1.15)}input,textarea{background:#151922;color:#f2f4f8;border:1px solid #363c49;border-radius:12px;padding:12px;outline:none}input:focus,textarea:focus{border-color:#e970b8;box-shadow:0 0 0 3px #e970b826}header{height:82px;display:flex;justify-content:space-between;align-items:center;padding:0 max(22px,calc((100vw - 1240px)/2));border-bottom:1px solid #262932;background:#0d0f14df;backdrop-filter:blur(18px);position:sticky;top:0;z-index:3;gap:20px}.brand{display:flex;gap:14px;align-items:center;min-width:205px}.brand strong,.brand small{display:block}.brand strong{font-size:20px}.brand small{font-size:11px;color:#858e9c;letter-spacing:.04em}.logo{display:grid;place-items:center;background:#211a2a;border:1px solid #773853;color:#fb8aa3;border-radius:13px;font-weight:900;font-size:20px;width:48px;height:48px}.logo span{color:#f8d677}nav{display:flex;gap:5px;padding:5px;background:#171a21;border:1px solid #292d35;border-radius:15px}nav button{padding:9px 17px;border:0;background:none;color:#939ca9;font-weight:650}nav button.active{background:#292632;color:#f8a5d6}main{max-width:1240px;margin:auto;padding:40px 24px 90px}.view{display:none}.view.active{display:block}.hero{padding:90px 7%;background:linear-gradient(120deg,#211522 0%,#141723 65%,#12141b 100%);border:1px solid #37303a;border-radius:27px;position:relative;overflow:hidden}.hero:after{content:"</>";position:absolute;right:6%;top:11%;font-weight:900;font-size:170px;color:#ffffff0b;transform:rotate(-14deg)}.badge{font-size:11px;letter-spacing:.18em;font-weight:850;color:#f88cca}.hero h1,.sectionHead h1{font-size:clamp(36px,5vw,65px);line-height:1.14;letter-spacing:-.04em;margin:18px 0}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#fa91b7,#c68cfa);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:650px;color:#b3bac5;line-height:1.75;font-size:17px;margin-bottom:25px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}article,.moduleCard,.detail{border:1px solid #2d313b;background:#151820;border-radius:20px;padding:28px}article h2{font-size:23px;margin:12px 0}article p,.sectionHead p,.detail p,.note{color:#aab3c1;line-height:1.65}pre{padding:20px;background:#0d1017;border-radius:12px;color:#f0bfdc;overflow:auto;line-height:1.55;font-size:13px;white-space:pre-wrap}code{color:#eca0cc}.index{font-size:11px;font-weight:800;letter-spacing:.13em;color:#dc8ac4}.note{margin-top:30px}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0}.sectionHead h1{font-size:42px}.sectionHead input{min-width:280px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.moduleCard{cursor:pointer;transition:.18s}.moduleCard:hover{border-color:#b363ad;transform:translateY(-2px)}.moduleCard h2{margin:12px 0 4px}.moduleCard small{color:#8993a3}.moduleCard p{color:#b6bfcb;min-height:38px}.detail{margin-top:25px}.detail pre{max-height:420px}.actions{display:flex;gap:8px;align-items:center}.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:600px;border:1px solid #323641;border-radius:20px;overflow:hidden;background:#11141b}.workspace aside{border-right:1px solid #30343f;padding:18px;background:#151821}.workspace aside label{display:block;color:#959fad;font-size:11px;font-weight:800;letter-spacing:.12em;margin:12px 0}.workspace aside button{display:block;width:100%;text-align:left;margin:4px 0;background:transparent;border:1px solid transparent;padding:9px}.workspace aside button.selected{background:#302437;border-color:#65405c}.workspace aside hr{border:0;border-top:1px solid #353a44;margin:25px 0}.editPanel{display:flex;flex-direction:column;min-width:0}.editToolbar,.editFooter{padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #30343f}.editToolbar span{font-size:12px;color:#caa8cc}.editFooter{border-bottom:0;border-top:1px solid #30343f}.editFooter>span{font-size:11px;color:#7e8998}textarea{flex:1;min-height:470px;border:0;border-radius:0;resize:vertical;background:#0f1219;color:#d9e4f5;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;padding:24px;tab-size:2}.empty{padding:70px 20px;text-align:center;border:1px dashed #404551;border-radius:18px;color:#a9b1be}.modal{position:fixed;inset:0;background:#05060bce;display:grid;place-items:center;z-index:5;padding:20px}.modal[hidden],.detail[hidden],.workspace[hidden]{display:none}.modalCard{width:min(440px,100%);padding:35px;background:#191b24;border:1px solid #62415d;border-radius:23px;position:relative;box-shadow:0 20px 80px #0008}.modalCard h2{font-size:28px}.modalCard p{color:#aeb5c2;line-height:1.65}.modalCard form{display:flex;gap:9px}.modalCard input{width:100%;letter-spacing:.2em}.modalCard .close{position:absolute;right:16px;top:15px;border:0;background:none;font-size:24px}.message{min-height:20px;color:#f2a0bd!important}#toast{position:fixed;bottom:22px;right:22px;background:#322238;padding:12px 18px;border:1px solid #9b619a;border-radius:12px;opacity:0;transition:.25s;pointer-events:none}#toast.show{opacity:1}@media(max-width:850px){header{height:auto;flex-wrap:wrap;padding:15px}nav{order:3;width:100%;overflow:auto}main{padding:20px 15px}.hero{padding:55px 28px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.sectionHead{align-items:stretch;flex-direction:column}.sectionHead input{min-width:0}.workspace{grid-template-columns:1fr}.workspace aside{border-right:0;border-bottom:1px solid #30343f}.editFooter{flex-wrap:wrap}.editFooter>span{display:none}}
.authHero{min-height:620px;display:flex;flex-direction:column;justify-content:center}.authHero form{display:flex;gap:10px;max-width:580px;margin:10px 0}.authHero form input{flex:1;font-size:18px;letter-spacing:.15em}.authHero small{color:#8690a0}.authHero .message{margin:6px 0;min-height:24px}.blockLayout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:20px}.blockPreview{background:#12151d;border:1px solid #333743;border-radius:18px;padding:20px;height:max-content;position:sticky;top:108px}.blockPreview strong{font-size:11px;letter-spacing:.15em;color:#e59ac8}.blockPreview pre{max-height:580px;overflow:auto}.triggerBlock{padding:18px;margin:0 0 18px;background:#1d1b2a;border:1px solid #87569b;border-left:6px solid #b776e6;border-radius:17px}.blockHead{display:flex;align-items:center;gap:12px;margin-bottom:12px}.blockHead>span{font-size:25px;cursor:grab;color:#bb91d4}.blockHead select{flex:1}.blockHead button{font-size:19px}.blockField{display:flex;align-items:center;gap:12px;margin:10px 0;color:#aab6c9;font-size:12px}.blockField span{min-width:75px}.blockField input{flex:1;min-width:0}.actionStack{padding:4px 0 4px 20px;border-left:3px solid #dc8aaf;margin:14px 0 15px 11px}.actionBlock{padding:11px;border-radius:12px;background:#30212d;border:1px solid #ae698a;margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actionBlock .blockField{margin:0;flex:1}.actionBlock .blockField span{min-width:46px}.actionBlock .blockField input{max-width:180px}.actionBlock button{margin-left:auto}select{background:#222732;color:#f5ecf2;border:1px solid #484156;border-radius:10px;padding:10px;cursor:pointer}nav[hidden],#adminTab[hidden]{display:none}@media(max-width:850px){.blockLayout{grid-template-columns:1fr}.blockPreview{position:static}.authHero form{flex-direction:column}.actionBlock .blockField{flex-basis:100%}}

.brand img.logo{display:block;object-fit:contain;padding:4px;background:#211a2a;border:1px solid #773853;border-radius:13px}
