.castle-map{--map-bg:var(--seed-color-bg-layer-default);--map-fill:var(--seed-color-bg-layer-fill);--map-base:var(--seed-color-bg-layer-basement);--map-weak:var(--seed-color-palette-gray-300);--map-fg:var(--seed-color-fg-neutral);--map-muted:var(--seed-color-fg-neutral-muted);--map-subtle:var(--seed-color-fg-neutral-subtle);--map-stroke:var(--seed-color-stroke-neutral-weak);--map-hair:var(--seed-color-stroke-neutral-muted);--map-brand:var(--seed-color-bg-brand-solid);--map-brand-p:var(--seed-color-bg-brand-solid-pressed);--map-brand-w:var(--seed-color-palette-carrot-100);--map-brand-s:var(--seed-color-palette-carrot-300);--map-info:var(--seed-color-palette-blue-700);--map-info-w:var(--seed-color-palette-blue-100);--map-pos:var(--seed-color-palette-green-700);--map-pos-w:var(--seed-color-palette-green-100);--map-warn:var(--seed-color-palette-yellow-700);--map-warn-w:var(--seed-color-palette-yellow-100);--map-crit:var(--seed-color-palette-red-700);--map-crit-w:var(--seed-color-palette-red-100);--map-inv:var(--seed-color-palette-gray-900);--map-overlay:var(--seed-color-bg-overlay);--map-on-solid:var(--seed-color-palette-static-white);--map-sky:var(--seed-color-palette-blue-100);--map-sky2:var(--seed-color-palette-blue-300);--map-cloud:var(--seed-color-palette-gray-00);--map-hill:var(--seed-color-palette-green-200);--map-hill2:var(--seed-color-palette-green-300);--map-hill3:var(--seed-color-palette-green-400);--map-stone:var(--seed-color-palette-gray-00);--map-stone2:var(--seed-color-palette-carrot-100);--map-stone3:var(--seed-color-palette-carrot-200);--map-stone4:var(--seed-color-palette-carrot-300);--map-ink:var(--seed-color-palette-gray-900);--map-roof:var(--seed-color-palette-carrot-500);--map-roof2:var(--seed-color-palette-carrot-600);--map-roof3:var(--seed-color-palette-carrot-700);--map-wood:var(--seed-color-palette-yellow-100);--map-glow:var(--seed-color-palette-yellow-300);--map-glow2:var(--seed-color-palette-yellow-100);--map-onroof:var(--seed-color-palette-gray-00);--map-r1:var(--seed-radius-r1);--map-r2:var(--seed-radius-r2);--map-r3:var(--seed-radius-r3);--map-r4:var(--seed-radius-r4);--map-r5:var(--seed-radius-r5);--map-rf:var(--seed-radius-full);--map-x1:var(--seed-dimension-x1);--map-x2:var(--seed-dimension-x2);--map-x3:var(--seed-dimension-x3);--map-x4:var(--seed-dimension-x4);--map-x5:var(--seed-dimension-x5);--map-x6:var(--seed-dimension-x6);--map-x8:var(--seed-dimension-x8);--map-x10:var(--seed-dimension-x10);--map-x12:var(--seed-dimension-x12);--map-x16:var(--seed-dimension-x16);--map-t1:var(--seed-font-size-t1-static);--map-t2:var(--seed-font-size-t2-static);--map-t3:var(--seed-font-size-t3-static);--map-t4:var(--seed-font-size-t4-static);--map-t5:var(--seed-font-size-t5-static);--map-t6:var(--seed-font-size-t6-static);--map-t7:var(--seed-font-size-t7-static);--map-t8:var(--seed-font-size-t8-static);--map-t9:var(--seed-font-size-t9-static);--map-t11:var(--seed-font-size-t11-static);--map-t12:var(--seed-font-size-t12-static);--map-t13:var(--seed-font-size-t13-static);--map-s1:var(--seed-shadow-s1);--map-s2:var(--seed-shadow-s2);--map-s3:var(--seed-shadow-s3);--map-d3:var(--seed-duration-d3);--map-d4:var(--seed-duration-d4);background:var(--map-base);color:var(--map-fg);min-height:100vh}.castle-map *,.castle-map :before,.castle-map :after{box-sizing:border-box}.castle-map button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.castle-map button:focus-visible,.castle-map [tabindex]:focus-visible,.castle-map a:focus-visible,.castle-map textarea:focus-visible,.castle-map input:focus-visible{outline:2px solid var(--map-brand);outline-offset:2px;border-radius:var(--map-r1)}.castle-map h1,.castle-map h2,.castle-map h3,.castle-map p{margin:0}.castle-map .jua{font-family:var(--map-display), "Pretendard Variable", Pretendard, sans-serif;letter-spacing:0;font-weight:400}.castle-map .wrap{max-width:1240px;padding:0 var(--map-x5);margin:0 auto}.castle-map .top{background:var(--map-bg);border-bottom:1px solid var(--map-hair)}.castle-map .top .wrap{align-items:center;gap:var(--map-x4);min-height:var(--map-x16);padding-top:var(--map-x3);padding-bottom:var(--map-x3);flex-wrap:wrap;display:flex}.castle-map .mark{align-items:center;gap:var(--map-x3);display:flex}.castle-map .mark h1{font-size:var(--map-t8);letter-spacing:-.02em}.castle-map .mark p{font-size:var(--map-t3);color:var(--map-subtle);margin-top:2px;font-weight:500}.castle-map .sp{flex:1}.castle-map .chip{height:var(--map-x8);padding:0 var(--map-x3);border-radius:var(--map-rf);background:var(--map-fill);font-size:var(--map-t3);color:var(--map-muted);white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.castle-map .chip b{color:var(--map-fg)}.castle-map .hero{padding:var(--map-x6) 0 var(--map-x2)}.castle-map .stage{background:var(--map-bg);border:1px solid var(--map-stroke);border-radius:var(--map-r5);box-shadow:var(--map-s1);overflow:hidden}.castle-map .stage-in{overflow:auto hidden}.castle-map .castle{aspect-ratio:1360/1000;width:100%;min-width:940px;height:auto;display:block}.castle-map .hint{padding:var(--map-x2) var(--map-x4) 0;font-size:var(--map-t2);color:var(--map-subtle);display:none}@media (max-width:980px){.castle-map .hint{display:block}}.castle-map .node{cursor:pointer;transition:transform var(--map-d4) ease}.castle-map .node .lift{transition:transform var(--map-d4) ease}.castle-map .node:hover .lift,.castle-map .node:focus-visible .lift{transform:translateY(-6px)}.castle-map .node:focus-visible{outline:none}.castle-map .node:focus-visible .ring,.castle-map .node.sel .ring{opacity:1}.castle-map .ring{opacity:0;transition:opacity var(--map-d3)}.castle-map .svg-sign{font-family:var(--map-display), "Pretendard Variable", Pretendard, sans-serif;fill:var(--map-ink);font-size:15px}.castle-map .svg-zone{font-family:var(--map-display), "Pretendard Variable", Pretendard, sans-serif;fill:var(--map-onroof);font-size:19px}.castle-map .svg-cap{fill:var(--map-muted);font-size:12px;font-weight:700}.castle-map .svg-keep{font-family:var(--map-display), "Pretendard Variable", Pretendard, sans-serif;fill:var(--map-ink);font-size:17px}.castle-map section{padding:var(--map-x8) 0}.castle-map .sec-h{align-items:flex-end;gap:var(--map-x3);margin-bottom:var(--map-x5);flex-wrap:wrap;display:flex}.castle-map .sec-h h2{font-size:var(--map-t11);letter-spacing:-.03em;font-weight:900}.castle-map .sec-h p{font-size:var(--map-t3);color:var(--map-subtle);padding-bottom:4px}.castle-map .cols{gap:var(--map-x3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.castle-map .col{background:var(--map-stone2);border:1px solid var(--map-stone4);border-radius:var(--map-r4);min-width:0;overflow:hidden}.castle-map .col-h{align-items:center;gap:var(--map-x2);padding:var(--map-x3) var(--map-x4);background:var(--map-bg);border-bottom:1px solid var(--map-stone4);font-size:var(--map-t3);color:var(--map-fg);font-weight:900;display:flex}.castle-map .col-h i{background:var(--map-stone4);border-radius:50%;flex:none;width:10px;height:10px}.castle-map .col-h b{font-size:var(--map-t2);color:var(--map-subtle);margin-left:auto;font-weight:700}.castle-map .col.m .col-h i{background:var(--map-info)}.castle-map .col.c .col-h i{background:var(--map-brand)}.castle-map .col.p .col-h i{background:var(--map-pos)}.castle-map .col.i .col-h i{background:var(--map-warn)}.castle-map .col ul{padding:var(--map-x2);flex-direction:column;gap:6px;margin:0;list-style:none;display:flex}.castle-map .col li{background:var(--map-stone);border:1px solid var(--map-stone4);border-radius:var(--map-r2);font-size:var(--map-t3);color:var(--map-fg);overflow-wrap:anywhere;padding:10px 12px;font-weight:500;line-height:1.5}.castle-map .player{align-items:center;gap:var(--map-x3);background:var(--map-fill);border-radius:var(--map-r3);padding:10px var(--map-x3);display:flex}.castle-map .pp{background:var(--map-brand);width:36px;height:36px;color:var(--map-on-solid);transition:background var(--map-d3), transform var(--map-d3);border-radius:50%;flex:none;place-items:center;display:grid}.castle-map .pp:hover{background:var(--map-brand-p)}.castle-map .pp:active{transform:scale(.94)}.castle-map .pp svg{width:16px;height:16px;display:block}.castle-map .wave{cursor:pointer;touch-action:none;flex:1;min-width:120px;height:40px;position:relative}.castle-map .wave .bars{align-items:center;gap:2px;display:flex;position:absolute;inset:0}.castle-map .wave .bars span{border-radius:var(--map-rf);background:var(--map-stone4);flex:1 1 0;min-width:2px}.castle-map .wave .bars.fill span{background:var(--map-brand)}.castle-map .wave .bars.fill{clip-path:inset(0 100% 0 0)}.castle-map .wave .cur{background:var(--map-ink);opacity:0;pointer-events:none;border-radius:var(--map-rf);width:2px;position:absolute;top:0;bottom:0}.castle-map .wave:hover .cur{opacity:.4}.castle-map .wave .tip{background:var(--map-inv);color:var(--map-bg);font-size:var(--map-t1);border-radius:var(--map-r1);opacity:0;pointer-events:none;white-space:nowrap;padding:3px 6px;font-weight:700;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.castle-map .wave:hover .tip{opacity:1}.castle-map .ptime{font-size:var(--map-t2);color:var(--map-muted);white-space:nowrap;flex:none;font-weight:700}.castle-map .prate{font-size:var(--map-t2);color:var(--map-muted);border-radius:var(--map-rf);background:var(--map-bg);flex:none;height:26px;padding:0 8px;font-weight:700}.castle-map .prate:hover{color:var(--map-fg)}.castle-map .player.mini{gap:10px;padding:8px 10px}.castle-map .player.mini .pp{width:30px;height:30px}.castle-map .player.mini .wave{height:30px}.castle-map .player.playing .pp{background:var(--map-brand-p)}.castle-map .scrim{background:var(--map-overlay);opacity:0;pointer-events:none;transition:opacity var(--map-d4);z-index:40;position:fixed;inset:0}.castle-map .scrim.on{opacity:1;pointer-events:auto}.castle-map .drawer{background:var(--map-bg);z-index:50;width:min(480px,100%);box-shadow:var(--map-s3);transition:transform var(--map-d4) ease;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.castle-map .drawer.on{transform:none}.castle-map .dr-top{align-items:flex-start;gap:var(--map-x3);padding:var(--map-x5) var(--map-x5) var(--map-x4);border-bottom:1px solid var(--map-hair);display:flex}.castle-map .dr-top .eyebrow{font-size:var(--map-t2);color:var(--map-brand);letter-spacing:.04em;font-weight:700}.castle-map .dr-top h2{font-size:var(--map-t9);letter-spacing:-.03em;text-wrap:balance;margin-top:2px;font-weight:900}.castle-map .dr-top p{font-size:var(--map-t3);color:var(--map-muted);margin-top:var(--map-x2);line-height:1.6}.castle-map .x{background:var(--map-fill);width:32px;height:32px;font-size:var(--map-t5);color:var(--map-muted);border-radius:50%;flex:none;place-items:center;display:grid}.castle-map .x:hover{background:var(--map-base);color:var(--map-fg)}.castle-map .dr-body{padding:var(--map-x5);gap:var(--map-x6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.castle-map .block h4{font-size:var(--map-t3);color:var(--map-subtle);letter-spacing:.04em;margin-bottom:var(--map-x3);font-weight:900}.castle-map .reads{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.castle-map .rd{border-radius:var(--map-r2);background:var(--map-fill);font-size:var(--map-t4);align-items:flex-start;gap:10px;padding:9px 10px;line-height:1.55;display:flex}.castle-map .rd i{background:var(--map-brand);border-radius:50%;flex:none;width:6px;height:6px;margin-top:9px}.castle-map .rules{gap:var(--map-x2);flex-direction:column;display:flex}.castle-map .rule{font-size:var(--map-t3);color:var(--map-muted);gap:10px;line-height:1.6;display:flex}.castle-map .rule:before{content:"";border-radius:var(--map-rf);background:var(--map-brand-s);flex:none;width:4px}.castle-map .voice{background:var(--map-fill);border-radius:var(--map-r4);padding:var(--map-x4);gap:var(--map-x3);flex-direction:column;display:flex}.castle-map .voice-h{align-items:center;gap:var(--map-x2);font-size:var(--map-t4);font-weight:900;display:flex}.castle-map .empty{align-items:center;gap:var(--map-x3);color:var(--map-subtle);font-size:var(--map-t3);border:1px dashed var(--map-stroke);border-radius:var(--map-r3);padding:var(--map-x4);background:var(--map-bg);display:flex}.castle-map .acts{gap:var(--map-x2);flex-wrap:wrap;align-items:center;display:flex}.castle-map .btn{height:var(--map-x8);padding:0 var(--map-x3);border-radius:var(--map-r2);font-size:var(--map-t3);transition:background var(--map-d3), transform var(--map-d3);justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.castle-map .btn:active{transform:scale(.97)}.castle-map .btn[disabled]{opacity:.5;cursor:default}.castle-map .btn-brand{background:var(--map-brand);color:var(--map-on-solid)}.castle-map .btn-brand:hover{background:var(--map-brand-p)}.castle-map .btn-neutral{background:var(--map-bg);color:var(--map-fg);border:1px solid var(--map-stroke)}.castle-map .btn-neutral:hover{background:var(--map-base)}.castle-map .btn-crit{background:var(--map-bg);color:var(--map-crit);border:1px solid var(--map-stroke)}.castle-map .btn-crit:hover{background:var(--map-crit-w)}.castle-map .btn.rec{background:var(--map-crit);color:var(--map-on-solid);border:0}.castle-map textarea{resize:vertical;background:var(--map-bg);border:1px solid var(--map-stroke);border-radius:var(--map-r3);width:100%;min-height:132px;padding:var(--map-x3);font:inherit;font-size:var(--map-t4);color:var(--map-fg);line-height:1.65}.castle-map textarea::placeholder{color:var(--map-subtle)}.castle-map textarea:focus{border-color:var(--map-fg);box-shadow:inset 0 0 0 1px var(--map-fg);outline:none}.castle-map .note-read{white-space:pre-wrap;font-size:var(--map-t4);background:var(--map-fill);border-radius:var(--map-r3);padding:var(--map-x3);line-height:1.65}.castle-map .note-state{font-size:var(--map-t2);color:var(--map-subtle);align-items:center;gap:var(--map-x2);min-height:16px;font-weight:700;display:flex}.castle-map .warn{font-size:var(--map-t2);color:var(--map-warn);background:var(--map-warn-w);border-radius:var(--map-r2);padding:10px var(--map-x3);gap:8px;line-height:1.55;display:flex}.castle-map .foot{padding:var(--map-x8) 0 var(--map-x12);color:var(--map-subtle);font-size:var(--map-t2);border-top:1px solid var(--map-hair);margin-top:var(--map-x8);line-height:1.9}.castle-map .foot b{color:var(--map-muted)}.castle-map .gate-screen{max-width:520px;padding:var(--map-x16) var(--map-x5) var(--map-x16);gap:var(--map-x4);flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.castle-map .gate-screen h2{font-size:var(--map-t8);letter-spacing:-.02em;font-weight:900}.castle-map .gate-screen p{font-size:var(--map-t3);color:var(--map-muted);line-height:1.7}@media (max-width:640px){.castle-map .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.castle-map .sec-h h2{font-size:var(--map-t9)}.castle-map .drawer{border-radius:var(--map-r5) var(--map-r5) 0 0;width:100%;height:90vh;top:auto;transform:translateY(100%)}.castle-map .drawer.on{transform:none}.castle-map .wrap{padding:0 var(--map-x4)}}@media (prefers-reduced-motion:reduce){.castle-map *,.castle-map :before,.castle-map :after{transition:none!important;animation:none!important}}@media (max-width:640px){.castle-map .btn{height:var(--map-x12);padding:0 var(--map-x4)}.castle-map .x{width:var(--map-x12);height:var(--map-x12)}}.castle-map .rd span,.castle-map .rule span,.castle-map .dr-top p{white-space:pre-wrap}.castle-map mark.hl{background:var(--seed-color-palette-yellow-200);color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:0 2px}.castle-map .hl-btn mark.hl{padding:0 3px}.castle-map .hl-for{display:inline-flex;position:relative}.castle-map .hl-icon{width:var(--map-x8);height:var(--map-x8);border-radius:var(--map-r2);cursor:pointer;font-size:var(--map-t4);background:0 0;border:0;place-items:center;display:grid}.castle-map .hl-icon:hover{background:var(--map-base)}.castle-map .hl-icon:focus-visible{outline:2px solid var(--map-brand);outline-offset:1px}.castle-map .hl-tip{z-index:5;white-space:nowrap;border-radius:var(--map-r2);background:var(--map-inv);color:var(--map-onroof);font-size:var(--map-t2);padding:6px 10px;font-weight:700;position:absolute;top:calc(100% + 4px);right:0}.castle-map .hl-editor{background:var(--map-bg);border:1px solid var(--map-stroke);border-radius:var(--map-r3);width:100%;padding:10px var(--map-x3);font-size:var(--map-t4);color:var(--map-fg);white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;cursor:text;min-width:0;line-height:1.6}.castle-map .hl-editor:focus{border-color:var(--map-fg);box-shadow:inset 0 0 0 1px var(--map-fg);outline:none}.castle-map .hl-editor[data-empty]:before{content:attr(data-placeholder);color:var(--map-subtle);pointer-events:none}.castle-map .sisters{align-items:center;gap:var(--map-x2);flex-wrap:wrap;display:flex}.castle-map .sister{height:var(--map-x8);padding:0 var(--map-x3);border-radius:var(--map-rf);border:1px solid var(--map-stroke);background:var(--map-bg);color:var(--map-fg);font-size:var(--map-t3);white-space:nowrap;align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.castle-map .sister:hover{background:var(--map-fill);border-color:var(--map-fg)}.castle-map .sister-go{color:var(--map-subtle);font-weight:900}@media (max-width:560px){.castle-map .sister-go{display:none}}
