.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/880;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 .flow{gap:var(--map-x3);padding:var(--map-x6) 0 var(--map-x8);grid-template-columns:repeat(6,1fr);display:grid}.castle-map .zcard{background:var(--map-bg);border:1px solid var(--map-stroke);border-radius:var(--map-r4);padding:var(--map-x4);gap:var(--map-x2);flex-direction:column;display:flex}.castle-map .zcard .no{font-size:var(--map-t7);color:var(--map-brand);line-height:1}.castle-map .zcard h3{font-size:var(--map-t5);letter-spacing:-.02em;font-weight:900}.castle-map .zcard p{font-size:var(--map-t2);color:var(--map-subtle);line-height:1.55}.castle-map .zcard .pills{padding-top:var(--map-x2);flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.castle-map .pill{border-radius:var(--map-rf);background:var(--map-fill);height:26px;font-size:var(--map-t2);color:var(--map-muted);align-items:center;gap:4px;padding:0 10px;font-weight:700;display:inline-flex}.castle-map .pill:hover{background:var(--map-brand-w);color:var(--map-brand-p)}.castle-map .pill .dot{background:var(--map-brand);border-radius:50%;width:6px;height:6px;display:none}.castle-map .pill.done .dot{display:block}.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 .bricks{background:var(--map-stone3);border:2px solid var(--map-ink);border-radius:var(--map-r3);grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:6px;padding:6px;display:grid}.castle-map .brick{background:var(--map-stone);border:1px solid var(--map-stone4);border-radius:var(--map-r1);font-size:var(--map-t3);color:var(--map-fg);transition:transform var(--map-d3), background var(--map-d3);align-items:flex-start;gap:9px;padding:11px 13px;font-weight:500;line-height:1.5;display:flex}.castle-map .brick:nth-child(odd){background:var(--map-stone2)}.castle-map .brick:hover{background:var(--map-brand-w);transform:translateY(-2px)}.castle-map .brick i{background:var(--map-stone4);border-radius:2px;flex:none;width:7px;height:7px;margin-top:6px}.castle-map .brick.m i{background:var(--map-info)}.castle-map .brick.c i{background:var(--map-brand)}.castle-map .brick.p i{background:var(--map-pos)}.castle-map .brick.i i{background:var(--map-warn)}.castle-map .legend{gap:var(--map-x4);font-size:var(--map-t2);color:var(--map-subtle);margin-top:var(--map-x3);flex-wrap:wrap;font-weight:700;display:flex}.castle-map .legend span{align-items:center;gap:6px;display:inline-flex}.castle-map .legend i{border-radius:2px;width:7px;height:7px;display:inline-block}.castle-map .legend i.m{background:var(--map-info)}.castle-map .legend i.c{background:var(--map-brand)}.castle-map .legend i.p{background:var(--map-pos)}.castle-map .legend i.i{background:var(--map-warn)}.castle-map .bar{border-radius:var(--map-rf);background:var(--map-base);min-width:160px;height:8px;overflow:hidden}.castle-map .bar i{background:var(--map-brand);border-radius:var(--map-rf);height:100%;transition:width var(--map-d4);display:block}.castle-map .qgrid{gap:var(--map-x3);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.castle-map .q{background:var(--map-bg);border:1px solid var(--map-stroke);border-radius:var(--map-r4);padding:var(--map-x4);gap:var(--map-x3);text-align:left;transition:border-color var(--map-d3), box-shadow var(--map-d3), transform var(--map-d3);flex-direction:column;display:flex}.castle-map .q:hover{border-color:var(--map-brand-s);box-shadow:var(--map-s1);transform:translateY(-2px)}.castle-map .q.on{border-color:var(--map-brand);box-shadow:var(--map-s2)}.castle-map .q-top{gap:var(--map-x3);text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;width:100%;padding:0;display:flex}.castle-map .q-no{font-size:var(--map-t5);color:var(--map-subtle);min-width:24px;line-height:1.3}.castle-map .q-title{font-size:var(--map-t4);font-weight:700;line-height:1.5;display:block}.castle-map .q .sub{font-size:var(--map-t2);color:var(--map-subtle);margin-top:4px;font-weight:500;display:block}.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 .checks{flex-direction:column;gap:2px;display:flex}.castle-map .ck{border-radius:var(--map-r2);cursor:pointer;transition:background var(--map-d3);align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.castle-map .ck:hover{background:var(--map-fill)}.castle-map .ck input{appearance:none;border:2px solid var(--map-stroke);border-radius:var(--map-r1);cursor:pointer;width:19px;height:19px;transition:background var(--map-d3), border-color var(--map-d3);flex:none;place-items:center;margin:1px 0 0;display:grid}.castle-map .ck input:checked{background:var(--map-brand);border-color:var(--map-brand)}.castle-map .ck input:checked:after{content:"";border:2px solid var(--map-on-solid);border-top:0;border-right:0;width:10px;height:6px;transform:rotate(-45deg)translate(1px,-1px)}.castle-map .ck span{font-size:var(--map-t4);line-height:1.55}.castle-map .ck input:checked+span{color:var(--map-subtle);text-decoration:line-through;-webkit-text-decoration-color:var(--map-stroke);text-decoration-color:var(--map-stroke)}.castle-map .says{gap:var(--map-x3);flex-direction:column;display:flex}.castle-map .say{background:var(--map-brand-w);border-radius:var(--map-r3);border-top-left-radius:var(--map-r1);padding:var(--map-x3) var(--map-x4);font-size:var(--map-t4);line-height:1.6}.castle-map .say b{font-size:var(--map-t2);color:var(--map-brand-p);margin-bottom:4px;font-weight:900;display:block}.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:1080px){.castle-map .flow{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.castle-map .flow{grid-template-columns:repeat(2,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)}}
