:root{font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;color:#233f40;background:#f7f8f2;font-synthesis:none;font-weight:400;line-height:1.55;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d8e1d7;background:#fffdf6;color:inherit;padding:11px 17px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .15s}button:hover{background:#edf3e9}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #c87840;outline-offset:4px}svg{flex-shrink:0}input{width:100%;min-width:0;border:1px solid #d9e2d7;border-radius:11px;background:#fffef9;padding:12px 14px;color:#274448;outline-offset:2px}input::placeholder{color:#8a9992}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.25;letter-spacing:-.045em}p{word-break:keep-all}small{font-size:12px;color:#6b7c76}.site-header{max-width:1240px;padding:25px 34px 21px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5db}.brand{display:flex;gap:11px;align-items:center;font-weight:850;font-size:20px;letter-spacing:-.05em}.brand small{display:block;font-size:10px;letter-spacing:.2em;font-weight:500;margin-top:0}.site-header nav{display:flex;align-items:center;gap:23px;font-size:13px}.site-header nav button{border:0;background:none;padding:5px;font-size:13px}.site-header nav a{display:flex;align-items:center;gap:7px}main{max-width:1240px;margin:auto;padding:0 34px 28px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.17em;color:#63837a}.eyebrow i,.live-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#75996e}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center;padding:53px 0 49px}.hero-copy h1{font-size:clamp(38px,4.7vw,62px);font-weight:900;line-height:1.16;margin:20px 0 23px;letter-spacing:-.075em}.hero-copy h1 em{font-style:normal;color:#548877;position:relative}.hero-copy h1 em:after{content:"";position:absolute;bottom:-8px;left:0;width:96%;height:7px;border-radius:50%;background:#dce9cc;z-index:-1}.hero-copy p{font-size:15px;color:#6b8078;line-height:1.9;margin-bottom:26px}.hero-tags{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#648078}.hero-tags span{display:flex;gap:5px;align-items:center}.hero-art{padding:13px 13px 0;border:1px solid #d6e3d2;border-radius:24px;background:#eef3e7;transform:rotate(-1.3deg);box-shadow:0 15px 35px #31523c0b}.art-label{display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.15em;margin:1px 5px 11px;color:#708570}.hero-art canvas{display:block;width:100%;border-radius:16px;aspect-ratio:1.5}.art-note{display:flex;gap:6px;align-items:center;font-size:10px;padding:12px 8px;color:#6e8176}.art-note>span:last-child{margin-left:auto;font-size:20px}.start-section{border-top:1px solid #dde4d8;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:36px 0}.welcome{padding:7px 20px 0 0}.welcome h2{font-size:23px;margin:13px 0 8px}.welcome>p{font-size:13px;color:#77867d;margin-bottom:19px}.field{display:block;font-size:12px;font-weight:700;margin-bottom:15px}.field input{display:block;margin-top:6px}.difficulty{padding:0;margin:0;border:0;display:flex;gap:5px}.difficulty legend{font-size:11px;margin-bottom:6px;color:#738377}.difficulty button{flex:1;padding:7px;font-size:12px;border-color:transparent;background:#eef1e8}.difficulty button.selected{background:#406e5f;color:#fff;border-color:#406e5f}.start-card{position:relative;border-radius:18px;padding:25px 25px 18px;display:flex;flex-direction:column;align-items:flex-start;min-height:270px}.start-card.solo{background:#e9f0df;border:1px solid #d9e5cd}.start-card.together{background:#f6e9df;border:1px solid #ecdccd}.card-icon{padding:8px;border-radius:13px;background:#fff9;color:#4a7964;height:42px}.together .card-icon{color:#b07c59}.card-number{position:absolute;right:24px;top:23px;font-size:12px;color:#819278}.start-card h3{font-size:24px;margin:17px 0 10px}.start-card p{font-size:13px;color:#728070;line-height:1.8;margin-bottom:22px}.start-card>button{width:100%;margin-top:auto}.start-card>small{display:block;width:100%;text-align:center;font-size:10px;margin-top:11px;color:#917e6e}.primary{background:#315f50;color:#fffdf0;border-color:#315f50}.primary:hover{background:#234b3e}.secondary{background:#fff9ee;border-color:#dbc7b2;color:#6b553f}.start-card .resume{border:0;padding:6px 0;margin-top:5px;background:none;font-size:11px;color:#567660}.how-strip{background:#eeefe6;border-radius:14px;display:flex;gap:25px;align-items:center;padding:23px 25px;margin:2px 0 28px}.how-strip>.eyebrow{max-width:100px;line-height:1.7;flex:1}.how-strip>div{flex:1}.how-strip b{display:flex;align-items:center;gap:9px;font-size:13px;color:#4a6a59}.how-strip p{margin:5px 0 0;color:#7d8a7c;font-size:11px}.tiny-bubble{width:15px;height:15px;border:1.7px solid #7d9f8b;border-radius:50%;display:inline-block}.bottom-links{display:flex;align-items:center;gap:23px;color:#839083;font-size:11px}.bottom-links button{border:0;padding:0;background:none;font-size:12px;color:#556f5c}.bottom-links>span:last-child{margin-left:auto}.notice{position:relative;padding:12px 18px;background:#fff0dc;border:1px solid #e6d2ac;border-radius:12px;margin:15px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:10px}.notice button{padding:0;border:0;background:none}.modal-backdrop{position:fixed;inset:0;background:#16333079;z-index:50;display:flex;align-items:center;justify-content:center;padding:22px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;background:#fbfcf6;border-radius:24px;padding:34px;width:min(480px,100%);max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #17332f44}.modal-close{position:absolute;right:17px;top:16px;background:none;border:0;padding:5px}.modal h2{font-size:26px;margin:10px 0 22px}.modal h3{font-size:17px;margin:23px 0 8px}.modal p,.modal li{font-size:13px;color:#6b7f72;line-height:1.9}.modal ul{padding-left:20px}.modal li{margin:10px 0}.modal .eyebrow{padding-right:25px}.wide{width:100%}.or{text-align:center;font-size:11px;color:#8a978a;padding:18px 0}.join-form{display:flex;gap:8px}.join-form button{background:#e6ecdf}.room-list{max-height:220px;overflow:auto}.room-list>button{display:flex;width:100%;justify-content:space-between;text-align:left;margin:8px 0;font-size:13px;background:#eef2e7}.room-list small{display:block;font-weight:400}.muted{color:#829286!important;font-size:12px}.invite{border:1px dashed #9eaf96;border-radius:13px;background:#edf2e5;text-align:center;padding:22px}.invite>span{display:block;font-size:12px}.invite strong{display:block;letter-spacing:.15em;font-size:32px;margin:8px 0}.invite button{font-size:12px;background:#fff9}.history-row{padding:15px 0;display:flex;justify-content:space-between;border-bottom:1px solid #e0e7da;font-size:13px}.history-row small{display:block;margin-top:5px}.history-row b{text-align:right}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.play-page{padding:30px 0 15px}.play-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.play-top h1{font-size:26px;margin:5px 0 0}.toolbar{display:flex;gap:8px}.toolbar button{padding:10px;border-radius:50%;background:#eef3e6}.toolbar svg{width:18px;height:18px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:23px}.board-column{min-width:0}.hud{display:flex;gap:16px;align-items:center;padding:13px 16px;background:#ecf1e4;border-radius:14px 14px 0 0;font-size:12px}.hud>span{display:flex;gap:4px;align-items:center}.hud>strong{margin-left:auto}.hud .urgent{color:#ba573e;font-weight:800}.canvas-wrap{position:relative;background:#183f47;border-radius:0 0 16px 16px;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;aspect-ratio:1.5;touch-action:none;outline-offset:-5px}.canvas-overlay{position:absolute;inset:0;background:#17383bdd;color:#f9f3d8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.canvas-overlay h2{font-size:27px;margin:14px 0 8px}.canvas-overlay p{font-size:13px;color:#c6d7c5}.canvas-overlay .primary{background:#eeeace;color:#35554c;border:0}.touch-controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;-webkit-user-select:none;user-select:none;touch-action:none}.dpad{display:grid;grid-template-columns:46px 46px 46px;grid-template-rows:36px 36px;gap:4px}.dpad button{padding:5px;background:#e4ebde;border:0;border-radius:9px}.dpad svg{width:19px;height:19px}.dpad .up{grid-column:2;grid-row:1}.dpad .left{grid-column:1;grid-row:2}.dpad .down{grid-column:2;grid-row:2}.dpad .right{grid-column:3;grid-row:2}.action-pad{display:flex;gap:10px}.action-pad button{padding:13px 19px;height:64px;flex-direction:column;gap:2px;position:relative;min-width:86px;font-size:12px}.action-pad svg{width:21px;height:21px}.action-pad kbd{position:absolute;right:7px;top:6px;font-size:9px;background:#ffffff73;border:0}.bubble-btn{background:#dbeade;border-color:#c2d9c7}.pulse-btn{background:#f1ddc8;border-color:#e6ccb0}kbd{font-family:inherit;padding:1px 4px;border:1px solid #cbd8c7;border-radius:4px;background:#f3f7ed;font-size:10px}.key-guide{margin:16px 0 0;display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap;font-size:10px;color:#83947e}.key-guide span{margin:0 4px}.tip-card{border:1px solid #dce4d3;background:#edf2e4;border-radius:16px;padding:22px}.tip-card h2{font-size:25px;margin:12px 0 19px}.tip-card ol{padding-left:16px;font-size:12px;color:#6c8069;line-height:1.9}.tip-card li{margin-bottom:13px;padding-left:2px}.tip-card p{font-size:11px;color:#74876e;margin:16px 0 0}.chat-card{background:#fffdf5;border:1px solid #e3e5d9;border-radius:15px;padding:17px;margin-top:16px}.chat-card h3{font-size:14px;margin:0 0 12px}.players{display:flex;flex-direction:column;gap:7px;font-size:11px}.players span{display:flex;align-items:center;gap:5px}.players i{width:9px;height:9px;border-radius:50%;display:inline-block}.mint{background:#81b58e}.peach{background:#e5ab8e}.messages{height:145px;overflow:auto;margin:14px 0 10px;font-size:11px;overflow-wrap:anywhere}.messages p{margin-bottom:6px}.chat-card form{display:flex;gap:5px}.chat-card form input{padding:8px;font-size:11px}.chat-card form button{padding:7px;font-size:10px}.result-card{text-align:center;border-radius:18px;background:#eee9de;border:1px solid #d9d8c6;padding:30px;margin-top:25px}.result-card.won{background:#e1ecd5;position:relative;overflow:hidden}.result-card.won:before{content:"✧ ✦ ✧ ✦ ✧";position:absolute;inset:3px 0 auto;font-size:28px;letter-spacing:40px;color:#ac964e;animation:spark 2s infinite alternate;pointer-events:none}.result-card>.eyebrow,.result-card .button-row{justify-content:center}.result-card h2{margin:15px 0 12px}.result-card p{margin-bottom:6px}.result-card small{display:block}@keyframes spark{to{transform:translateY(8px);opacity:.4}}@media(max-width:1000px){.hero{gap:25px}.hero-copy h1{font-size:43px}.start-section{gap:13px}.start-card{padding:22px 19px 16px}.start-card h3{font-size:21px}.welcome h2{font-size:20px}.how-strip{gap:15px}.play-layout{grid-template-columns:minmax(0,1fr) 210px}.tip-card{padding:16px}.tip-card h2{font-size:22px}.hud{gap:10px;font-size:11px;padding:11px}}@media(max-width:760px){.site-header{padding:17px 20px}.site-header nav{gap:15px}.site-header nav span{display:none}main{padding:0 18px 22px}.hero{grid-template-columns:1fr;padding:31px 0 28px;gap:25px}.hero-copy h1{font-size:44px;margin:15px 0 17px}.hero-copy p{font-size:13px;margin-bottom:16px}.hero-tags{font-size:10px}.hero-art{max-width:560px;transform:rotate(-.8deg)}.start-section{grid-template-columns:1fr 1fr;gap:13px;padding:27px 0}.welcome{grid-column:1/-1;padding:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.welcome>.eyebrow,.welcome>h2,.welcome>p{grid-column:1/-1}.welcome h2{font-size:23px}.welcome .difficulty{display:flex;align-items:flex-start;padding-top:0}.difficulty button{margin-top:4px;padding:12px 3px}.difficulty legend{font-size:12px;margin-bottom:2px;font-weight:700;color:#233f40}.start-card{padding:20px 17px 16px;min-height:270px}.start-card h3{font-size:20px}.start-card p{font-size:11px;line-height:1.85}.start-card>button{font-size:12px;padding:11px 8px}.start-card>small{font-size:9px}.card-number{right:17px}.how-strip{display:grid;grid-template-columns:1fr;padding:20px 24px;gap:16px}.how-strip>.eyebrow{max-width:none}.how-strip>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.how-strip b{font-size:12px}.how-strip p{margin:0;font-size:10px}.bottom-links{flex-wrap:wrap;gap:15px}.bottom-links>span:last-child{margin-left:0;width:100%}.modal{padding:29px 23px}.play-page{padding-top:24px}.play-layout{grid-template-columns:1fr}.play-aside{display:grid;grid-template-columns:1fr;gap:15px}.tip-card{padding:20px}.tip-card h2{font-size:20px}.tip-card h2 br{display:none}.tip-card ol{margin:0;line-height:1.6}.tip-card li{margin-bottom:7px}.chat-card{margin:0}.hud{gap:10px;font-size:11px}.hud svg{width:14px}.canvas-overlay h2{font-size:21px}.canvas-overlay p{font-size:11px}.canvas-overlay>svg{width:25px}.canvas-overlay button{padding:8px 15px}.key-guide{font-size:9px}.play-top h1{font-size:23px}.toolbar{gap:6px}.toolbar button{padding:9px}.touch-controls{margin-top:12px}.action-pad button{height:65px;min-width:73px}.dpad{grid-template-columns:43px 43px 43px;grid-template-rows:33px 33px}}@media(max-width:380px){.start-section,.welcome{grid-template-columns:1fr}.welcome .difficulty{grid-column:1}.start-card{min-height:240px}.hud{gap:7px;font-size:10px}.action-pad{gap:6px}.action-pad button{min-width:64px;padding:10px}.dpad{grid-template-columns:38px 38px 38px}.how-strip>div{display:block}.how-strip p{margin-top:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
