:root{--paper:#f6f4eb;--ink:#283d35;--muted:#788078;--green:#285b45;--line:#dedfd3;--lime:#e1edb8;--orange:#f2af7c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:15px;line-height:1.6}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-header{max-width:1200px;margin:auto;padding:27px 32px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:900;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:8px}.brand-dot{color:#d58655}.brand-icon{display:inline-grid;place-items:center;background:var(--green);color:var(--lime);border-radius:10px;width:34px;height:34px;font-size:26px;transform:rotate(-8deg)}.header-note{font-size:12px;color:var(--muted)}.connection{margin-left:auto;font-size:11px;color:var(--green)}.connection:before{content:"";display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:6px}main{max-width:1136px;margin:auto;padding:0 24px}.hero-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;padding:65px 25px 45px}.eyebrow,.mini-label{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--green)}.eyebrow{display:inline-block;margin-bottom:13px}.hero-copy h1{font-size:56px;line-height:1.22;letter-spacing:-3px;margin:7px 0 22px}.hero-copy h1 span{color:var(--green)}.intro{font-size:14px;color:#72796f;line-height:1.9}.tags{display:flex;gap:9px;margin-top:24px}.tags span{font-size:11px;border:1px solid #d7dccc;padding:5px 12px;border-radius:30px}.entry-card{background:#fffef9;border:1px solid #e3e3d7;border-radius:20px;padding:34px;box-shadow:0 12px 30px #293c3305;align-self:start;margin-top:14px}.entry-card h2{font-size:24px;letter-spacing:-1px;margin:7px 0}.muted{color:var(--muted);font-size:12px;margin:0 0 26px}label{display:block;font-size:12px;font-weight:bold;margin:17px 0 8px}input{width:100%;border:1px solid #dcdfd3;border-radius:9px;background:#fffefb;color:var(--ink);padding:14px 15px;outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #285b4515}input::placeholder{color:#a2a69c;font-size:13px}.button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;border-radius:9px;padding:14px 18px;font-size:13px;font-weight:700;border:1px solid transparent;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-2px)}.primary{background:var(--green);color:#fff;margin-top:14px}.primary span{margin-left:auto}.secondary{background:#f0f2e6;color:var(--green);border-color:#dce1ce;margin-top:12px}.divider{display:flex;align-items:center;gap:12px;font-size:11px;color:#9b9f94;margin:26px 0 20px}.divider:before,.divider:after{content:"";height:1px;background:#e8e8df;flex:1}.code-input{text-transform:uppercase;letter-spacing:4px}.code-input::placeholder{letter-spacing:0}.entry-foot{text-align:center;font-size:10px;color:#9a9f93;margin:22px 0 0}.word-art{position:relative;height:210px;margin-top:20px;width:365px;max-width:100%}.art-card{position:absolute;background:#fffef9;border:1px solid #dbdfd0;box-shadow:0 8px 15px #354c3508;border-radius:13px;text-align:center}.main-card{width:146px;height:173px;left:100px;top:23px;transform:rotate(-7deg);display:flex;flex-direction:column;justify-content:center;z-index:2}.main-card span{font-size:9px;color:#8c9486}.main-card strong{font-size:65px;line-height:1.6;color:var(--green)}.small{width:119px;padding:15px 10px;font-size:17px;font-weight:700}.small span{font-size:22px;display:block}.one{left:9px;top:48px;transform:rotate(-16deg);background:#e5edce}.two{right:0;top:92px;transform:rotate(12deg);background:#f5dfca}.art-star{position:absolute;right:49px;top:5px;font-size:37px;color:#c88356}.how{border-top:1px solid var(--line);padding:33px 25px 45px}.how h2{font-size:21px;margin:0;letter-spacing:-.8px}.how .eyebrow{margin-bottom:5px;font-size:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:28px}.steps article{position:relative;padding-left:43px}.step-number{position:absolute;left:0;top:0;font-size:12px;color:#6e8064;border:1px solid #dce0cf;border-radius:50%;padding:5px 7px}.steps h3{font-size:13px;margin:4px 0 8px}.steps p{font-size:12px;color:var(--muted);margin:0;line-height:1.85}footer{max-width:1136px;border-top:1px solid var(--line);padding:22px 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;color:#8d9487;font-size:10px}footer .brand{font-size:17px}.room-top{display:flex;align-items:center;justify-content:space-between;padding:40px 0 24px;gap:20px}.room-top h1{font-size:29px;margin:0;letter-spacing:-1px}.room-top .eyebrow{margin:0}.room-actions{display:flex;gap:16px;align-items:center}.code-badge{border:1px solid #d6decc;background:#e9eedc;border-radius:10px;padding:10px 15px;color:var(--green);font-size:11px}.code-badge strong{font-size:18px;letter-spacing:3px;margin-left:8px}.text-button{border:0;background:none;color:var(--muted);font-size:12px}.game-layout{display:grid;grid-template-columns:260px 1fr;gap:25px;min-height:590px;padding-bottom:40px}.players-panel,.stage{background:#fffef9;border:1px solid var(--line);border-radius:16px}.players-panel{padding:22px;height:fit-content}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h2{font-size:14px;margin:0}.panel-title>span{font-size:12px;color:var(--muted)}#players{list-style:none;margin:24px 0 0;padding:0}#players li{display:flex;align-items:center;gap:10px;margin-bottom:17px}.avatar{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border-radius:12px;background:#e8eedb;color:var(--green);font-size:14px;font-weight:700}.player-info{flex:1;min-width:0}.player-name{display:block;font-weight:bold;font-size:12px;overflow-wrap:anywhere}.player-role{font-size:10px;color:var(--muted)}.player-status{font-size:11px;color:var(--green)}.offline{opacity:.5}.side-tip{border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.side-tip span{font-size:25px;color:#b58b5d}.side-tip p{font-size:10px;color:var(--muted)}.scoreboard{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;background:#eaf0dd;font-size:12px}.scoreboard strong{font-size:18px;margin-left:5px}.stage{padding:35px;min-height:390px;text-align:center}.stage h2{font-size:27px;letter-spacing:-1px;margin:8px 0 10px}.stage p{color:var(--muted);font-size:13px}.stage .big-icon{font-size:43px;margin:8px}.stage form,.stage>.button{max-width:380px;margin-left:auto;margin-right:auto}.stage label{text-align:left}.target{display:inline-block;background:#e9f0d6;border:1px solid #d8e2c3;border-radius:14px;min-width:170px;padding:14px 25px;font-size:38px;font-weight:800;letter-spacing:3px;margin:14px}.clue-list{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:25px 0}.clue-chip{padding:12px 21px;border-radius:9px;background:#e9eedb;font-size:20px;font-weight:bold;color:var(--green)}.clue-chip.invalid{background:#f1e5df;color:#aa8880;text-decoration:line-through}.clue-chip small{display:block;font-size:10px;font-weight:normal;text-decoration:none}.notice{padding:10px 16px;background:#f8eedf;border-radius:8px;font-size:12px!important}.history{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.history span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dce0d0;border-radius:50%;font-size:11px;color:#939c89}.history .correct{background:var(--green);color:white;border-color:var(--green)}.history .incorrect{background:#efd8c9;color:#8c4e38}.history .pass{background:#e5e5dc}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#283d35;color:white;border-radius:12px;padding:14px 22px;font-size:13px;box-shadow:0 8px 30px #0002;z-index:20}.success-label{color:var(--green)}.failure-label{color:#b47250}:focus-visible{outline:3px solid #b4c883;outline-offset:3px}@media(max-width:800px){.hero-layout{gap:30px;padding:45px 0 30px}.hero-copy h1{font-size:43px}.entry-card{padding:25px}.word-art{transform:scale(.85);transform-origin:left center}.game-layout{grid-template-columns:210px 1fr;gap:15px}.stage{padding:25px}.room-actions{gap:6px}}@media(max-width:600px){.site-header{padding:18px 20px}.header-note{display:none}main{padding:0 20px}.hero-layout{grid-template-columns:1fr;padding-top:32px;gap:5px}.hero-copy h1{font-size:46px}.hero-copy .intro{font-size:13px}.word-art{position:absolute;right:5px;top:200px;transform:scale(.42);transform-origin:right top;pointer-events:none}.hero-copy{padding-bottom:20px}.tags{gap:6px}.tags span{padding:4px 9px}.entry-card{margin-top:5px;padding:25px}.how{padding:28px 0}.steps{grid-template-columns:1fr;gap:25px}.steps p br{display:none}.how h2{font-size:20px}footer{margin:0 20px;padding:20px 0}footer>span:last-child{font-size:9px}.room-top{align-items:flex-start;flex-direction:column;padding-top:25px;gap:15px}.room-top h1{font-size:26px}.room-actions{width:100%;justify-content:space-between}.game-layout{grid-template-columns:1fr}.players-panel{padding:16px}.players-panel #players{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}#players li{margin:0;gap:7px;min-width:44%}.side-tip{display:none}.stage{padding:25px 18px;min-height:350px}.stage h2{font-size:24px}.scoreboard{margin-bottom:12px}.avatar{width:29px;height:29px;font-size:12px}.player-status{font-size:10px}}
