@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&family=Press+Start+2P&display=swap');
@import url('https://cdn.jsdelivr.net/npm/galmuri@2.40.3/dist/galmuri.css');

:root{color-scheme:dark;--bg:#10131c;--panel:#1a1e29;--panel2:#202531;--line:#303644;--muted:#9ba3b1;--text:#f6f5ef;--gold:#edba62;--gold2:#f6d48d;--coral:#ed8066;--shadow:0 22px 54px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Manrope','Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}a{color:inherit;text-decoration:none}.app-shell{padding-bottom:124px}.topbar{height:76px;border-bottom:1px solid #282e3b;display:flex;align-items:center;padding:0 36px;gap:24px;background:#11151f}.brand{display:flex;align-items:center;gap:11px;font-size:16px;letter-spacing:.14em;font-weight:800;white-space:nowrap}.brand b{color:var(--gold)}.brand-mark{width:29px;height:29px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:50%;font-size:20px;line-height:1}.topbar-note{color:#838b99;font-size:12px;margin-left:auto}.topbar-bpm{font-size:11px;color:#d7cfbf;letter-spacing:.1em;border:1px solid #3c3c3a;padding:10px 14px;border-radius:99px;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:7px;vertical-align:2px;box-shadow:0 0 8px var(--gold)}
.layout{display:grid;grid-template-columns:238px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{border-right:1px solid #272d39;min-height:calc(100vh - 76px);padding:34px 18px 30px 26px}.sidebar-head{display:grid;gap:8px;padding:0 10px 24px}.sidebar-head strong{font-size:16px}.eyebrow{font-family:'DM Sans',sans-serif;color:#8b94a4;font-size:10px;font-weight:700;letter-spacing:.19em}.eyebrow.gold{color:var(--gold)}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;width:100%;padding:12px 11px;border-radius:9px;color:#9aa3b0;font-size:13px;font-weight:600;transition:background .15s,color .15s}.nav-link .nav-num{font-family:'DM Sans',sans-serif;color:#687280;font-size:10px;width:22px}.nav-link .nav-count{margin-left:auto;font-family:'DM Sans',sans-serif;font-size:10px;color:#697383}.nav-link:hover,.nav-link.active{background:#262a32;color:var(--gold2)}.nav-link.active .nav-num{color:var(--gold)}.sidebar-tip{border:1px solid #3b3b39;border-radius:13px;margin-top:38px;padding:17px 16px;background:linear-gradient(150deg,#25252a,#1d2029)}.sidebar-tip span{font-size:10px;color:var(--gold);letter-spacing:.13em;font-weight:800}.sidebar-tip p{font-size:12px;color:#c7c2b8;line-height:1.65;margin:10px 0 0}
.main{min-width:0;padding:26px 32px 64px;max-width:1330px;width:100%}.hero{min-height:309px;border-radius:18px;overflow:hidden;position:relative;padding:40px 52px;background:radial-gradient(circle at 78% 35%,rgba(237,186,98,.28),transparent 26%),linear-gradient(110deg,#37303b 0%,#2c303b 45%,#6a4338 100%);box-shadow:var(--shadow);isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 48px,rgba(255,255,255,.022) 49px,transparent 50px);opacity:.7;z-index:-1}.hero-copy{position:relative;z-index:2}.hero .line{display:inline-block;width:24px;height:1px;background:var(--gold);vertical-align:middle;margin:0 8px}.hero h1{font-family:'DM Sans',sans-serif;font-size:clamp(44px,5.2vw,76px);line-height:.92;letter-spacing:-.065em;margin:19px 0 15px;font-weight:700}.hero h1 em{font-style:normal;color:var(--gold2)}.hero p{font-size:14px;color:#e7e0dc;margin:0}.hero-actions{display:flex;gap:10px;margin-top:26px}.button{border-radius:8px;padding:12px 17px;font-size:12px;font-weight:800;border:1px solid transparent;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:#25232a}.button.primary:hover{background:var(--gold2)}.button.primary span{font-size:10px;margin-right:7px}.button.secondary{background:rgba(17,19,27,.25);border-color:#777274;color:#fff}.button.secondary:hover{background:rgba(255,255,255,.12)}.hero-disc{position:absolute;right:8%;top:-60px;width:380px;height:380px;border-radius:50%;background:repeating-radial-gradient(circle,#262832 0,#262832 2px,#171a22 3px,#262832 5px,#171a22 7px);border:10px solid #20232b;box-shadow:-25px 28px 45px rgba(0,0,0,.35);display:grid;place-items:center;transform:rotate(-22deg)}.disc-inner{width:132px;height:132px;background:#dfab5b;border-radius:50%;border:5px solid #bc8b49;display:grid;place-items:center;text-align:center;color:#312934;font-family:'DM Sans',sans-serif;font-size:17px;font-weight:800;letter-spacing:.08em;line-height:1.05;position:relative}.disc-inner i{position:absolute;width:14px;height:14px;background:#222631;border-radius:50%;top:calc(50% - 7px);left:calc(50% - 7px)}.disc-inner span{transform:translateY(-21px)}.hero-index{position:absolute;right:23px;bottom:20px;color:#f1dbca;font-size:10px;letter-spacing:.12em}
.timeline-panel{margin-top:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:23px 26px 17px}.panel-heading,.content-head,.sync-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.panel-heading h2,.content-head h2,.sync-heading h2{font-size:19px;letter-spacing:-.04em;margin:7px 0 0}.duration{font-family:'DM Sans',sans-serif;color:#9ca5b3;font-size:12px}.wave-wrap{height:124px;margin-top:15px;position:relative;background:linear-gradient(180deg,#1f2630,#1b212c);border-radius:9px;overflow:hidden}#waveform{width:100%;height:118px;display:block;cursor:pointer}.wave-status{position:absolute;inset:0;display:grid;place-items:center;color:#8c96a3;font-size:12px;pointer-events:none}.wave-status.hidden{display:none}.timeline-footer{display:flex;align-items:center;gap:20px;color:#8f99a8;font-size:10px;padding-top:13px}.timeline-footer span:last-child{margin-left:auto;font-family:'DM Sans',sans-serif;font-size:11px}.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:#b78455;margin-right:6px;vertical-align:-1px}.legend-swatch.line-swatch{width:2px;background:#647185;margin-right:9px}
.guide-strip{display:flex;align-items:center;justify-content:center;gap:28px;padding:20px 5px;border-bottom:1px solid #2d323d;color:#d6d2cb;font-size:12px}.guide-strip div{display:flex;align-items:center;gap:9px}.guide-strip b{font-family:'DM Sans',sans-serif;color:var(--gold);font-size:11px}.guide-arrow{color:#656c77}.content-head{margin:34px 0 23px}.content-head p,.sync-heading p{color:#8f98a5;font-size:12px;margin:0}.sections{display:grid;gap:32px}.choreo-section{scroll-margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.section-title{display:flex;align-items:center;gap:13px}.section-number{width:28px;height:28px;display:grid;place-items:center;color:#d8ad6b;background:#302e30;border:1px solid #604d3e;border-radius:7px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:800}.section-heading h3{margin:0;font-size:17px}.section-range{font-family:'DM Sans',sans-serif;color:#89929f;font-size:11px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.choreo-card{background:var(--panel);border:1px solid #323746;border-radius:12px;text-align:left;color:var(--text);min-height:132px;padding:15px 15px 13px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s,background .15s;position:relative}.choreo-card:hover{transform:translateY(-2px);border-color:#aa8050;background:#252933}.choreo-card.selected{background:#2c2b2c;border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(237,186,98,.22)}.choreo-card.playing:after{content:"";position:absolute;right:14px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}.card-top{display:flex;justify-content:space-between;gap:4px;color:#a7afba;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em}.card-top .card-time{color:#a5a7a9;font-weight:500;letter-spacing:0}.card-move{font-family:'Noto Sans KR',sans-serif;font-size:15px;line-height:1.45;font-weight:700;margin:17px 0 auto;word-break:keep-all}.card-move.empty{color:#7f8996;font-weight:500;font-size:12px}.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:6px;padding-top:11px}.beats{display:flex;gap:2px;white-space:nowrap}.beats i{font-style:normal;font-family:'DM Sans',sans-serif;color:#7d8796;font-size:9px}.beats i:first-child{color:var(--gold);font-weight:800}.card-play{font-size:10px;color:var(--gold);font-weight:800;white-space:nowrap}.card-note{display:inline-block;color:var(--coral);font-size:10px;font-weight:700;margin-top:6px}.sync-panel{margin-top:38px;border:1px solid var(--line);border-radius:14px;background:#1a1e28;padding:25px}.sync-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:21px}.sync-controls label{font-size:11px;font-weight:700;color:#abb3bf;display:grid;gap:8px}.sync-controls input{background:#11151e;border:1px solid #3b424e;color:#f5f5f0;border-radius:7px;padding:10px;width:124px;font-size:13px}.sync-controls .button{padding:11px 13px}.text-button{color:var(--gold);background:none;border:none;font-size:11px;font-weight:700;padding:10px}.sync-hint{font-size:11px;color:#8d97a5;line-height:1.6;margin:16px 0 0}
.player{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(19,23,31,.98);border-top:1px solid #40424a;box-shadow:0 -15px 40px rgba(0,0,0,.3);backdrop-filter:blur(16px)}.player-inner{max-width:1600px;margin:auto;min-height:104px;padding:16px 31px;display:grid;grid-template-columns:47px minmax(180px,1.1fr) minmax(280px,1.4fr) minmax(260px,1.25fr);gap:15px;align-items:center}.player-art{height:46px;width:46px;border-radius:8px;background:linear-gradient(140deg,#d9985e,#714b48);display:grid;place-items:center;font-size:26px;color:#fff}.player-track{display:grid;gap:3px;min-width:0}.player-kicker{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.13em;color:var(--gold);font-weight:800}.player-track strong{font-family:'Noto Sans KR',sans-serif;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-track>span:last-child{font-size:10px;color:#818b9a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-center{display:grid;gap:7px}.transport{display:flex;align-items:center;justify-content:center;gap:18px}.icon-button{border:0;background:none;color:#c3c8cf;font-size:17px;padding:2px 4px}.icon-button:hover{color:#fff}.play-button{width:31px;height:31px;border-radius:50%;background:var(--gold);color:#1c1b1c;border:0;font-size:12px;display:grid;place-items:center;padding-left:3px}.play-button.paused{padding-left:0}.player-progress{display:flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:9px;color:#a1a8b1}.player-progress input{flex:1;accent-color:var(--gold);height:3px;min-width:40px}.player-options{display:flex;align-items:center;justify-content:end;gap:12px;flex-wrap:wrap}.loop-toggle,.speed-select{display:flex;align-items:center;gap:5px;color:#b7bec8;font-size:10px;white-space:nowrap}.loop-toggle input{accent-color:var(--gold)}.speed-select select{background:#252a35;color:#e8e8e7;border:1px solid #414856;border-radius:5px;padding:4px;font-size:10px}.pin-button{border:1px solid #69604f;color:var(--gold2);background:#302d2b;border-radius:6px;padding:7px 9px;font-size:10px;font-weight:700;white-space:nowrap}.pin-button:hover{background:#40382f}.pin-clear{border:0;background:none;color:#9ca5b2;font-size:17px;padding:4px}.toast{position:fixed;bottom:124px;right:24px;background:#e8bb75;color:#29252a;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:800;z-index:40;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:14px}.main{padding:22px}.hero-disc{right:-40px}.player-inner{grid-template-columns:42px minmax(150px,.9fr) minmax(230px,1.2fr);gap:11px}.player-options{grid-column:2/4;justify-content:center}.player{min-height:116px}.app-shell{padding-bottom:160px}}
@media(max-width:780px){.topbar{height:62px;padding:0 18px}.topbar-note{display:none}.topbar-bpm{font-size:9px;padding:8px;margin-left:auto}.layout{display:block}.sidebar{border-right:0;border-bottom:1px solid #2b313b;min-height:0;padding:11px 17px}.sidebar-head,.sidebar-tip{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-link{flex:0 0 auto;width:auto;padding:9px 10px}.nav-link .nav-count{display:none}.main{padding:17px 15px 50px}.hero{min-height:260px;padding:31px 26px}.hero-disc{width:280px;height:280px;right:-110px;top:-20px;opacity:.8}.hero h1{font-size:53px}.hero p{max-width:215px;font-size:12px}.hero-index{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-strip{gap:9px;font-size:10px}.guide-strip div{gap:4px}.content-head p{display:none}.sync-heading{display:block}.sync-heading p{margin-top:7px}.player-inner{padding:10px 14px;grid-template-columns:36px minmax(0,1fr) 130px;min-height:86px}.player-art{width:36px;height:36px}.player-center{grid-column:3}.player-progress{display:none}.player-options{grid-column:1/4;justify-content:center;gap:10px}.player{min-height:112px}.app-shell{padding-bottom:157px}.toast{bottom:125px;right:12px;left:12px;text-align:center}}
@media(max-width:430px){.brand{font-size:12px}.brand-mark{height:25px;width:25px;font-size:16px}.topbar-bpm{font-size:8px}.hero{padding:26px 21px}.hero .eyebrow{font-size:8px}.hero h1{font-size:46px}.hero-actions{gap:6px}.hero-actions .button{font-size:10px;padding:10px 11px}.hero-disc{right:-155px}.timeline-panel{padding:17px 15px}.timeline-footer{gap:9px;font-size:8px}.card-grid{gap:7px}.choreo-card{padding:12px;min-height:125px}.card-move{font-size:13px}.player-track strong{font-size:11px}.player-track>span:last-child{font-size:9px}.player-options{gap:7px}.pin-button{font-size:9px;padding:6px}.guide-strip{gap:5px;font-size:9px}}
.beat-control{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;padding:18px;background:#242a35;border:1px solid #66573f;border-radius:11px}.beat-control[hidden]{display:none}.beat-control-copy{display:grid;gap:5px;min-width:210px}.beat-control-copy strong{font-size:14px}.beat-control-copy strong span{color:var(--gold2);margin-left:7px;font-family:'DM Sans',sans-serif}.beat-control-copy small{color:#afb7c2;font-size:11px}.beat-control-copy small b{color:var(--gold2)}.beat-control-actions{display:flex;align-items:center;gap:9px;flex:1;justify-content:flex-end}.beat-control-actions input[type=range]{accent-color:var(--gold);width:min(210px,100%);min-width:90px}.beat-step{height:32px;width:32px;flex:0 0 32px;border:1px solid #a88755;border-radius:7px;background:#39382f;color:var(--gold2);font-size:20px;line-height:1}.beat-step:hover{background:#4c4534}.beat-preview{border:1px solid #ab8551;border-radius:7px;background:var(--gold);color:#25232a;font-size:11px;font-weight:800;padding:9px 11px;white-space:nowrap}.beat-preview:hover{background:var(--gold2)}
@media(max-width:980px){.beat-control{display:grid}.beat-control-actions{justify-content:flex-start}}
@media(max-width:540px){.beat-control{padding:14px;gap:14px}.beat-control-copy{min-width:0}.beat-control-actions{display:grid;grid-template-columns:32px minmax(90px,1fr) 32px;gap:8px}.beat-control-actions input[type=range]{width:100%;min-width:0}.beat-preview{grid-column:1/4;width:100%}}
.section-editor{margin-top:22px;border:1px solid #6b583b;border-radius:16px;background:linear-gradient(145deg,#252732,#1b202b);padding:25px 26px}.section-editor-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.section-editor-head h2{font-size:20px;margin:7px 0}.section-editor-head p{font-size:12px;line-height:1.6;color:#aeb7c3;margin:0}.section-editor-head p b{color:var(--gold2)}.section-editor-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.boundary-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:21px}.boundary-row{display:flex;align-items:center;justify-content:space-between;gap:13px;min-width:0;background:#191e29;border:1px solid #39404c;border-radius:10px;padding:13px}.boundary-row.active{border-color:var(--gold);background:#29292b}.boundary-name{display:grid;grid-template-columns:25px 1fr;column-gap:7px;row-gap:3px;min-width:0}.boundary-number{grid-row:1/3;color:var(--gold);font:700 11px 'DM Sans',sans-serif;padding-top:3px}.boundary-name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boundary-name small{grid-column:2;color:#a5adba;font:500 10px 'DM Sans',sans-serif;white-space:nowrap}.boundary-row.manual-start .boundary-name small,.boundary-row.manual-end .boundary-name small{color:var(--gold2)}.boundary-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.boundary-actions button{font-size:10px;font-weight:700;border:1px solid #555e6b;color:#dce2e8;background:#303743;border-radius:6px;padding:7px 8px;white-space:nowrap}.boundary-actions button:hover{background:#46505e}.boundary-actions button[data-action=end]{background:#4d3d2f;border-color:#8c6a46;color:#ffe0ad}.boundary-actions button[data-action=end]:hover{background:#67503b}.section-editor-note{color:#8995a4;font-size:11px;line-height:1.6;margin:14px 0 0}
.section-editor-head{cursor:pointer;align-items:center;list-style:none}.section-editor-head::-webkit-details-marker{display:none}.section-editor-head:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.section-editor-chevron{color:var(--gold2);font-size:24px;line-height:1;transition:transform .2s}.section-editor-details[open] .section-editor-chevron{transform:rotate(180deg)}.section-editor-description{font-size:12px;line-height:1.6;color:#aeb7c3;margin:12px 0 18px}.section-editor-description b{color:var(--gold2)}.sync-panel[hidden]{display:none}.brand img.brand-mark{display:block;flex:none;object-fit:cover;border:0;border-radius:50%}
@media(max-width:1250px){.boundary-rows{grid-template-columns:1fr}}@media(max-width:780px){.section-editor{padding:18px 15px}.section-editor-head{display:flex}.section-editor-tools{margin-top:14px}.boundary-row{align-items:flex-start;flex-direction:column}.boundary-actions{justify-content:flex-start}}
.loop-hint{margin:-8px 0 20px;padding:12px 16px;border:1px solid #9d7445;border-radius:9px;background:#3b3028;color:#ffe1b0;font-size:12px;font-weight:700;line-height:1.5}.loop-hint[hidden]{display:none}.choreo-card{cursor:pointer}.choreo-card.loop-range,.boundary-row.loop-range{border-color:#c89450;background:#302c2b}.choreo-card.loop-first,.boundary-row.loop-first{border-color:#f1ce89;box-shadow:inset 0 0 0 1px #f1ce89}.card-actions{display:flex;align-items:center;gap:8px}.card-edit{border:0;background:transparent;color:#a8b1bd;font-size:10px;font-weight:700;padding:3px}.card-edit:hover{color:var(--gold2)}.card-play{border:0;background:transparent;padding:3px;color:var(--gold);font-size:10px;font-weight:800;white-space:nowrap}.choreo-card.editing{cursor:default}.choreo-card.editing .card-move{display:none}.card-edit-form{display:grid;gap:9px;margin-top:11px}.card-edit-form input{min-width:0;width:100%;border:1px solid #96744d;background:#11151e;color:#fff;border-radius:6px;padding:8px;font-size:12px}.card-edit-form div{display:flex;gap:7px}.card-edit-form button{border:1px solid #8e724e;background:#3c332d;color:#ffdcaa;border-radius:6px;padding:5px 9px;font-size:10px;font-weight:700}.card-edit-form button:hover{background:#524031}
.section-play{border:1px solid #66533b;background:#342e2a;color:var(--gold2);border-radius:6px;padding:6px 9px;font-size:10px;font-weight:700;white-space:nowrap}.section-play:hover{background:#55402d}.section-title{flex-wrap:wrap}@media(max-width:540px){.section-play{font-size:9px;padding:5px 6px}.section-title{gap:8px}}
.choreo-card.selected:not(.beat-active){border-color:#786852;box-shadow:inset 0 0 0 1px rgba(237,186,98,.08)}.choreo-card.beat-active{z-index:1;border-color:#ffd27d;background:#332f2d;box-shadow:0 0 0 2px rgba(255,210,125,.45),0 0 24px rgba(237,186,98,.24);animation:beat-card-enter .38s ease-out}.choreo-card.beat-active:before{content:"";position:absolute;left:0;bottom:0;height:4px;width:var(--beat-progress,0%);background:linear-gradient(90deg,#d89442,#ffe1a1);border-radius:0 3px 3px 11px;pointer-events:none}.choreo-card.beat-active .beats i:first-child{color:#7d8796;font-weight:400}.choreo-card.beat-active .beats i.beat-now{color:#251f1a;background:#f6d48d;border-radius:3px;padding:0 2px;font-weight:800;animation:beat-number-enter .18s ease-out}@keyframes beat-card-enter{0%{transform:scale(.97);box-shadow:0 0 0 0 rgba(255,210,125,0)}60%{transform:scale(1.025);box-shadow:0 0 0 5px rgba(255,210,125,.28)}100%{transform:scale(1);box-shadow:0 0 0 2px rgba(255,210,125,.45),0 0 24px rgba(237,186,98,.24)}}@keyframes beat-number-enter{from{transform:scale(1.4)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.choreo-card.beat-active,.choreo-card.beat-active .beats i.beat-now{animation:none}}
#nowMove{font-size:16px;color:#fff1cf}#nowSection{font-size:10px;color:#f6c979}#nowRange{font-size:11px;color:#bdc6d1}@media(max-width:780px){#nowMove{font-size:13px}#nowRange{font-size:10px}}

/* 139기 픽셀 게임 테마 */
:root{--bg:#101b32;--panel:#182b49;--panel2:#203858;--line:#47739e;--muted:#afcce5;--text:#fff9e8;--gold:#ffe36a;--gold2:#fff3a6;--coral:#ff686f;--shadow:5px 5px 0 #071226}
body{background-color:var(--bg);background-image:linear-gradient(rgba(82,156,219,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(82,156,219,.065) 1px,transparent 1px);background-size:20px 20px}
.topbar{background:#16355b;border-bottom:3px solid #68caff}.brand{letter-spacing:.04em}.brand img.brand-mark{border-radius:2px;image-rendering:pixelated;width:36px;height:36px}.topbar-bpm{border:2px solid #65b9ed;border-radius:2px;background:#102846}.status-dot{border-radius:0;box-shadow:none}
.sidebar{background:#132640;border-color:#355d85}.sidebar-head strong,.panel-heading h2,.content-head h2,.section-heading h3,.section-editor-head h2{color:#fff5b8}.eyebrow,.nav-link .nav-num,.section-number,.hero-index{font-family:'Press Start 2P','Noto Sans KR',sans-serif;letter-spacing:0;line-height:1.6}.eyebrow{font-size:8px}.nav-link{border:2px solid transparent;border-radius:2px}.nav-link:hover,.nav-link.active{background:#315e86;border-color:#84d4ff;color:#fff}.sidebar-tip{background:#1f4267;border:2px solid #68bceb;border-radius:2px;box-shadow:4px 4px 0 #07182b}
.hero{min-height:0;padding:0;border:3px solid #88d9ff;border-radius:2px;background:#1f4d78;box-shadow:6px 6px 0 #08182e;overflow:visible}.hero:before{display:none}.hero-art{display:block;width:100%;padding:0;border:0;background:#71c6ff;cursor:pointer;line-height:0}.hero-art img{display:block;width:100%;height:auto;image-rendering:pixelated}.hero-art:hover img{filter:brightness(1.06)}.hero-art:focus-visible{outline:4px solid var(--gold);outline-offset:4px}.hero-copy{padding:22px 28px 28px;background:#18385e;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}.hero-copy .eyebrow{grid-column:1/-1}.hero h1{font-family:'Press Start 2P','Noto Sans KR',sans-serif;font-size:clamp(18px,2.5vw,30px);line-height:1.45;letter-spacing:0;margin:10px 0 2px;grid-column:1}.hero h1 br{display:none}.hero h1 em{margin-left:.5em;color:var(--gold)}.hero p{grid-column:1;font-weight:800;color:#d4edff}.hero-actions{grid-column:2;grid-row:2/4;margin:0}.hero-index{right:10px;bottom:7px;font-size:7px;color:#a9dafa}
.button,.play-button,.icon-button,.section-play,.beat-preview,.pin-button,.boundary-actions button,.card-edit-form button{border-radius:2px;box-shadow:3px 3px 0 #07182d}.button:active,.play-button:active,.icon-button:active,.section-play:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #07182d}.button.primary{background:#ff6c73;color:#251a2b;border:2px solid #ffe2ab}.button.primary:hover{background:#ff8b82}.button.secondary{background:#2c537c;border:2px solid #83ccf0;color:#fff}.button.secondary:hover{background:#376994}
.timeline-panel,.section-editor,.choreo-card,.boundary-row,.sync-panel{border-radius:2px;border-width:2px;box-shadow:4px 4px 0 #07182d;background:var(--panel)}.timeline-panel{border-color:#6fb9e8}.wave-wrap{border-radius:1px;background:#102744;border:2px solid #4478a5}.section-editor{border-color:#77bdea;background:#203c62}.boundary-row{background:#16304f;border-color:#4676a1}.boundary-row.active,.choreo-card.selected{background:#254c73}.section-editor-head,.section-editor-chevron{color:#fff1a5}.guide-strip{border-bottom:2px dashed #406b96}.section-number{border-radius:0;background:#315c85;border:2px solid #7acbfa;color:#fff8b6}.choreo-card{border-color:#426b95}.choreo-card:hover{background:#244a70;border-color:#8bd2ff}.choreo-card.beat-active{background:#315a7b;border-color:#ffe36a;box-shadow:0 0 0 2px #ffe36a,5px 5px 0 #07182d}.choreo-card.beat-active:before{border-radius:0;background:#ffe36a}.choreo-card.beat-active .beats i.beat-now{border-radius:0}.card-top,.section-range,.duration{font-family:'Press Start 2P','Noto Sans KR',sans-serif;font-size:8px;line-height:1.6}.card-note{color:#ff858a}
.player{background:#102845;border-top:3px solid #6bc4f5;backdrop-filter:none}.player-art{overflow:hidden;border:2px solid #7acef6;border-radius:2px;background:#76c6fa}.player-art img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.toast{border-radius:2px;background:#ffe36a;box-shadow:4px 4px 0 #07182d}
@media(max-width:780px){.hero-copy{grid-template-columns:1fr;padding:16px 18px 30px}.hero h1{font-size:18px}.hero h1 br{display:none}.hero-actions{grid-column:1;grid-row:auto;margin-top:14px;flex-wrap:wrap}.hero p{max-width:none}.brand img.brand-mark{width:29px;height:29px}}
@media(max-width:430px){.hero h1{font-size:14px}.hero-actions .button{font-size:10px}.topbar .brand{font-size:11px;letter-spacing:0}}

/* 한글도 게임 화면처럼 보이도록 갈무리 픽셀 글꼴 적용 */
body,button,input,select{font-family:'Galmuri11','Noto Sans KR',sans-serif}
.brand,.sidebar-head strong,.nav-link,.sidebar-tip,.hero p,.button,.panel-heading h2,.content-head h2,.section-heading h3,.section-editor-head h2,.card-move,.card-play,.section-play,.player-track,.player-options,.toast{font-family:'Galmuri11','Noto Sans KR',sans-serif}
.eyebrow,.nav-link .nav-num,.section-number,.hero-index,.card-top,.section-range,.duration,.boundary-number,.boundary-name small,.beats i,.timeline-footer,.player-kicker{font-family:'Galmuri9','Noto Sans KR',sans-serif}
.hero h1{font-family:'Press Start 2P','Galmuri11',sans-serif}.brand{line-height:1.4}.card-move{line-height:1.55}.button,.section-play,.nav-link{line-height:1.4}
.hero-index{display:block;z-index:3;right:14px;bottom:9px;color:#fff3a6;font-size:11px;letter-spacing:.02em;text-shadow:1px 1px 0 #07182d}

/* 계단형 모서리와 픽셀 프레임 */
.timeline-panel,.section-editor,.sidebar-tip{border:3px solid #75c9f2;border-radius:0;background-image:linear-gradient(90deg,rgba(125,207,255,.045) 50%,transparent 50%),linear-gradient(rgba(125,207,255,.045) 50%,transparent 50%);background-size:8px 8px;box-shadow:inset 0 0 0 3px #102b4d,6px 6px 0 #07182d}
.choreo-card,.boundary-row{border:3px solid #4d84b2;border-radius:0;background-image:linear-gradient(90deg,rgba(125,207,255,.035) 50%,transparent 50%),linear-gradient(rgba(125,207,255,.035) 50%,transparent 50%);background-size:8px 8px;box-shadow:inset 3px 3px 0 rgba(147,218,255,.13),4px 4px 0 #07182d}
.choreo-card:hover,.boundary-row:hover{border-color:#9bdbfa}.choreo-card.selected{border-color:#ffe36a;box-shadow:inset 3px 3px 0 rgba(255,227,106,.16),4px 4px 0 #07182d}.choreo-card.beat-active{border-color:#ffe36a;box-shadow:inset 0 0 0 2px #ffe36a,0 0 0 2px #ffe36a,5px 5px 0 #07182d}.choreo-card.playing:after{width:9px;height:9px;border-radius:0;box-shadow:3px 3px 0 #9d632d}
.button,.section-play,.play-button,.icon-button,.boundary-actions button,.pin-button,.card-edit-form button{border-radius:0;box-shadow:inset -3px -3px 0 rgba(0,0,0,.25),inset 3px 3px 0 rgba(255,255,255,.13),4px 4px 0 #07182d}.button:hover,.section-play:hover,.play-button:hover,.icon-button:hover{filter:brightness(1.12)}.button:active,.section-play:active,.play-button:active,.icon-button:active{box-shadow:inset 3px 3px 0 rgba(0,0,0,.25),1px 1px 0 #07182d}
.nav-link.active,.loop-hint,.toast{border-radius:0;box-shadow:4px 4px 0 #07182d}.section-number,.player-art,.wave-wrap{border-radius:0}.boundary-row.active{border-color:#ffe36a}.player{border-top:4px solid #7bd4ff;box-shadow:0 -4px 0 #07182d}
@media(max-width:780px){.choreo-card{min-height:158px}.card-move{font-size:16px;font-weight:400;line-height:1.55;word-break:normal;overflow-wrap:anywhere;margin-top:14px}.card-move.empty{font-size:14px;font-weight:400}}
@media(max-width:780px){.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.nav-link{width:100%;min-width:0;min-height:48px;padding:9px 10px;gap:8px;background:#1d3b5e;border:2px solid #4d84b2;box-shadow:3px 3px 0 #07182d}.nav-link .nav-num{flex:0 0 22px}.nav-link .nav-name{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.nav-link.active{box-shadow:inset 0 0 0 2px #ffe36a,3px 3px 0 #07182d}}
.save-status{grid-column:1;display:block;margin-top:7px;font-size:11px;color:#a8f2ba}.save-status.error{color:#ffd27b}
@media(max-width:780px){.topbar{width:100%;min-width:0;gap:0}.topbar-bpm{display:none}.topbar .brand{min-width:0;max-width:100%;flex:1}.topbar .brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .brand-mark{flex:none}.guide-strip{flex-wrap:wrap}.player-inner,.player-options{min-width:0;max-width:100%}}
