:root{font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,-apple-system,"Segoe UI",sans-serif;color:#111827;background:#fbfbfd;font-synthesis:none;--navy:#111827;--text:#374151;--muted:#6b7280;--line:#e5e7eb;--surface:#fff;--soft:#f4f3ff;--primary:#6375f4;--primary-dark:#4c5ed7;--danger:#b43c4d;--footer:#11172b;--shadow:0 18px 45px rgba(62,72,130,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fbfbfd;color:var(--text);line-height:1.65}a{color:inherit}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:-70px;left:14px;padding:10px 14px;border:2px solid var(--navy);background:#fff;font-weight:800}.skip-link:focus{top:12px}.eyebrow{margin:0 0 7px;color:#596bea;font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,strong{color:var(--navy)}
.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid #ececf2;background:rgba(255,255,255,.94);box-shadow:0 1px 16px rgba(30,41,59,.04);backdrop-filter:blur(12px)}.header-inner{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none}.brand-mark{display:block;width:34px;height:34px;object-fit:contain}.brand strong{font-size:1.24rem;font-weight:900;line-height:1;letter-spacing:-.045em}.site-header nav{display:flex;align-items:center;gap:4px}.site-header nav a{padding:8px 10px;border-radius:7px;color:#475569;font-size:.9rem;font-weight:650;text-decoration:none}.site-header nav a:hover{background:#f3f2ff;color:#4657d2}
.hero{padding:58px 0 26px;text-align:center}.hero h1{margin:0;font-size:clamp(2.4rem,7vw,3.7rem);line-height:1.1;letter-spacing:-.06em}.hero p:last-child{margin:13px auto 0;color:var(--muted);font-size:1.02rem}.game-section{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:20px;align-items:start;padding:20px 0 78px}.card{min-width:0;padding:24px;border:1px solid #e3e4ed;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(40,48,91,.06)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading>div{display:flex;align-items:center;gap:10px}.panel-heading h2{margin:0;font-size:1.18rem;letter-spacing:-.035em}.step{display:grid;width:28px;height:28px;place-items:center;margin:0;border-radius:50%;background:var(--soft);color:var(--primary-dark);font-size:.78rem;font-weight:900}.text-button{padding:6px 4px;border:0;background:transparent;color:#687085;font-size:.8rem;font-weight:750;cursor:pointer}.text-button:hover{color:var(--danger)}.entry-head,.entry-row{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 34px;gap:8px}.entry-head{margin-bottom:5px;color:var(--muted);font-size:.72rem}.entry-row{align-items:end;margin-bottom:8px}.entry-number{display:grid;height:40px;place-items:center;color:#8a91a3;font-size:.72rem;font-weight:800}.entry-row label{display:grid;gap:3px}.entry-row label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.entry-row input{min-width:0;width:100%;height:40px;padding:8px 10px;border:1px solid #dfe1ea;border-radius:8px;background:#fff;color:var(--navy)}.entry-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,117,244,.12);outline:none}.remove-entry-button{display:grid;width:34px;height:40px;place-items:center;border:1px solid #e3e4ed;border-radius:8px;background:#fff;color:#8b92a3;font-size:1.25rem;line-height:1;cursor:pointer}.remove-entry-button:hover:not(:disabled){border-color:#efb9c0;background:#fff5f6;color:var(--danger)}.remove-entry-button:disabled{cursor:not-allowed;opacity:.35}.add-entry-button{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:5px;margin-top:4px;border:1px dashed #c9ccef;border-radius:8px;background:#fafaff;color:var(--primary-dark);font-weight:800;cursor:pointer}.add-entry-button:hover:not(:disabled){border-color:var(--primary);background:var(--soft)}.add-entry-button:disabled{cursor:not-allowed;opacity:.46}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 16px;border:1px solid transparent;border-radius:9px;font-weight:800;text-decoration:none;cursor:pointer}.button-primary{background:linear-gradient(135deg,#7b6ff0,#4f72ea);color:#fff}.button-primary:hover:not(:disabled){background:linear-gradient(135deg,#6f63e2,#4565d9)}.button-secondary{border-color:#dfe1ea;background:#fff;color:var(--navy)}.button-secondary:hover:not(:disabled){background:#f5f5fa}.button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.46}.full-button{width:100%;margin-top:12px}.compact-button{min-height:39px;padding:7px 12px;font-size:.8rem}.board-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.error{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#fff1f2;color:#9f2638;font-size:.82rem}
.status{margin:-7px 0 14px;color:var(--muted);font-size:.83rem}.board-scroll{max-width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-color:#c8cbe0 transparent}.board-inner{width:100%;min-width:var(--board-min-width);padding:10px 0}.endpoint-grid{display:grid;grid-template-columns:repeat(var(--player-count),minmax(0,1fr));gap:7px;padding-inline:4px}.endpoint{min-width:0;overflow:hidden;border-radius:8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.participant-button{min-height:42px;padding:7px 5px;border:1px solid #d9dbef;background:#f7f7ff;color:var(--navy);font-size:.78rem;font-weight:800;cursor:pointer}.participant-button::before{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--endpoint-color);content:""}.participant-button:hover:not(:disabled){border-color:var(--endpoint-color);transform:translateY(-1px)}.participant-button:disabled{cursor:not-allowed;opacity:.55}.result-label{min-height:38px;padding:8px 5px;border:1px solid #e4e5ed;background:#f8f8fb;color:#4f586b;font-size:.73rem;font-weight:750;transition:background .2s,color .2s}.result-label.is-masked{border-color:#252d46;background:#252d46;color:#fff;font-size:1rem;letter-spacing:.08em}canvas{display:block;width:100%;margin:4px 0}.result-panel{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.result-panel h3{margin:0 0 12px;font-size:1.05rem}.table-scroll{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.84rem}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left}th{background:#f7f7fa;color:#687085;font-size:.74rem}td:first-child{font-weight:800}.result-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--dot-color)}.is-hidden-result td:last-child{color:#9298a6}
.entry-list{max-height:560px;overflow-y:auto;padding-right:4px;scrollbar-color:#c8cbe0 transparent}.result-label{position:relative}.result-label.is-revealing{animation:result-reveal .72s cubic-bezier(.16,1,.3,1)}.result-label.is-revealing::after{position:absolute;inset:-2px;border:2px solid rgba(99,117,244,.62);border-radius:10px;content:"";animation:result-ring .72s ease-out forwards}.result-panel h3.is-revealing{animation:message-reveal .62s cubic-bezier(.16,1,.3,1)}
@keyframes result-reveal{0%{transform:scale(.45) rotateX(75deg);background:#252d46;color:transparent;box-shadow:0 0 0 rgba(99,117,244,0)}55%{transform:scale(1.1) rotateX(0);background:#eeefff;color:var(--primary-dark);box-shadow:0 13px 28px rgba(99,117,244,.26)}100%{transform:scale(1);background:#f8f8fb;color:#4f586b;box-shadow:none}}@keyframes result-ring{0%{opacity:0;transform:scale(.72)}40%{opacity:1}100%{opacity:0;transform:scale(1.38)}}@keyframes message-reveal{0%{opacity:0;transform:translateY(12px) scale(.94)}65%{opacity:1;transform:translateY(-3px) scale(1.035)}100%{transform:none}}
.content{padding-bottom:86px}.content-block{padding:48px 0;border-top:1px solid var(--line)}.content-block h2,.related h2{margin:0 0 18px;font-size:clamp(1.45rem,4vw,1.9rem);letter-spacing:-.04em}.content-block ol{margin:0;padding-left:22px}.content-block li+li{margin-top:8px}.tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tip-grid article{padding:19px;border:1px solid var(--line);border-radius:13px;background:#fff}.tip-grid h3{margin:0 0 7px;font-size:1rem}.tip-grid p{margin:0;color:#596174;font-size:.88rem}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:17px 2px;color:var(--navy);font-weight:800;cursor:pointer}details p{margin:-3px 2px 18px;color:#596174}.related{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border:1px solid #dfe1ef;border-radius:18px;background:#fff}.related h2{margin-bottom:0}.ad-slot{width:min(1180px,calc(100% - 32px));min-height:100px;margin:0 auto 30px}
.site-footer{padding:38px 0 24px;background:var(--footer);color:#dbe1f2}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:24px}.footer-inner strong{color:#fff}.footer-inner p{margin:5px 0;color:#adb7d0;font-size:.86rem}.footer-inner nav{display:flex;flex-wrap:wrap;gap:14px}.footer-inner a{color:#dbe1f2;font-size:.84rem}.footer-inner small{grid-column:1/-1;padding-top:16px;border-top:1px solid #30394f;color:#929db8}.consent{position:fixed;z-index:40;right:18px;bottom:18px;width:min(470px,calc(100% - 36px));padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.consent p{margin:0 0 13px;color:var(--text);font-size:.9rem}.consent-actions{display:flex;justify-content:flex-end;gap:8px}.consent button{min-height:39px;padding:7px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.consent button:last-child{border-color:var(--primary);background:var(--primary);color:#fff}.noscript{margin:0;padding:12px;background:#fff1f2;color:#9f2638;text-align:center}
.policy-shell{width:min(800px,calc(100% - 32px));min-height:65vh;margin:0 auto;padding:58px 0 82px}.policy-shell h1{margin:0;font-size:clamp(2rem,6vw,2.8rem);letter-spacing:-.045em}.policy-shell h2{margin:34px 0 9px;font-size:1.25rem}.policy-shell p,.policy-shell li{color:#4b5563}.policy-meta{color:var(--muted);font-size:.86rem}.contact-card{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.contact-card a{color:var(--primary-dark);font-weight:800}.not-found{display:grid;min-height:70vh;place-items:center;padding:24px;text-align:center}.not-found div{max-width:560px}.not-found h1{margin:4px 0;font-size:clamp(2rem,7vw,3.5rem)}.not-found p{color:var(--muted)}
@media(max-width:900px){.game-section{grid-template-columns:1fr}.setup-panel{order:0}.board-panel{order:1}.tip-grid{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 22px,1180px)}.header-inner{min-height:60px;gap:10px}.site-header nav a{padding-inline:6px;font-size:.78rem}.hero{padding:45px 0 18px}.hero p:last-child{max-width:310px;font-size:.92rem}.game-section{padding-bottom:58px}.card{padding:18px;border-radius:16px}.panel-heading{align-items:flex-start}.board-panel .panel-heading{display:grid}.board-actions{justify-content:stretch}.board-actions .compact-button{flex:1}.entry-head,.entry-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 32px;gap:6px}.entry-row input{padding-inline:7px;font-size:.84rem}.remove-entry-button{width:32px}.content-block{padding:38px 0}.related{align-items:stretch;flex-direction:column;padding:22px}.related .button{width:100%}.footer-inner{grid-template-columns:1fr}.footer-inner nav{flex-direction:column;gap:7px}.footer-inner small{grid-column:auto}.consent-actions{display:grid;grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
