:root{color-scheme:light;--hanji: #ead8b0;--paper: #f3e6c8;--ink: #2b1a12;--muted: #6b5138;--cinnabar: #9c1c1c;--cinnabar-deep: #6f1414;--gold: #c4a35a;--lapis: #1d4a78;--malachite: #2a5f48;--line: rgba(43, 26, 18, .22);--shadow: 0 16px 36px rgba(43, 26, 18, .16);--field: #fbf3e1;--tile: #fbf6ea;--tile-picked: #fff6d9;--strike: #8a6a1f;--veil: rgba(43, 26, 18, .45);--grain: #5c3d24;--grid: rgba(42, 34, 22, .7);--dancheong-shadow: #d8c49a;--seal-wash: rgba(158, 42, 43, .05);--seal-ring: rgba(158, 42, 43, .35);--panel-edge: rgba(156, 28, 28, .28);--glow: rgba(156, 28, 28, .16);--glow-gold: rgba(196, 163, 90, .18);--sky-top: #e4c894;--sky-bottom: #dcc49a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:var(--hanji);color:var(--ink)}body{font-family:"Noto Serif KR",Batang,serif;color:var(--ink);background:radial-gradient(ellipse at 50% -8%,var(--glow),transparent 48%),radial-gradient(ellipse at 80% 120%,var(--glow-gold),transparent 42%),linear-gradient(180deg,var(--sky-top) 0%,var(--hanji) 38%,var(--sky-bottom) 100%)}button,input,select{font:inherit}button,input{-moz-appearance:none;appearance:none;-webkit-appearance:none}.app-shell{position:relative;isolation:isolate;max-width:1120px;margin:0 auto;padding:22px 20px 72px}.night-ground,.night-fill{display:none}.hanji,.lattice,.dancheong{pointer-events:none}.hanji{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.22;background-image:radial-gradient(var(--grain) .6px,transparent .6px);background-size:3px 3px}.lattice{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:42px 42px}.dancheong{position:fixed;top:0;left:0;right:0;height:12px;z-index:3;background:repeating-linear-gradient(90deg,var(--cinnabar) 0 26px,var(--gold) 26px 38px,var(--lapis) 38px 64px,var(--malachite) 64px 76px);box-shadow:0 2px 0 var(--dancheong-shadow)}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:18px 0 28px}.brand{display:flex;align-items:center;gap:14px}.seal{width:52px;height:52px;display:grid;place-items:center;padding:0;border:3px solid var(--cinnabar);color:var(--cinnabar);font-family:Song Myung,serif;font-size:28px;font-weight:400;line-height:1;letter-spacing:0;transform:rotate(-7deg);background:var(--seal-wash);box-shadow:inset 0 0 0 1px var(--seal-ring);cursor:default}.seal.on{background:#9e2a2b24}.brand h1{margin:0;font-family:Song Myung,"Noto Serif KR",serif;font-size:36px;font-weight:400;letter-spacing:0;line-height:1.55;overflow:visible;padding:.08em 0;white-space:nowrap}.mark{margin:0;color:var(--cinnabar);letter-spacing:.18em;font-size:12px;font-weight:700;line-height:1.4}.eyebrow{margin:0;color:var(--cinnabar);letter-spacing:.04em;font-size:12px;font-weight:700;line-height:1.6}.leave{width:auto;margin:0 0 0 auto;padding:5px 12px;background:transparent;color:var(--ink);border:1px solid var(--ink);font-size:13px;letter-spacing:.04em;white-space:nowrap}.panel{background:var(--paper);border:2px solid var(--ink);outline:1px solid var(--panel-edge);outline-offset:5px;padding:22px;box-shadow:var(--shadow);color:var(--ink)}.panel h3,.panel h2{margin:0 0 16px;font-family:Song Myung,"Noto Serif KR",serif;font-weight:400;letter-spacing:0;line-height:1.55;overflow:visible;padding:.08em 0}.panel-head,.row{display:flex;gap:12px;justify-content:space-between;align-items:center}.panel-head h3{margin:0;padding:2px 0;flex:0 0 auto}.row label{flex:1}.lobby-settings{align-items:flex-end;gap:16px;margin-bottom:14px}.lobby-settings label{margin-bottom:0}.lobby-settings .check{flex:0 0 auto;margin:0 0 12px;white-space:nowrap}label{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;color:var(--muted);font-size:13px}input,select{width:100%;border:1px solid var(--ink);background:var(--field);color:var(--ink);border-radius:0;padding:12px 14px}input[type=checkbox]{-moz-appearance:auto;appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;margin:0;padding:0;accent-color:var(--cinnabar)}label.check{flex-direction:row;align-items:center;gap:10px;margin:0 0 18px;color:var(--ink);font-size:14px;line-height:1.5}button{width:100%;border:1px solid var(--cinnabar-deep);background:var(--cinnabar-deep);color:var(--hanji);font-weight:700;border-radius:0;padding:13px 16px;cursor:pointer;letter-spacing:.04em}button+button,button.ghost{margin-top:10px}button:disabled{opacity:.5;cursor:not-allowed}button.ghost,button.leave{background:transparent;color:var(--ink);border:1px solid var(--ink)}.home,.lobby,.game,.result{display:grid;gap:22px}.home{grid-template-columns:1.1fr .9fr}.hero h2{font-family:Song Myung,"Noto Serif KR",serif;font-size:32px;font-weight:400;line-height:1.6;letter-spacing:0;margin:12px 0 18px;overflow:visible;padding:.08em 0}.rules{margin:0;padding-left:18px;color:var(--muted);line-height:1.85}.home-forms{display:grid;gap:22px}.code-input,.code-big{font-family:"Noto Serif KR",Batang,serif;letter-spacing:.2em;line-height:1.4;text-align:center}.code-card{text-align:center}.code-big{font-size:64px;background:transparent;color:var(--ink);border:0;padding:0;margin-top:0;width:100%;cursor:pointer;user-select:all;-webkit-user-select:all}.code-card .ghost{display:block;width:auto;min-width:160px;margin:12px auto 0}.code-card span{display:block;margin-top:10px;line-height:1.6}.lineup,.scores,.ranking,.history{list-style:none;margin:0 0 18px;padding:0}.lineup li,.scores li,.ranking li,.history li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.lineup li{border-left:4px solid var(--c, var(--cinnabar));padding-left:12px}.lineup em,.dim{color:var(--muted);font-style:normal;font-size:12px}.wait{color:var(--muted)}.game{grid-template-columns:220px 1fr 280px;align-items:start}.scores li{justify-content:space-between;border-left:4px solid var(--c, var(--cinnabar));padding-left:10px}.scores li.at-bat b:after{content:" 차례";color:var(--cinnabar);font-size:11px}.turn-copy{margin:0;color:var(--muted);line-height:1.6}.diamond{display:grid;gap:18px;width:100%;justify-items:center}.diamond>button,.diamond>.definition{width:min(520px,100%)}.slots{display:flex;gap:12px}.last-record{display:grid;gap:10px;justify-items:center;width:min(520px,100%);padding:12px 0 4px}.last-slots{display:flex;gap:12px}.last-base{width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--ink);background:var(--cinnabar-deep);color:var(--hanji);font-size:28px;font-weight:700}.last-counts{display:flex;gap:14px;margin:0;font-weight:700}.base,.tile{width:72px;height:72px;border-radius:0;background:var(--paper);background-color:var(--paper);color:var(--ink);border:1px solid var(--ink);font-size:28px;font-weight:700;margin-top:0}.base.filled{background:var(--cinnabar-deep);color:var(--hanji);border-color:var(--cinnabar-deep)}.base:not(.filled){background:transparent;color:var(--muted)}.palette{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;width:min(520px,100%)}.tile{width:auto;height:52px;font-size:20px;background:var(--tile);color:var(--ink);border:1px solid var(--ink)}.tile.picked{outline:3px solid var(--gold);background:var(--tile-picked)}.tile.used{opacity:.35}.definition small{display:block;margin-top:10px;color:var(--muted)}.definition form{display:grid;gap:10px;margin-top:16px}.answer{font-size:22px;font-family:"Noto Serif KR",Batang,serif;line-height:1.5}.miss{color:var(--cinnabar)}.history li{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;gap:4px 10px}.who{font-weight:700;color:var(--c, var(--cinnabar))}.guess{font-size:18px;letter-spacing:.08em;line-height:1.4}.count{font-size:12px}.count.strike{color:var(--strike)}.count.ball{color:var(--lapis)}.count.out{color:var(--cinnabar)}.ranking li.winner{background:#c4a35a38;padding:10px}.ranking span:first-child{width:24px}.ranking strong{margin-left:auto}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:var(--hanji);padding:12px 18px;font-weight:700;border:1px solid var(--gold)}@media(max-width:900px){.home,.game{grid-template-columns:1fr}.brand h1{font-size:28px}}@media(prefers-color-scheme:dark){:root{color-scheme:only dark;--hanji: #14110e;--paper: #14110e;--ink: #d8c9a6;--muted: #9a8864;--cinnabar: #c45c4a;--cinnabar-deep: #6f1414;--gold: #c4a35a;--lapis: #1d4a78;--malachite: #2a5f48;--line: #7a6844;--shadow: none;--field: #14110e;--tile: #14110e;--tile-picked: #3a2e18;--strike: #c4a35a;--veil: rgba(20, 17, 14, .78);--grain: #c4a35a;--grid: #7a6844;--dancheong-shadow: #14110e;--seal-wash: #14110e;--seal-ring: #7a6844;--panel-edge: #8a3a32;--glow: transparent;--glow-gold: transparent;--sky-top: #14110e;--sky-bottom: #14110e;--gold-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%23c4a35a'/%3E%3C/svg%3E");--black-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Crect width='8' height='8' fill='%2314110e'/%3E%3C/svg%3E");--dancheong-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='12'%3E%3Crect width='26' height='12' fill='%239c1c1c'/%3E%3Crect x='26' width='12' height='12' fill='%23c4a35a'/%3E%3Crect x='38' width='26' height='12' fill='%231d4a78'/%3E%3Crect x='64' width='12' height='12' fill='%232a5f48'/%3E%3C/svg%3E")}*,*:before,*:after{color-scheme:only dark;forced-color-adjust:none}html,body,#root,.app-shell{background:#14110e!important;background-image:none!important;color:#d8c9a6}body{background:#14110e!important}.night-ground{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;object-fit:cover;pointer-events:none}.topbar,.home,.lobby,.game,.result,.admin{position:relative;z-index:1}.hanji,.lattice{display:none}.panel,.confirm-card,input,select,.tile,.base{background-color:#14110e;background-image:url(/night-black.png);background-size:8px 8px;background-repeat:repeat;color:#d8c9a6;border:1px solid #7a6844}input,select{border-width:1px}input::placeholder,select::placeholder{color:#8f7e5c;opacity:1}.create-box{position:relative;isolation:isolate;background-color:#14110e;background-image:url(/night-black.png);background-size:8px 8px;background-repeat:repeat;border:1px solid #7a6844;outline:1px solid #8a3a32;outline-offset:5px}.create-box>.night-fill{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.create-box>*:not(.night-fill){position:relative;z-index:1}.create-box input{background-color:#14110e;background-image:url(/night-black.png);background-size:8px 8px;background-repeat:repeat;border:1px solid #7a6844;color:#d8c9a6;-webkit-appearance:none;-moz-appearance:none;appearance:none}.create-box button{position:relative;isolation:isolate;overflow:hidden}.create-box button .night-fill{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}.create-box button[type=submit]{background-color:#6f1414;background-image:url(/night-cinnabar.png);background-size:8px 8px;background-repeat:repeat;color:#e8dcc0;border:1px solid #8a3a32}.panel{outline-color:#8a3a32}button{background-color:#6f1414;background-image:url(/night-cinnabar.png);background-size:8px 8px;color:#e8dcc0;border-color:#8a3a32}button.ghost,button.leave,.admin-host{background-color:#14110e;background-image:url(/night-black.png);background-size:8px 8px;color:#d8c9a6;border-color:#7a6844}.create-box button.ghost{background-color:#14110e;background-image:url(/night-black.png);color:#d8c9a6;border:1px solid #7a6844}.seal{background:#14110e;color:#d8c9a6;border-color:#7a6844;box-shadow:inset 0 0 0 1px #8a3a32}.mark,.eyebrow,.watch-flag,.miss,.count.out,.scores li.at-bat b:after{color:#c45c4a}.dancheong{background-color:#14110e;background-image:var(--dancheong-fill);background-size:76px 12px;background-repeat:repeat-x;box-shadow:none;z-index:3}.base.filled,.last-base,.tile.picked{background-color:#3a2e18;background-image:none;color:#e8dcc0;border-color:#7a6844}.toast{background-color:#6f1414;background-image:url(/night-cinnabar.png);color:#e8dcc0;border-color:#8a3a32}.ranking li.winner{background:#14110e;outline:1px solid #7a6844}}.admin .panel-head{margin-bottom:18px}.admin .panel-head h2{margin:0;font-family:Song Myung,"Noto Serif KR",serif;font-size:28px;font-weight:400;line-height:1.55;letter-spacing:0}.admin .panel-head button{width:auto;margin:0}.admin-list{display:grid;gap:18px}.admin-word{margin:0 0 10px}.lineup li strong{margin-left:auto}.watch-flag{margin:0 0 10px;color:var(--cinnabar);font-weight:700;letter-spacing:.08em}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:var(--veil)}.confirm-card{width:min(420px,100%)}.admin-host{width:100%;display:flex;justify-content:space-between;align-items:center;margin:0;padding:8px 0;background:transparent;color:var(--ink);border:0;font-family:Song Myung,"Noto Serif KR",serif;font-size:22px;font-weight:400;line-height:1.5}.admin-host span{font-family:"Noto Serif KR",serif;font-size:13px;color:var(--muted)}.admin-detail{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
