:root{--paper:#efe9db;--ink:#1c1812;--mute:#5d5546;--act:#c93a1a;--led:#ffb21a;--line:#1c1812;--panel:#e4dcc8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 "Gowun Dodum","Apple SD Gothic Neo","Noto Sans KR",sans-serif}
h1,h2,.brand,button.go,.big{font-family:"Black Han Sans","Apple SD Gothic Neo",sans-serif;font-weight:400}
a{color:var(--ink)}
.top{border-bottom:2px solid var(--ink)}
.top-in{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.brand{font-size:26px;text-decoration:none;letter-spacing:.02em}
.brand i{font-style:normal;color:var(--act)}
nav a{margin-left:16px;font-size:15px}
nav a[aria-current]{font-weight:700;text-decoration:none}
main{max-width:1100px;margin:0 auto;padding:16px 16px 120px}
.stage-wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start}
h1{font-size:clamp(26px,5.4vw,40px);line-height:1.18;margin:6px 0 8px}
.lede{margin:0 0 10px;color:var(--mute)}
.fact{margin:0 0 14px;font-weight:700;border-left:5px solid var(--act);padding-left:10px}
#pvwrap{background:#0b0a08;border:3px solid var(--ink);padding:0;line-height:0;overflow:hidden}
#preview{display:block;width:100%}
label,.lab{display:block;font-weight:700;margin:12px 0 4px;font-size:15px}
textarea,select,input[type=text]{width:100%;font:inherit;background:#fbf8ef;color:var(--ink);border:2px solid var(--ink);border-radius:0;padding:9px 10px}
textarea{min-height:92px;resize:vertical;font-size:19px}
.count{float:right;font-weight:400;color:var(--mute)}
.count.over{color:var(--act);font-weight:700}
#sharebroken{background:var(--act);color:#fff;padding:10px 14px;margin:0 0 12px;font-weight:700}
.upd{border-left:5px solid var(--act);padding-left:10px;margin:0 0 12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input[type=range]{width:100%;accent-color:var(--act)}
body[data-mode=fit] .only-scroll{display:none}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.swatches label{margin:0;display:inline-block}
.swatches input{position:absolute;opacity:0;pointer-events:none}
.swatches span{display:block;width:46px;height:46px;border:2px solid var(--ink);position:relative;font-size:0}
.sw-amber{background:#ffb21a}.sw-green{background:#3ddc6b}.sw-red{background:#ff4a3a}.sw-cyan{background:#4fd8ff}.sw-white{background:#fff4e0}
.swatches input:checked+span{outline:4px solid var(--act);outline-offset:2px}
.swatches input:focus-visible+span{outline:4px solid #1c6fd6;outline-offset:2px}
.swatches .orig{background:linear-gradient(90deg,#e8412a 0 25%,#f1c232 0 50%,#2fa84f 0 75%,#2a6fd6 0)}
button{font:inherit;cursor:pointer;border-radius:0}
button.go{width:100%;background:var(--act);color:#fff;border:0;padding:16px;font-size:22px;letter-spacing:.02em}
.dock{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:2px solid var(--ink);z-index:5}
.dock .go{max-width:1068px;display:block;margin:0 auto}
.sec{background:transparent;border:2px solid var(--ink);padding:8px 14px;color:var(--ink)}
.ph{background:var(--panel);border:0;border-bottom:3px solid var(--ink);text-align:left;padding:8px 10px;flex:1}
.del{background:transparent;border:0;text-decoration:underline;color:var(--mute);padding:8px}
.ex{background:transparent;border:2px dotted var(--ink);padding:6px 10px;margin:0 6px 6px 0}
ul.list{list-style:none;margin:6px 0;padding:0}
ul.list li{display:flex;gap:6px;margin-bottom:6px}
ul.chips{list-style:none;padding:0;margin:4px 0}
ul.chips li{display:inline}
h2{font-size:22px;margin:26px 0 6px}
.mute,.msg{color:var(--mute);font-size:15px;margin:6px 0}
.msg{min-height:1.4em;color:var(--act);font-weight:700}
#shared{background:var(--ink);color:var(--paper);padding:10px 14px;margin:0 0 12px;font-weight:700}
.danger{background:transparent;border:2px dashed var(--ink);padding:8px 12px;color:var(--ink)}
.page{max-width:720px}
footer{border-top:2px solid var(--ink);padding:14px 16px;font-size:14px;color:var(--mute)}
.foot-in{max-width:1100px;margin:0 auto}
[hidden]{display:none!important}
/* 전체 화면 재생 */
#stage{position:fixed;inset:0;background:#000;z-index:100;overflow:hidden;touch-action:manipulation}
#stagebox{position:absolute;left:0;top:0;transform-origin:0 0;background:#000}
#bigcanvas{display:block}
.bar{position:absolute;left:0;right:0;top:0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px;background:rgba(0,0,0,.78);opacity:0;pointer-events:none;transition:opacity .15s}
#stage.ctl .bar{opacity:1;pointer-events:auto}
.bar button{background:#000;color:#ffb21a;border:2px solid #ffb21a;padding:8px 12px;font-size:16px}
.bar .st{color:#ffd98a;font-size:14px;flex:1;min-width:140px}
body.playing{overflow:hidden}
@media (max-width:820px){
  .stage-wrap{grid-template-columns:1fr;gap:0}
  .top-in{padding:8px 12px}
  nav a{margin-left:10px}
  .lede{display:none}
}

.how{margin:36px 0 0;max-width:46em}
.how h2{margin:0 0 8px}
.how ol{padding-left:1.3em;margin:0}
.how li{margin:0 0 8px}
