@font-face{font-family:SebangGothic;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2104@1.0/SEBANG_Gothic_Bold.woff) format("woff");font-weight:700;font-display:swap}:root{--ink:#3d3935;--sub:#8a827b;--accent:#e39a3b;--bg:#f4f2ee;--line:#e6e0d9}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);overflow:hidden;font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:var(--ink)}canvas{display:block;width:100vw;height:100vh}.hud{position:fixed;pointer-events:none;transition:opacity .6s}#title{top:28px;left:32px}#title h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}#title p{margin:4px 0 0;font-size:13px;color:var(--sub)}#next{bottom:28px;left:32px;font-size:14px;color:var(--sub)}#next b{color:var(--ink);font-weight:600}#toggle{position:fixed;bottom:24px;right:28px;border:1px solid #d9d3cc;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:10px 16px;border-radius:999px;cursor:pointer;box-shadow:0 4px 18px #503c2814}#toggle:hover{border-color:var(--accent)}.flabel,.rlabel{position:fixed;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform}.flabel .card{background:#ffffffeb;border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:150px;max-width:300px;box-shadow:0 6px 20px #503c2812}.flabel b{font-size:15px;margin-right:8px}.flabel span{font-size:13px;color:var(--sub)}.flabel em{display:none;font-style:normal;font-size:12px;color:var(--accent);font-weight:600;margin-top:3px}.flabel.on .card{border-color:var(--accent);background:#fffaf2;animation:ping 1.8s infinite}.flabel.on b{color:var(--accent)}.flabel.on em{display:block}.rlabel{font-size:12px;font-weight:600;background:#ffffffe6;border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap}.rlabel.on{background:var(--accent);border-color:var(--accent);color:#fff}.rlabel.core{background:#eef1f4;border-color:#d6dce2;color:#56606a}.rlabel.core.on{background:var(--route,#e8742c);border-color:var(--route,#e8742c);color:#fff}body.strong .flabel.on .card{background:color-mix(in srgb,var(--accent) 14%,#fff);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 30%,transparent)}body.strong .flabel.on b,body.strong .flabel.on em{color:color-mix(in srgb,var(--accent) 80%,#000)}body.strong .rlabel.on{font-size:13px;padding:4px 11px;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}@keyframes ping{to{box-shadow:0 0 0 12px #e39a3b00}}#guide{top:50%;right:32px;transform:translateY(-50%);width:300px;background:#fffffff0;border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;box-shadow:0 12px 40px #503c281a;opacity:0}#guide .state{display:inline-block;font-size:12px;font-weight:600;color:#fff;background:var(--accent);border-radius:999px;padding:3px 10px}#guide h2{margin:12px 0 2px;font-size:22px;letter-spacing:-.02em}#guide .time{font-size:14px;color:var(--sub)}#guide ol{margin:16px 0 0;padding:0;list-style:none;counter-reset:s}#guide li{counter-increment:s;display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:8px 0;border-top:1px dashed #ebe5de}#guide li:before{content:counter(s);flex:none;width:22px;height:22px;border-radius:50%;background:#f3ede6;font-size:12px;font-weight:700;display:grid;place-items:center}#guide li:last-child:before{background:var(--accent);color:#fff}body.worship #guide{opacity:1}#replay{pointer-events:auto;margin-top:12px;width:100%;font:inherit;font-size:13px;border:1px solid var(--line);background:#faf8f5;border-radius:8px;padding:8px;cursor:pointer;color:var(--ink)}#replay:hover{border-color:var(--accent)}@media(max-width:720px){#replay{display:none}}body.worship #next{opacity:0}#liveHint.pv .lpBadge{display:none}#grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .36 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body.collage #grain{opacity:.35}body.cinema #grain,body.warping #grain,body.embed #title,body.embed #next,body.embed #toggle,body.embed #guide{display:none}@media(max-width:720px){#title{top:18px;left:18px}#title h1{font-size:18px}#guide{inset:auto 12px 74px;width:auto;transform:none;padding:14px 16px}#guide h2{font-size:18px;margin-top:8px}#guide ol{display:none}#next{left:18px;bottom:30px}#toggle{right:14px;bottom:18px}.flabel .card{min-width:0;padding:6px 9px}}#editor{display:none}body.edit #editor{display:block;position:fixed;top:0;left:0;bottom:0;width:350px;overflow:auto;background:#fff;border-right:1px solid var(--line);padding:16px 16px 40px;font-size:13px;z-index:5}body.edit #title,body.edit #next{display:none}body.edit #guide{right:20px}#editor h2{font-size:16px;margin:0 0 10px}#editor h3{font-size:12px;color:var(--sub);font-weight:600;margin:18px 0 8px}#editor .row{display:flex;gap:6px;align-items:flex-end;margin-bottom:6px}#editor .wrap{flex-wrap:wrap}#editor label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--sub);flex:1;min-width:0}#editor input,#editor select{font:inherit;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 6px;width:100%;min-width:0;background:#fff}#editor input[type=range]{padding:0;border:0}#editor select[size]{height:auto}#editor button{font:inherit;font-size:12px;border:1px solid var(--line);background:#faf8f5;border-radius:6px;padding:6px 9px;cursor:pointer;color:var(--ink);white-space:nowrap}#editor button:hover{border-color:var(--accent)}#editor button.primary{background:var(--accent);border-color:var(--accent);color:#fff}#editor .swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}#editor .swatches button{display:inline-flex;align-items:center;gap:6px}#editor .swatches button i{width:14px;height:14px;border-radius:50%;display:inline-block}#editor .swatches button.on{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}#editor .swatches input[type=color]{width:36px;height:28px;padding:2px;border-radius:6px}#editor button.on{background:var(--ink);border-color:var(--ink);color:#fff}#editor button.x{color:#b0643a}#editor .tabs{display:flex;gap:0;margin:14px 0 4px;border-bottom:1px solid var(--line)}#editor .tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:14px;padding:8px 14px}#editor .tabs button.on{color:var(--ink);background:none;border-bottom-color:var(--accent);font-weight:700}#editor label.scrub{cursor:ew-resize}#editor label.scrub input{cursor:text}#editor .hint{color:var(--sub);font-size:11px;line-height:1.5;margin:4px 0}#editor .status{font-size:12px;color:var(--sub);margin:4px 0 0}#editor .draft{background:#fff7ea;border:1px solid #f1d8b0;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}#plan{display:none}body.planview #plan{display:flex;flex-direction:column;position:fixed;inset:0 0 0 350px;background:#fbfaf8;z-index:4}body.planview #toggle,body.planview #guide,body.planview #labels{display:none}#ptop{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;font-size:13px}#ptop button{font:inherit;font-size:13px;border:1px solid var(--line);background:#faf8f5;border-radius:8px;padding:6px 12px;cursor:pointer;color:var(--ink)}#ptop button.on{background:var(--ink);border-color:var(--ink);color:#fff}#ptop .sp{flex:1}#ptop .hint{color:var(--sub);font-size:12px;width:100%;margin:2px 0 0}#planSvg{flex:1;width:100%;touch-action:none;cursor:crosshair;user-select:none}#planSvg [data-k=room],#planSvg [data-k=core],#planSvg [data-k=ent]{cursor:move}#planSvg [data-k=h]{cursor:nwse-resize}#planSvg text{pointer-events:none;font-family:Pretendard,sans-serif}#editor details{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:8px 0;background:#fcfbf9}#editor summary{cursor:pointer;font-weight:600;font-size:13px}#align{display:none;position:fixed;right:0;top:0;bottom:0;width:min(56vw,960px);background:#fff;border-left:1px solid var(--line);z-index:30;flex-direction:column;box-shadow:-10px 0 40px #503c2814}#align .ahead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}#align .ahint{color:var(--sub);font-size:12px;flex:1;min-width:240px}#align button{font:inherit;font-size:13px;border:1px solid var(--line);background:#faf8f5;border-radius:8px;padding:7px 14px;cursor:pointer}#align button.primary{background:var(--accent);border-color:var(--accent);color:#fff}#align .astage{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px;background:#f4f2ee}#align .awrap{position:relative;display:inline-block;line-height:0}#aImg{display:block;max-width:100%;max-height:calc(100vh - 140px);user-select:none;-webkit-user-drag:none}#aSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#aPoly{fill:#e8742c1f;stroke:#e8742c;stroke-width:2;vector-effect:non-scaling-stroke}.amk{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#e8742c;color:#fff;font:700 12px/26px Pretendard,sans-serif;text-align:center;cursor:move;box-shadow:0 0 0 3px #ffffffe6;touch-action:none}#editor .pitem{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px;background:#fcfbf9}#editor .pitem img{width:100%;max-height:90px;object-fit:cover;border-radius:6px;display:block;margin-bottom:6px}#editor .thumbs{display:flex;gap:6px;flex-wrap:wrap}#editor .thumbs div{position:relative;width:58px;font-size:10px;color:var(--sub);text-align:center}#editor .thumbs img{width:58px;height:58px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}#liveHint{position:fixed;left:0;top:0;z-index:30;display:none;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;cursor:pointer;background:#12100ed1;backdrop-filter:blur(10px);color:#fff;font:600 13px/1 Pretendard,sans-serif;white-space:nowrap;border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px #28190a4d;transform:translate(-50%);will-change:left,top}#liveHint.show{display:inline-flex}#liveHint:after{content:"";position:absolute;inset:-3px;border-radius:999px;animation:lhRing 2.2s ease-out infinite;pointer-events:none}@keyframes lhRing{0%{box-shadow:0 0 #e39a3b99}to{box-shadow:0 0 0 14px #e39a3b00}}#liveHint .lpBadge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.1em;background:#e5322d;border-radius:999px;padding:5px 9px}#liveHint .go{color:#f0ac52}#liveHint:hover{background:#12100ef2}#liveHint:focus-visible{outline:2px solid #ffd08a;outline-offset:3px}.ldot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;animation:lp 1.6s ease-out infinite}@keyframes lp{0%{box-shadow:0 0 #ffffffb3}to{box-shadow:0 0 0 7px #fff0}}#warp{position:fixed;inset:0;width:100vw;height:100vh;z-index:35;pointer-events:none}#flash{position:fixed;inset:0;z-index:36;background:#fff;opacity:0;pointer-events:none}#cinePhoto{position:fixed;inset:0;z-index:34;display:none;overflow:hidden;background:#000;opacity:0;pointer-events:none}#cinePhoto.on{display:block}#cpImg{position:absolute;max-width:none;filter:brightness(.34) saturate(.75) contrast(1.05);user-select:none}#cpDim{position:absolute;inset:0}#cineVig{position:fixed;inset:0;z-index:37;pointer-events:none;opacity:0;background:radial-gradient(130% 100% at 50% 45%,transparent 45%,rgba(0,0,0,.75) 100%)}#cineFrame{position:fixed;left:0;top:0;width:0;height:0;z-index:38;opacity:0;background:#000;display:none;box-shadow:0 0 0 1px #ffffff0f,0 0 120px 30px #7896ff29,0 30px 80px #0009}#cineFrame.on{display:block}#cineFrame iframe{width:100%;height:100%;border:0;display:block}#cinTop,#cinBar{position:fixed;z-index:42;opacity:0;pointer-events:none;transition:opacity .4s ease;font-family:Pretendard,sans-serif;color:#f5f3ef}body.cinema #cinTop,body.cinema #cinBar{opacity:1;pointer-events:auto}body.cinema.idle #cinTop,body.cinema.idle #cinBar{opacity:0;pointer-events:none}body.cinema.idle{cursor:none}#cinTop{left:clamp(20px,4vw,48px);top:calc(20px + env(safe-area-inset-top));font-size:15px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.6)}#cinTop .rd{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e5322d;margin-right:8px;vertical-align:middle;animation:lpr 1.6s ease-out infinite}@keyframes lpr{0%{box-shadow:0 0 #e5322d99}to{box-shadow:0 0 0 8px #e5322d00}}#cinTop small{display:block;font-size:13px;font-weight:500;color:#f5f3ef80;margin-top:3px}#cinBar{left:0;right:0;bottom:0;padding:18px clamp(20px,4vw,48px) calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent)}#cinNote{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translate(-50%);z-index:43;display:none;max-width:min(560px,92vw);padding:12px 16px;border-radius:10px;background:#141418e6;border:1px solid rgba(255,255,255,.14);color:#f5f3ef;font:500 13px/1.6 Pretendard,sans-serif;text-align:center}body.cinema.localfile #cinNote{display:block}#cinNote b{color:#f0ac52}#cinBar .prog{flex:1;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.06em;color:#f5f3efb8}#cinBar .prog i{flex:1;height:2px;background:#e5322d;border-radius:1px}#cinBar button,#cinBar a{font:inherit;font-size:14px;font-weight:600;height:44px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#f5f3ef;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}#cinBar button:hover,#cinBar a:hover{background:#ffffff24}#cinBar button.hl{background:#e39a3b;border-color:#e39a3b;color:#1a1206}#cinBar button:focus-visible,#cinBar a:focus-visible{outline:2px solid #ffd08a;outline-offset:3px}body.warping #toggle,body.warping #guide,body.warping #labels,body.warping #title,body.warping #next,body.warping #editor,body.warping #plan,body.cinema #toggle,body.cinema #guide,body.cinema #labels,body.cinema #title,body.cinema #next,body.cinema #editor,body.cinema #plan{visibility:hidden}@media(max-width:720px){#cinBar .lbl{display:none}#liveHint{font-size:12px}}@media(prefers-reduced-motion:reduce){#liveHint:after,.ldot,#cinTop .rd{animation:none}}
