:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#202c27;background:#f3f1e9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-size:16px;font-weight:450}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}.app{max-width:520px;min-height:100dvh;margin:auto;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom);display:flex;flex-direction:column;position:relative}.top{height:65px;display:flex;align-items:center;gap:11px;font-size:.83rem;letter-spacing:.16em;font-weight:800}.top i{font-style:normal;color:#a27b31}.brandmark{width:34px;height:34px;border-radius:11px;background:#1d2b25;color:#e4c57f;display:grid;place-items:center;font-size:22px}.icon-btn{border:0;background:transparent;border-radius:12px;width:42px;height:42px;font-size:22px}.top .icon-btn{margin-left:auto}.hero{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:5px 2px 30px;overflow:hidden}.eyebrow{font-size:.65rem;letter-spacing:.17em;font-weight:750;color:#957530}.hero h1{font-size:clamp(3.25rem,16vw,5.3rem);letter-spacing:-.075em;line-height:.91;margin:15px 0 18px;font-weight:800}.hero h1 em{font-family:Georgia,serif;font-weight:500;color:#9c7735}.hero p{max-width:330px;font-size:.98rem;line-height:1.55;color:#68716b;margin:0 0 21px}.hero-board{width:min(74vw,270px);height:63px;display:grid;grid-template-columns:repeat(8,1fr);align-self:flex-end;margin:-12px 0 12px;opacity:.83;transform:rotate(-4deg);border-radius:10px;overflow:hidden;box-shadow:0 12px 32px #17231f1c}.hero-board span{display:grid;place-items:center;background:#e6e0d1;color:#27352e;font-size:20px}.hero-board span:nth-child(16n+2),.hero-board span:nth-child(16n+4),.hero-board span:nth-child(16n+6),.hero-board span:nth-child(16n+8),.hero-board span:nth-child(16n+9),.hero-board span:nth-child(16n+11),.hero-board span:nth-child(16n+13),.hero-board span:nth-child(16n+15){background:#829487;color:#f7f4e8}.primary,.secondary,.danger{border:0;border-radius:14px;min-height:54px;padding:0 18px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:5px 0}.primary{background:#1c2d25;color:#f5f1e4;box-shadow:0 7px 18px #1c2d2524}.primary b{font-size:20px;margin-left:auto;color:#d7b971}.secondary{background:#e6e4dc;color:#25312b}.danger{background:#a64836;color:#fff}.text-btn{border:0;background:transparent;padding:12px;color:#666d65;font-size:.84rem}.trust{font-size:.71rem;color:#737a72;text-align:center;margin-top:13px}.trust span{color:#997932}footer{text-align:center;padding:16px 0 18px;color:#8b8b7f;font-size:.62rem;letter-spacing:.12em}footer span{margin:0 9px}.game-head{display:flex;align-items:center;gap:10px;min-height:58px}.game-head>div{display:grid;gap:3px;flex:1;min-width:0}.game-head b{font-size:.72rem;letter-spacing:.1em}.game-head small{font-size:.68rem;color:#747b73;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent,.self{display:flex;align-items:center;gap:11px;padding:9px 4px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:25px}.avatar.dark{background:#25352c;color:#e8dfc8}.avatar.light{background:#e0ddcf;color:#596257}.opponent>div,.self-data{display:grid;gap:5px;flex:1}.opponent b,.self b{font-size:.84rem}.opponent small,.self small{font-size:.58rem;letter-spacing:.11em;color:#80867d;margin-left:5px}.mana-hidden{font-size:.7rem;color:#a88c52;letter-spacing:.08em}.opponent strong,.self strong{font-variant-numeric:tabular-nums;font-size:1.2rem;padding:7px 10px;border-radius:9px;background:#e7e4db}.active-clock{background:#d9c38d!important;color:#29372e}.board-wrap{width:100%;padding:4px 0}.board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);overflow:hidden;border-radius:8px;box-shadow:0 8px 22px #17231f17;touch-action:manipulation}.cell{border:0;padding:0;position:relative;display:grid;place-items:center;font-family:Segoe UI Symbol,serif;font-size:clamp(1.8rem,10vw,3.45rem);line-height:1}.light-cell{background:#eee9db;color:#26332c}.dark-cell{background:#819183;color:#fcf7e8}.cell.selected{box-shadow:inset 0 0 0 4px #ddbb67}.cell.legal:after{content:"";width:25%;height:25%;position:absolute;border-radius:50%;background:#d9b655a8}.cell.legal:has(♟):after{width:90%;height:90%;border:4px solid #d9b655;background:transparent}.cell small{position:absolute;left:3px;top:2px;font:600 .52rem system-ui;color:#637064;opacity:.8}.cell i{position:absolute;right:2px;bottom:2px;width:5px;height:5px;background:#c79c43;border-radius:50%}.mana-bar{display:flex;align-items:center;gap:7px;color:#9a752b;font-size:.75rem}.mana-bar>div{display:flex;gap:3px;flex:1}.mana-bar i{height:6px;border-radius:6px;flex:1;background:#dedbd1}.mana-bar i.filled{background:#c29a48}.mana-bar b{font-size:.74rem;color:#586258}.actions{margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dedbd2;padding:8px 0 max(8px,env(safe-area-inset-bottom));gap:2px}.actions button{position:relative;border:0;border-radius:12px;background:transparent;display:grid;justify-items:center;gap:2px;padding:5px 0;font-size:1.25rem;color:#536158}.actions button span{font-size:.63rem}.actions button small{position:absolute;top:1px;right:13%;font-size:.58rem;background:#c4a45a;color:#fff;width:16px;height:16px;border-radius:50%;display:grid;place-items:center}.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#10191480;z-index:5;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(100%,520px);max-height:86dvh;overflow:auto;background:#f6f4ed;border-radius:23px 23px 0 0;padding:13px 21px max(24px,env(safe-area-inset-bottom));position:relative;box-shadow:0 -14px 50px #10191430}.sheet-handle{width:38px;height:4px;border-radius:8px;background:#c9c7be;margin:0 auto 18px}.sheet h2{font-size:1.45rem;letter-spacing:-.035em;margin:4px 0 8px}.sheet h3{font-size:1rem;margin:22px 0 8px}.muted{font-size:.82rem;line-height:1.5;color:#737b73}.close{position:absolute;right:15px;top:12px;border:0;background:#e8e6dc;border-radius:50%;width:33px;height:33px;font-size:22px}.field-label{display:block;margin:20px 0 7px;font-size:.77rem;font-weight:700}textarea{width:100%;min-height:90px;border:1px solid #d6d3c8;border-radius:12px;background:#fff;padding:10px;resize:vertical}.qr-frame{width:min(100%,440px);margin:10px auto 16px;background:#fff;border-radius:18px;padding:10px;text-align:center}.qr-frame img{width:100%;display:block}.qr-controls{display:flex;gap:8px;margin-top:9px}.qr-controls button{flex:1;min-height:40px;margin:0;padding:0 8px;font-size:.72rem}.text-fallback{margin:10px 0;color:#647066;font-size:.78rem}.text-fallback summary{cursor:pointer;font-weight:700;padding:7px 0}.text-fallback textarea{min-height:120px;max-height:180px;font-size:.68rem;overflow:auto}.scan-progress{font-size:.78rem;line-height:1.4;color:#59675c;margin:2px 0 5px;text-align:center}.qr-frame small{display:block;padding-top:4px;color:#72796f}.camera{display:grid;gap:8px}.camera video{width:100%;border-radius:12px}.camera canvas{display:none}.link-card,.piece-row{border:1px solid #e2dfd5;border-radius:15px;padding:12px;margin:10px 0;background:#fffefa}.link-card>b{display:block}.link-card>small{display:block;color:#777e75;margin:4px 0 10px}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.skill-grid button{border:0;border-radius:10px;background:#e8e7de;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:700}.skill-grid button small{color:#997632}.piece-row{display:flex;align-items:center;gap:12px}.piece-row>span{font-size:1.75rem}.piece-row>div{display:grid;gap:2px;flex:1}.piece-row small{font-size:.7rem;color:#72796f}.piece-row select{border:0;background:#ebe8de;border-radius:9px;padding:8px;max-width:120px}.log{max-height:180px;overflow:auto;background:#ebe9e0;border-radius:12px;padding:5px 13px}.log p{font-size:.8rem;border-bottom:1px solid #d8d6ce;padding:6px 0;margin:0}.toggle{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e3e0d6;font-size:.9rem}.toggle input{accent-color:#26382e;width:19px;height:19px}.toast{position:fixed;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translate(-50%);background:#213129;color:#f4f1e8;padding:9px 14px;border-radius:12px;font-size:.71rem;max-width:calc(100% - 40px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 18px #17231f20;z-index:2;pointer-events:none}.veil:has(.dialog){align-items:center}.dialog{width:min(90%,380px);border-radius:20px;background:#f7f5ee;padding:22px}.dialog h3{margin-top:0}.dialog button{width:100%;margin:5px 0;border:0;background:#e9e6dc;padding:11px;border-radius:11px;text-align:left;font-size:1.4rem}.dialog button:first-letter{font-size:1.6rem}.no-anim *{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media(min-width:700px){.hero{padding-top:70px}.board{max-width:470px;margin:auto}.board-wrap{display:grid;place-items:center}.cell{font-size:3.2rem}}.oracle-prompt{position:fixed;z-index:8;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translate(-50%);border:1px solid #c89a52;border-radius:999px;background:#23332d;color:#f5ead7;padding:10px 16px;font:600 12px inherit;box-shadow:0 6px 18px #0003;white-space:nowrap}.oracle-prompt:disabled{opacity:.55}.special-choice{border:1px solid #c5a66c;border-radius:10px;background:#f2e8d6;color:#354239;padding:8px 10px;font-size:12px;font-weight:700;margin:4px}.special-choice:disabled{opacity:.45}.selected-target{outline:2px solid #e2b45c;background:#e9dcc6!important}.update-prompt{margin:0 auto 12px;display:block;width:min(420px,calc(100% - 40px))}
