:root{--gold:#eccb8c;--gold2:#a88047;--ink:#07101e;--paper:#f5e8cf;--muted:#a6b2c9;--glass:rgba(7,15,33,.74)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070e20;font-family:'Noto Sans KR',Pretendard,'Apple SD Gothic Neo',system-ui,sans-serif;color:#fff;touch-action:manipulation}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.hidden{display:none!important}#app,#world{position:fixed;inset:0;width:100%;height:100%}#world{display:block;touch-action:none}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 58% at 48% 38%,transparent 15%,rgba(2,6,16,.21) 62%,rgba(2,5,13,.72) 100%)}#noise{position:fixed;inset:0;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.mark{display:flex;align-items:center;gap:10px;letter-spacing:2px}.mark-star{font-size:29px;color:var(--gold);text-shadow:0 0 17px #e4ae5f}.mark strong{font-size:13px;font-weight:700}.mark em{font-style:normal;color:var(--gold)}.mark small{display:block;font-size:10px;color:#c7ccdb;margin-top:2px;letter-spacing:0}#topbar{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 15px) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));background:linear-gradient(180deg,#060e23bf,transparent);gap:8px}.top-actions{display:flex;align-items:center;gap:7px}.pill{font-size:11px;color:var(--gold);border:1px solid #c6a16e55;border-radius:30px;padding:9px 12px;background:#090e22ab;white-space:nowrap}.round{height:38px;min-width:38px;border:1px solid #ffffff33;border-radius:50%;background:#0b1732ce;color:var(--paper);font-size:17px;backdrop-filter:blur(12px)}#intro{position:fixed;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(90deg,rgba(5,11,27,.89),rgba(7,11,29,.53) 60%,rgba(6,10,29,.18)),linear-gradient(0deg,#020715a8,transparent 40%)}.intro-content{margin-left:clamp(25px,8vw,120px);width:min(450px,calc(100vw - 48px));padding-bottom:0}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.3px;color:#d8c7a0;white-space:nowrap}.spark{color:#fce3a8}h1{font-size:clamp(59px,11vw,105px);letter-spacing:-5px;line-height:1.12;margin:20px 0 10px;font-family:Georgia,'Nanum Myeongjo','Batang',serif;font-weight:700;text-shadow:0 6px 32px #04040dd9}h1 span{background:linear-gradient(135deg,#fff4cf,#e3bb6e 70%,#a67b3b);color:transparent;background-clip:text;-webkit-background-clip:text}.english{font-family:Georgia,serif;letter-spacing:3.5px;color:#efd6a4;font-size:12px;border-top:1px solid #ae915864;padding-top:16px;max-width:320px}.subline{font-size:17px;line-height:1.8;color:#d8e1f4;margin:26px 0 22px}.subline b{color:#fff;font-weight:600}.intro-form{margin-bottom:14px}.intro-form label{display:block;font-size:11px;color:#c4beaf;margin-bottom:8px;letter-spacing:1px}.intro-form input{background:#08132abf;border:1px solid #b4a17c83;color:#fff;border-radius:12px;padding:12px 15px;min-height:48px;width:min(290px,100%);font-size:14px;outline:none}.intro-form input:focus{border-color:var(--gold)}.gold-btn{display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #ffefd1;background:linear-gradient(125deg,#ffe1a4,#d8ac6c 56%,#efc889);color:#282036;font-weight:800;box-shadow:0 12px 46px #cea05d3e,inset 0 1px 0 #fff9eb;border-radius:13px;padding:16px 23px;min-height:56px;min-width:290px}.gold-btn>span:last-child{margin-left:auto}.intro-links{display:flex;align-items:center;gap:9px;margin-top:17px;color:#b6b3ad}.intro-links button{border:0;background:none;color:#d6d4d0;font-size:12px;padding:8px 0}.intro-footer{display:block;margin-top:22px;font-size:11px;color:#b0b8c6}.intro-bottom{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 30px);left:clamp(25px,8vw,120px);font-size:9px;letter-spacing:2.5px;color:#c6cad4}.intro-bottom strong{color:#f7d797;font-size:13px}.separator{display:inline-block;background:#ceb88a;height:1px;width:32px;vertical-align:middle;margin:0 8px}#loading{position:fixed;z-index:8;inset:0;background:#081124;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#d7c6a0}#loading .loading-brand{font-size:64px;animation:pulse 2s ease-in-out infinite;color:#ddba75}#loading p{letter-spacing:3px;font-size:14px}.progress{height:3px;width:170px;background:#ffffff33;border-radius:3px;overflow:hidden}.progress i{display:block;width:20%;height:100%;background:#e9c489;transition:width .3s}#loading small{font-size:11px;color:#8e9ab5}@keyframes pulse{50%{filter:brightness(1.5);transform:scale(1.06)}}#gameUI{position:fixed;inset:0;z-index:3;pointer-events:none}.board{position:absolute;top:max(92px,calc(env(safe-area-inset-top) + 85px));left:max(18px,env(safe-area-inset-left));width:225px;padding:13px 14px;background:linear-gradient(135deg,#09162ce9,#08101de6);border:1px solid #d0aa6a53;border-radius:12px;box-shadow:0 16px 42px #0009;backdrop-filter:blur(14px)}.board-head{color:var(--gold);font-weight:800;font-size:9px;letter-spacing:1.6px;display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid #ffffff25}.board-light{color:#8fceb0;font-size:8px;letter-spacing:0}.board-row{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:#9aa7bd;gap:10px}.board-row b{font-size:11px;color:#f4e6ca;text-align:right;font-weight:600}.board-row .board-highlight{color:#b2e6c7}.location-banner{position:absolute;top:max(98px,calc(env(safe-area-inset-top) + 93px));right:18px;text-align:right;text-shadow:0 2px 16px #000}.location-banner small{display:block;color:#d6ad70;font-size:9px;letter-spacing:2px}.location-banner strong{display:block;margin-top:5px;font-size:13px}.controls-bottom{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 22px);left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:end;justify-content:space-between;gap:10px}.joy-container{display:flex;flex-direction:column;align-items:center;gap:7px;color:#e4d5bf;font-size:10px;text-shadow:0 2px 8px #000}.joystick{height:118px;width:118px;border-radius:50%;background:radial-gradient(circle,#cbb58a22,#08152e90 73%);border:1.5px solid #efdcaf75;pointer-events:auto;touch-action:none;position:relative;box-shadow:0 0 30px #dfb56b0d,inset 0 0 25px #0008}.joystick:before,.joystick:after{content:'';position:absolute;background:#edcc8a45}.joystick:before{width:1px;height:78px;top:19px;left:58px}.joystick:after{height:1px;width:78px;top:58px;left:19px}.joystick-knob{position:absolute;left:35px;top:35px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#f5d7a4,#7c613f);border:2px solid #fce5b5b8;box-shadow:0 3px 15px #0008;transform:translate(0,0)}.right-controls{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.action-main{position:relative;min-height:69px;width:min(218px,52vw);border-radius:14px;background:linear-gradient(130deg,#f4d9a7,#c7a168);color:#1b1b27;border:1px solid #f9eacb;box-shadow:0 7px 32px #0009;pointer-events:auto;text-align:left;padding:12px 35px 12px 16px}.action-main:disabled{filter:saturate(.55);opacity:.82}.action-main small{display:block;font-size:8px;letter-spacing:2px;font-weight:600}.action-main strong{display:block;font-size:15px;margin-top:4px}.action-main span{position:absolute;right:12px;top:28px;font-size:22px}.secondary-actions{display:flex;gap:7px}.secondary-actions button{border:1px solid #e5d2ac7d;border-radius:10px;padding:11px 10px;background:#0c1830d9;color:#eedec1;min-height:42px;font-size:12px;pointer-events:auto;backdrop-filter:blur(9px)}.look-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 162px);left:50%;transform:translateX(-50%);font-size:10px;color:#f4e2cc;background:#0a1831ad;border:1px solid #ffffff27;padding:8px 12px;border-radius:25px;white-space:nowrap;opacity:.92;transition:opacity .3s}.look-hint.fade{opacity:0}#toast{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%) translateY(-8px);background:#08172aee;border:1px solid #d9b67e8e;box-shadow:0 8px 30px #0009;border-radius:12px;padding:12px 18px;font-size:13px;max-width:90vw;text-align:center;opacity:0;transition:opacity .25s,transform .25s}#toast.show{opacity:1;transform:translate(-50%,-50%)}#modalShade{position:fixed;inset:0;z-index:9;background:#030817cc;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}#modal{width:min(440px,100%);max-height:min(680px,85dvh);overflow:auto;background:linear-gradient(155deg,#192844,#0d1830 65%,#12182c);border:1px solid #d5ae6c83;border-radius:21px;box-shadow:0 20px 70px #000b;padding:29px 23px 23px;position:relative}.modal-kicker{font-size:10px;letter-spacing:2.5px;color:#d7b880}#modal h2{font-family:Georgia,'Batang',serif;font-size:26px;color:#f2e1be;margin:9px 0 18px}.modal-close{position:absolute;right:14px;top:12px;border:1px solid #ffffff4d;border-radius:30px;background:#ffffff10;color:#fff;width:37px;height:37px}.modal-copy{color:#c7d0df;font-size:13px;line-height:1.9}.modal-copy b{color:#f2dfb4}.setting-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff22;padding:15px 0;font-size:14px;gap:10px}.setting-row select,.setting-row input{accent-color:#d7b880;background:#152541;border:1px solid #bda16c70;border-radius:8px;color:#f6e5c8;padding:10px;max-width:180px}.modal-btn{background:#d8ba82;border:0;color:#151c28;border-radius:9px;padding:13px 19px;font-weight:800;min-height:44px;margin-top:14px;width:100%}.modal-stat{border:1px solid #e0bf8352;border-radius:12px;padding:16px;background:#ffffff0b;margin:15px 0}.modal-stat strong{font-size:24px;color:#e8c58a}.modal-note{font-size:11px;color:#afbacb;line-height:1.7}.modal-link{color:#f7d28c;text-decoration:underline;word-break:break-word}#error{position:fixed;inset:0;z-index:12;display:grid;place-items:center;background:linear-gradient(145deg,#0b1733,#080b14);padding:20px}.error-card{text-align:center;border:1px solid #ad9564;border-radius:20px;max-width:400px;padding:32px;background:#0d1b32}.error-card span{font-size:40px;color:var(--gold)}.error-card h2{color:#f8dcb3}.error-card p{font-size:14px;color:#bec9db;line-height:1.8}@media (max-width:600px){.intro-content{margin-left:27px}.eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:clamp(62px,16vw,84px);letter-spacing:-3px;margin-top:14px}.subline{font-size:15px;margin:18px 0}.intro-bottom{bottom:24px;left:27px;font-size:8px}.pill{display:none}.board{top:90px;width:174px;padding:9px}.board-row{font-size:10px;margin-top:6px}.board-row b{font-size:10px}.board-head{font-size:8px}.board-light{font-size:7px}.location-banner{top:97px;right:13px;max-width:43%}.location-banner strong{font-size:11px}.mark strong{font-size:11px}.mark small{font-size:9px}.mark-star{font-size:23px}.round{height:35px;min-width:35px}.joystick{height:110px;width:110px}.joystick-knob{left:32px;top:32px}.joystick:before{left:54px;top:18px;height:73px}.joystick:after{top:54px;left:18px;width:73px}.action-main{width:min(205px,53vw)}.action-main strong{font-size:13px}.secondary-actions button{font-size:10px;padding:9px 7px}.look-hint{bottom:calc(env(safe-area-inset-bottom) + 157px);font-size:9px}}@media (max-height:650px){.intro-content{transform:scale(.83);transform-origin:left center}.intro-bottom{display:none}.board{display:none}.location-banner{top:70px}.look-hint{display:none}.controls-bottom{bottom:10px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
