@font-face{font-family:Pretendard;src:url(/Pretendard.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Outfit;src:url(/Outfit.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--navy:#3f4d94;--title:#252e5e;--ink:#252a3a;--muted:#6d7590;--c0:#5b6bd6;--c1:#6fb1e8;--c2:#68c48b;--c3:#f5a742;--glass:rgba(255,255,255,.42);--glass-strong:rgba(255,255,255,.62);--glass-border:rgba(255,255,255,.65);--font:"Pretendard","Apple SD Gothic Neo",system-ui,sans-serif;--font-num:"Outfit","Pretendard",sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100%}body{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font);color:var(--ink);letter-spacing:-.01em;min-height:100%;overflow-x:hidden;background:#dfe7f7}[contenteditable],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(160deg,#e6ecfb,#dde7f9 50%,#e9f0fb)}.bg:after,.bg:before{content:"";position:absolute;border-radius:50%;filter:blur(70px)}.bg:before{width:56vmax;height:56vmax;left:-14vmax;top:-16vmax;background:radial-gradient(circle at 35% 35%,rgba(91,107,214,.5),rgba(111,177,232,.34) 55%,transparent 75%)}.bg:after{width:52vmax;height:52vmax;right:-14vmax;bottom:-18vmax;background:radial-gradient(circle at 60% 60%,rgba(104,196,139,.42),rgba(245,167,66,.3) 55%,transparent 78%)}.bg .blob{position:absolute;width:34vmax;height:34vmax;border-radius:50%;filter:blur(64px);right:6vmax;top:-10vmax;background:radial-gradient(circle,rgba(111,177,232,.44),transparent 68%)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:0 8px 32px rgba(56,70,130,.14),inset 0 1px 0 rgba(255,255,255,.6)}.fab-back{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:18px;z-index:30;width:48px;height:48px;border-radius:50%;display:none;align-items:center;justify-content:center;border:1px solid var(--glass-border);cursor:pointer;color:var(--title);font-size:21px;background:var(--glass-strong);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:0 6px 22px rgba(56,70,130,.2);transition:transform .15s}.fab-back:active{transform:scale(.92)}body.detail .fab-back{display:flex}.stage{max-width:1060px;margin:0 auto;padding:26px 20px 60px}body:not(.detail) .stage{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}body.detail .stage{height:100dvh;padding:70px 20px 16px;display:flex}body.detail .panel,body.detail .view{flex:1 1;display:flex;min-height:0}body.detail .panel{flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}body.detail .panel:not(.has-bars) .table-wrap{flex:1 1;min-height:0;display:flex}body.detail .panel:not(.has-bars) .ptable{height:100%}body.detail .panel.has-bars .table-wrap{flex:none}.view{transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .26s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.view.leave-fwd{opacity:0;transform:translateX(-26px)}.view.enter-fwd,.view.leave-back{opacity:0;transform:translateX(26px)}.view.enter-back{opacity:0;transform:translateX(-26px)}.hero{text-align:center;padding:26px 10px 30px;cursor:pointer}.hero h1{font-family:var(--font-num);font-size:38px;font-weight:800;color:var(--title);letter-spacing:.02em}.hero .sub{margin-top:8px;font-size:16px;font-weight:600;color:var(--navy);opacity:.7}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.card{position:relative;border-radius:22px;padding:24px 22px;cursor:pointer;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s}.card:after{content:"→";position:absolute;right:20px;bottom:18px;font-size:19px;color:var(--muted);opacity:.7;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(56,70,130,.22)}.card:hover:after{transform:translateX(4px)}.card:active{transform:scale(.97)}.card .ico{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.card .ico svg{width:28px;height:28px}.card h3{font-size:19px;font-weight:700;color:var(--title);line-height:1.3}.card small{display:block;margin-top:7px;font-size:12.5px;font-weight:500;color:var(--muted)}.panel{border-radius:24px;padding:20px 22px 22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;flex:none}.tag{gap:11px;color:var(--title);font-size:26px;font-weight:800;letter-spacing:-.01em;padding:4px 2px}.tag,.tag .tico{display:flex;align-items:center}.tag .tico{width:46px;height:46px;border-radius:14px;justify-content:center;flex:none;border:1px solid rgba(255,255,255,.55)}.tag .tico svg{width:26px;height:26px}.panel-note{color:var(--navy);font-size:13.5px;font-weight:600;opacity:.9;text-align:right;padding-top:12px;white-space:pre-line}.table-wrap{overflow-x:auto;margin:0 -4px}.ptable{width:100%;border-collapse:separate;border-spacing:7px}.ptable td,.ptable th{border-radius:14px}.ptable thead th{font-family:var(--font-num);color:#fff;font-size:var(--fs-colh,18px);font-weight:700;padding:13px 6px;text-align:center;border:1px solid rgba(255,255,255,.5);text-shadow:0 1px 2px rgba(0,0,0,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 14px rgba(56,70,130,.14)}.ptable .corner{background:transparent;border:none;box-shadow:none}.ptable .rh{background:rgba(255,255,255,.55);color:var(--title);font-size:var(--fs-rowh,15px);font-weight:700;text-align:center;padding:14px 10px;min-width:100px;border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.ptable .rh small{display:block;font-weight:500;font-size:10.5px;color:var(--muted);margin-top:4px}.ptable td.cell{background:rgba(255,255,255,.38);text-align:center;padding:13px 6px;vertical-align:middle;border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}.price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-price,21px);font-weight:700;color:#1d2233;letter-spacing:0}.add,.price{font-family:var(--font-num)}.add{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-add,18px);font-weight:600;color:#333a4e}.note{font-size:var(--fs-desc,12px);font-weight:500;color:#5d6478;margin-top:4px;line-height:1.4}.star{font-size:17px;color:rgba(90,98,125,.4);font-weight:700}.bars{margin-top:26px;flex:none}.bars h3{color:var(--title);font-size:17px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:9px}.bars h3:before{content:"";width:5px;height:19px;background:linear-gradient(var(--c0),var(--c1));border-radius:3px}.bar-row{display:grid;grid-template-columns:130px 1fr;grid-gap:16px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.45)}.bar-row:last-child{border-bottom:none}.bar-name{font-weight:700;font-size:15px;color:var(--title)}.metrics{display:flex;flex-direction:column;gap:8px}.metric{display:grid;grid-template-columns:72px 1fr;grid-gap:12px;gap:12px;align-items:center}.metric span{font-size:12.5px;font-weight:500;color:var(--muted);text-align:right}.track{height:15px;background:rgba(255,255,255,.4);border-radius:9px;overflow:hidden;border:1px solid rgba(255,255,255,.5)}.fill{height:100%;border-radius:9px;background:linear-gradient(90deg,var(--c0),var(--c1));transition:width .7s cubic-bezier(.2,.7,.3,1);box-shadow:0 1px 4px rgba(91,107,214,.35)}.foot{text-align:center;margin-top:18px;color:var(--muted);font-size:12px;font-weight:500;opacity:.8;flex:none}.settings{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:rgba(224,232,248,.72);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);transform:translateY(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);visibility:hidden}.settings.on{transform:translateY(0);visibility:visible}.set-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.42)}.set-title{font-size:16px;font-weight:800;color:var(--title)}.set-title,.set-tools{display:flex;align-items:center;gap:8px}.set-tools{flex-wrap:wrap;justify-content:flex-end}.tbtn{font-family:inherit;font-size:13.5px;font-weight:700;padding:9px 15px;border-radius:11px;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--title);transition:.14s;white-space:nowrap}.tbtn:hover{background:#fff}.tbtn.t-save{background:#2fa565;color:#fff;border-color:transparent}.saved{font-size:13px;font-weight:700;color:#1f8a50;opacity:0;transition:.3s;margin-right:2px}.saved.on{opacity:1}.set-main{flex:1 1;display:flex;min-height:0}.set-side{width:236px;flex:none;display:flex;flex-direction:column;padding:14px;gap:5px;border-right:1px solid rgba(255,255,255,.5);overflow-y:auto;background:rgba(255,255,255,.28)}.side-label{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin:16px 6px 5px}.side-item{display:flex;align-items:center;gap:10px;font-family:inherit;font-size:14.5px;font-weight:600;text-align:left;padding:10px 12px;border-radius:12px;cursor:pointer;color:var(--title);width:100%;border:1px solid transparent;background:transparent;transition:.14s}.side-item:hover{background:rgba(255,255,255,.6)}.side-item.active{background:var(--navy);color:#fff;box-shadow:0 5px 16px rgba(63,77,148,.32)}.side-item .si-ico{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.55);font-size:15px}.side-item.active .si-ico{background:rgba(255,255,255,.22)}.side-item .si-ico svg{width:18px;height:18px}.side-add{font-family:inherit;font-size:13.5px;font-weight:600;padding:11px;border-radius:12px;cursor:pointer;border:1px dashed rgba(139,152,190,.65);background:transparent;color:var(--navy);margin-top:4px}.side-add:hover{background:rgba(255,255,255,.6)}.side-reset{margin-top:auto;font-family:inherit;font-size:12.5px;font-weight:600;padding:10px;border-radius:11px;cursor:pointer;border:1px solid rgba(224,86,86,.4);background:rgba(255,255,255,.4);color:#d05656}.set-edit{flex:1 1;min-width:0;overflow-y:auto;padding:24px 26px 40px}.edit-head{gap:12px;margin-bottom:10px}.edit-head,.eh-ico{display:flex;align-items:center}.eh-ico{width:46px;height:46px;flex:none;border-radius:13px;justify-content:center;border:1px solid rgba(255,255,255,.55);font-size:22px}.eh-ico svg{width:26px;height:26px}.ed{border:1px solid transparent;padding:5px 9px;border-radius:8px;transition:.12s}.ed:focus{outline:none;border-color:var(--c0);background:rgba(255,255,255,.9)}.cname{font-size:23px;font-weight:800;color:var(--title)}.cnote{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:16px;display:inline-block}.cnote:empty:before{content:"＋ 부제 (선택)";color:var(--muted);opacity:.65}.bsec{margin-bottom:26px}.bsec h3{font-size:11.5px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.binput{font-family:inherit;font-size:16px;font-weight:600;padding:12px 14px;border:1px solid rgba(160,172,205,.5);border-radius:12px;background:rgba(255,255,255,.82);width:300px;max-width:100%;color:var(--ink)}.binput:focus{outline:none;border-color:var(--c0)}.presets{display:flex;gap:12px;flex-wrap:wrap}.preset{cursor:pointer;border-radius:14px;padding:11px 12px;border:2px solid transparent;background:rgba(255,255,255,.55);transition:.14s}.preset:hover{background:rgba(255,255,255,.85);transform:translateY(-2px)}.preset.active{border-color:var(--navy);background:rgba(255,255,255,.9)}.preset .chips{display:flex;gap:4px;margin-bottom:7px}.preset .chips i{width:24px;height:24px;border-radius:7px;display:block}.preset span{font-size:12px;font-weight:700;color:var(--title)}.swatches{display:flex;gap:16px;flex-wrap:wrap}.sw{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}.sw input[type=color]{width:50px;height:42px;border:none;border-radius:12px;background:none;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(56,70,130,.22)}.etable{border-collapse:separate;border-spacing:5px;margin-top:4px}.etable td,.etable th{border-radius:11px}.etable thead th{color:#fff;font-family:var(--font-num);font-weight:700;font-size:17px;padding:9px;text-align:center;position:relative;min-width:116px;border:1px solid rgba(255,255,255,.5);text-shadow:0 1px 2px rgba(0,0,0,.12)}.etable thead th .ed{color:#fff;display:inline-block;min-width:44px}.etable thead th .ed:focus{color:var(--ink);text-shadow:none}.etable .rh{background:rgba(255,255,255,.62);color:var(--title);font-weight:700;font-size:15.5px;text-align:center;padding:11px 9px;min-width:112px;position:relative;border:1px solid rgba(255,255,255,.6)}.etable td.cell{background:rgba(255,255,255,.5);text-align:center;padding:10px 6px;cursor:pointer;min-width:116px;border:2px solid rgba(255,255,255,.5);transition:.12s}.etable td.cell:hover{border-color:var(--c0);background:rgba(255,255,255,.85)}.etable td.cell.sel{border-color:var(--navy);background:#fff;box-shadow:0 3px 12px rgba(63,77,148,.25)}.etable .price{font-size:17px}.etable .add{font-size:15px}.empty{color:rgba(109,117,144,.5);font-size:12px;font-weight:500}.xbtn{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:#d05656;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2;opacity:.5;box-shadow:0 1px 3px rgba(40,52,96,.18);transition:.12s}.etable thead th:hover .xbtn,.rh:hover .xbtn,.xbtn:hover{opacity:1;background:#e05656;color:#fff}@media (hover:none){.xbtn{opacity:.9;width:24px;height:24px;font-size:13px}.card:hover{transform:none}.mini,.side-add,.side-item,.side-reset,.tbtn{min-height:42px}}.mini{font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border:1px dashed rgba(139,152,190,.6);background:rgba(255,255,255,.55);color:var(--navy);padding:9px 15px;border-radius:11px;margin-right:8px;margin-top:12px}.mini:hover{background:rgba(255,255,255,.85)}.mini.danger{border-color:rgba(224,86,86,.5);color:#d05656}.baredit{margin-top:22px;border-top:1px solid rgba(255,255,255,.5);padding-top:16px}.baredit h3{font-size:12px;font-weight:800;color:var(--navy);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.baritem{display:grid;grid-template-columns:150px repeat(3,1fr) 28px;grid-gap:10px;gap:10px;align-items:center;margin-bottom:9px}.baritem .bn{font-weight:700;font-size:14px}.baritem .mrow{display:flex;align-items:center;gap:6px}.baritem .mrow span{font-size:11px;font-weight:500;color:var(--muted);width:56px}.baritem input[type=number]{width:58px;font-family:var(--font-num);padding:6px;border:1px solid rgba(160,172,205,.5);border-radius:8px;text-align:center;background:rgba(255,255,255,.78)}@media(max-width:720px){.set-side{width:150px}.side-item{font-size:13px;padding:9px}.set-edit{padding:18px}}.pop-bg{position:fixed;inset:0;z-index:75;display:none}.pop-bg.on{display:block}@keyframes mpop{0%{transform:scale(.95);opacity:.3}to{transform:scale(1);opacity:1}}.pop{position:fixed;width:268px;max-width:calc(100vw - 20px);border-radius:16px;padding:15px 16px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 46px rgba(30,40,80,.34);animation:mpop .17s cubic-bezier(.3,1.3,.5,1);transform-origin:top center}.pop label{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:11px}.pop>label input[type=text]{width:100%;font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid rgba(160,172,205,.5);border-radius:10px;margin-top:5px;font-weight:500;background:rgba(255,255,255,.92)}.pop input[type=text]:focus{outline:none;border-color:var(--c0)}.pw{display:flex;align-items:center;gap:8px;margin-top:5px;padding:0 12px;border:1px solid rgba(160,172,205,.5);border-radius:10px;background:rgba(255,255,255,.92)}.pw:focus-within{border-color:var(--c0)}.pw>span{font-weight:700;color:var(--navy)}.pw input,.pw>span{font-family:var(--font-num);font-size:18px}.pw input{flex:1 1;border:none!important;background:transparent!important;margin:0!important;padding:11px 0!important;width:100%;font-weight:600;letter-spacing:.02em}.pw input:focus{outline:none}.pop-note{font-size:11px;font-weight:600;color:var(--muted);margin:1px 0 13px}.pop-note b{color:var(--navy);font-size:13px}.pop-btns{display:flex;gap:8px}.pop-btns button{flex:1 1;font-family:inherit;font-size:13.5px;font-weight:700;padding:11px;border-radius:10px;border:none;cursor:pointer}.pop-btns .ok{background:var(--navy);color:#fff}.pop-btns .ghost{background:rgba(235,240,250,.95);color:var(--ink)}@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:29px}.tag{font-size:20px}.tag .tico{width:40px;height:40px}.ptable{min-width:540px}.bar-row{gap:9px}.bar-row,.baritem{grid-template-columns:1fr}.baritem{gap:6px}}@media(max-width:450px){.grid{grid-template-columns:1fr}}.pw-bg{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(40,52,96,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pw-bg.on{display:flex;animation:mfade .18s ease}@keyframes mfade{0%{opacity:0}to{opacity:1}}.pw-modal{width:320px;max-width:100%;border-radius:20px;padding:24px;text-align:center;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 60px rgba(30,40,80,.35);animation:mpop .2s cubic-bezier(.3,1.3,.5,1)}.pw-modal h3{font-size:18px;font-weight:800;color:var(--title);margin-bottom:16px}.pw-modal input{width:100%;font-family:inherit;font-size:17px;font-weight:600;padding:12px 14px;border:1px solid rgba(160,172,205,.5);border-radius:12px;background:rgba(255,255,255,.9);text-align:center;letter-spacing:.08em}.pw-modal input:focus{outline:none;border-color:var(--c0)}.pw-err{min-height:17px;font-size:12.5px;font-weight:600;color:#d05656;margin:9px 0 13px}.dragh{cursor:-webkit-grab;cursor:grab;color:rgba(90,98,125,.5);font-size:13px;line-height:1;padding:2px 5px;flex:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:6px;letter-spacing:-2px}.dragh:active{cursor:-webkit-grabbing;cursor:grabbing}.col-th .dragh,.rh .dragh{position:absolute;left:2px;top:50%;transform:translateY(-50%)}.col-th .dragh{color:rgba(255,255,255,.75)}.side-item .dragh{color:rgba(90,98,125,.5);margin:-2px 3px -2px -3px}.side-item.active .dragh{color:rgba(255,255,255,.72)}.sortable-ghost{opacity:.4}.etable .sortable-ghost{background:rgba(91,107,214,.12)!important}.side-item.sortable-ghost{background:rgba(91,107,214,.14)}.sortable-drag{opacity:.95}@media (hover:none){.dragh{font-size:16px;padding:4px 7px}}.etable .coldrag-lift{position:relative;z-index:6;box-shadow:0 10px 26px rgba(30,40,80,.3)}.etable th.col-th.coldrag-lift{z-index:7}.etable .coldrag-move{transition:transform .16s cubic-bezier(.2,.7,.3,1)}body.coldragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}body.coldragging,body.coldragging .dragh{cursor:-webkit-grabbing;cursor:grabbing}.etable .note{font-size:11.5px}.fctl{margin-bottom:13px;max-width:380px}.fctl label{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.fctl label b{color:var(--navy);font-family:var(--font-num);font-size:13px}.fctl input[type=range]{width:100%;accent-color:var(--navy);height:24px}.fpreview{margin-top:14px;padding:16px;border-radius:16px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.6);overflow-x:auto}.fpreview .plabel{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}