:root{--bg:#cfa978;--surface:#fffdf6;--ink:#3b2a1a;--muted:#7a6650;--line:#eadfc8;--soft:#f6efe0;--rail:#dccdae;--seam:#fffdf6;--accent:#e2704b;--gold:#fffdf6;--tape:#f6d77fcc;--radius:4px;--serif:"Yeon Sung","Pretendard Variable",sans-serif;--wheel:#f7c59f,#fbe7a1,#bfe0b0,#a9d0e6,#e8b8d2,#f3d7b0,#cfc3ec,#b9e0d6;--inks:#d9573b,#3f7d4f,#2f6fa5,#c98a1a,#8a58b0,#c4507a,#5f8f2c,#2e8f8f,#b5632a,#6b7a2c,#4f5cb8,#a4405a;--head-font:44px "Yeon Sung"}
/* ---- 종이 공작 테마 ---- */
body{background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),repeating-linear-gradient(115deg,#00000007 0 2px,transparent 2px 7px),var(--bg)}
.brand,.page-heading h1,.winner,#alternative-stage h3,.qa h2,.team-head strong,dialog h2,main.guide>h1,.guide-label{font-family:var(--serif);font-weight:400;letter-spacing:0}
.brand{font-size:30px}.brand img{border-radius:50%;box-shadow:0 2px 0 #0003}
.header-link,footer,footer a{color:#4a3826}
.page-heading h1{position:relative;font-size:40px;background:var(--surface);padding:2px 18px 0;transform:rotate(-1.5deg);box-shadow:0 3px 0 #0002}
.page-heading h1::before{content:"";position:absolute;left:40%;top:-10px;width:70px;height:20px;background:var(--tape);transform:rotate(4deg)}
.tool-nav{background:none;padding:0;gap:6px}
.tool-nav a{background:var(--surface);color:var(--ink);border-radius:3px;box-shadow:0 2px 0 #0002;font-weight:600}
.tool-nav a:nth-child(odd){transform:rotate(-1deg)}.tool-nav a:nth-child(even){transform:rotate(1deg)}
.tool-nav a[aria-current=page]{background:var(--accent);color:#fff}
.workspace{position:relative;overflow:visible;border-radius:var(--radius);box-shadow:0 3px 0 #0002,0 22px 34px -22px #0006}
.workspace::before,.workspace::after{content:"";position:absolute;top:-12px;width:96px;height:26px;background:var(--tape);z-index:2}
.workspace::before{left:24px;transform:rotate(-6deg)}.workspace::after{right:24px;transform:rotate(5deg)}
.editor{background:var(--soft);border-color:var(--line)}
textarea,.saved-row select,dialog input{background:#fff;border-color:var(--line);border-radius:3px}
#names{line-height:28px;padding-top:8px;background:repeating-linear-gradient(transparent 0 27px,#e9dfcb 27px 28px) 0 8px/100% 28px local,#fff}
button{border-radius:3px;background:var(--surface);border-color:var(--line);box-shadow:0 2px 0 #0002}
.chip{color:var(--ink)}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
#clear,#reset,.text-button{box-shadow:none;background:none}
input[type=checkbox]{accent-color:var(--accent)}
.stepper{border-radius:3px}.stepper button{box-shadow:none}
.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-family:var(--serif);font-weight:400;box-shadow:0 4px 0 #a64a2c;transform:rotate(-.6deg);transition:transform .12s,box-shadow .12s}
.primary:hover{background:#e97e5a;border-color:#e97e5a}
.primary:active{transform:rotate(-.6deg) translateY(3px);box-shadow:0 1px 0 #a64a2c}
#run{border-radius:6px;height:58px;font-size:26px}
.result-actions button{box-shadow:none;background:none}
#wheel{box-shadow:0 0 0 12px var(--surface)}
.wheel-area{filter:drop-shadow(0 6px 0 #00000022)}
.pointer{top:-26px;left:calc(50% - 13px);width:26px;height:26px;border-radius:50%;clip-path:none;background:radial-gradient(circle at 35% 35%,#f08a76,#c43d2f 60%);box-shadow:0 4px 0 #0003;filter:none}
.pointer::after{content:"";position:absolute;left:11px;top:22px;width:4px;height:14px;background:#8a8a8a;border-radius:2px}
.wheel-hub{background:var(--surface);box-shadow:0 3px 0 #0002}
.winner{position:relative;font-size:44px;background:var(--surface);padding:0 22px;transform:rotate(-2deg);box-shadow:0 3px 0 #0002;animation:none}
.winner::before{content:"";position:absolute;left:30%;top:-10px;width:60px;height:18px;background:var(--tape);transform:rotate(-5deg)}
.team-card{position:relative;border-radius:3px;box-shadow:0 3px 0 #0002;color:var(--ink)}
.team-card:nth-child(odd){transform:rotate(-1deg)}.team-card:nth-child(even){transform:rotate(1.2deg)}
.team-card::before{content:"";position:absolute;left:calc(50% - 30px);top:-9px;width:60px;height:18px;background:var(--tape)}
.team-results{padding:12px 4px}
.slot{border-radius:3px}
.order-item,.ladder-item{background:var(--surface);border-radius:3px;box-shadow:0 2px 0 #0002}
.order-item:nth-child(even){transform:rotate(.6deg)}.order-item:nth-child(odd){transform:rotate(-.4deg)}
.order-item b{background:var(--soft);border-radius:50%}
.order-item:first-child b{background:var(--accent);color:#fff}
.ladder-item.on{box-shadow:inset 0 0 0 2px var(--c),0 2px 0 #0002}
.slip{border-radius:3px;background:linear-gradient(135deg,#fffdf6 50%,#efe4cd 50%);border:0;box-shadow:0 2px 0 #0002}
.slip.open{background:var(--surface)}
.slip.win{background:var(--accent);color:#fff;box-shadow:0 4px 0 #a64a2c;transform:rotate(-4deg) translateY(-3px)}
.below{border-radius:var(--radius);box-shadow:0 3px 0 #0002}
.history-item{background:var(--soft)}
.guide-label{color:var(--ink);font-size:24px}
.qa,.qa:last-child{position:relative;border:0;background:var(--surface);padding:30px 32px 26px;margin-bottom:22px;border-radius:3px;box-shadow:0 3px 0 #0002,0 14px 24px -18px #0006}
.qa:nth-child(odd){transform:rotate(-.4deg)}.qa:nth-child(even){transform:rotate(.4deg)}
.qa::before{content:"";position:absolute;left:calc(50% - 40px);top:-10px;width:80px;height:22px;background:var(--tape);transform:rotate(-2deg)}
.guide-label{display:inline-block;background:var(--surface);padding:2px 14px 0;transform:rotate(-1deg);box-shadow:0 2px 0 #0002}
.qa h2{font-size:24px}
.qa p{color:#3f2d1c}
.tool-guide a{color:#3b2a1a}
dialog{border-radius:4px}
#toast{background:var(--surface);color:var(--ink);border-radius:3px;box-shadow:0 3px 0 #0003}
footer{border-top:2px dashed #a8875c}
@media(max-width:760px){.qa,.qa:last-child{padding:24px 20px 20px}.page-heading h1{font-size:34px}.workspace::before,.workspace::after{width:70px}}
