.sora-page.home-page{--home-gutter:clamp(12px,4vw,32px);max-width:760px;min-height:0;padding:0 var(--home-gutter) clamp(36px,7vw,64px)}.home-page .home-hero{height:clamp(180px,45vw,330px);margin:0 calc(-1*var(--home-gutter));z-index:3;padding:0;display:block;overflow:visible}.home-page .home-intro{grid-template-columns:minmax(0,.64fr) minmax(0,1fr);align-items:center;gap:clamp(10px,2.5vw,22px);display:grid;position:absolute;inset:16% 20% 23% 8%}.home-page .hero-avatar{aspect-ratio:1;object-fit:contain;width:100%;min-width:0;max-width:none;height:auto;display:block}.home-page .hero-brand{min-width:0;padding:0}.home-page .hero-brand h1{margin:0;line-height:1}.home-page .hero-brand h1 img{width:100%;height:auto;display:block}.home-page .hero-brand p{white-space:normal;letter-spacing:.025em;margin:8px 0 0;font-size:clamp(11px,2.1vw,16px);line-height:1.65}.home-page .hero-brand p span{display:inline-block}.home-page .home-menu{right:var(--home-gutter);z-index:10;bottom:6px}.home-page .home-menu .sora-menu>button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:7px 10px;font-size:17px;display:flex}.home-page .home-menu .sora-menu>button span{font-size:12px}.home-page .home-menu .sora-menu nav{overscroll-behavior:contain;max-height:min(440px,100svh - 220px);top:calc(100% + 6px);bottom:auto;overflow-y:auto}.home-page .home-entries{z-index:2;container-type:inline-size}.home-page .entry-button{--entry-tile:clamp(60px,18vw,104px);--entry-arrow:clamp(30px,6vw,44px);grid-template-columns:var(--entry-tile) minmax(0,1fr) var(--entry-arrow);isolation:isolate;border-width:2px;border-radius:18px;align-items:center;gap:clamp(8px,1.8vw,18px);min-height:132px;padding:12px clamp(10px,2vw,22px);display:grid}.home-page .entry-button:after{z-index:0}.home-page .entry-button>.entry-piece{width:var(--entry-tile);height:var(--entry-tile);flex-basis:auto;margin:0}.home-page .entry-button>.entry-copy{z-index:1;min-width:0;position:relative}.home-page .entry-button strong{letter-spacing:0;font-size:clamp(18px,2.6vw + 9px,26px);line-height:1.35}.home-page .entry-title>span,.home-page .entry-description>span{display:inline-block}.home-page .entry-button small{margin:7px 0 0;font-size:clamp(10.5px,1vw + 7px,13.5px);line-height:1.65}.home-page .round-arrow{z-index:1;width:var(--entry-arrow);height:var(--entry-arrow);background:#fff;place-self:center end;place-items:center;margin:0;padding:0;font-size:0;line-height:0;display:grid;position:relative;box-shadow:0 2px 5px #002d5350}.home-page .round-arrow svg{width:50%;height:50%;display:block}.home-page .past-link{justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:48px;margin:4px auto;padding:14px 12px;font-size:clamp(13px,2vw,16px);line-height:1.5;display:flex}.home-page .entry-red{margin-top:0}.home-page .entry-soon{margin-top:16px}.home-page .entry-button.entry-ai{--entry-tile:clamp(64px,19vw,96px);color:#f2fbff;border:0 solid #0000;border-image-source:url(/design/ready/ai-sora-entry-panel-v2.webp);border-image-slice:0 185 0 510 fill;border-image-width:0 calc(var(--entry-arrow) + 28px) 0 calc(var(--entry-tile) + 36px);box-shadow:none;filter:drop-shadow(0 4px 4px #102e5129);background:0 0;border-image-repeat:stretch;border-radius:5px;margin-top:14px}.home-page .entry-button.entry-ai:after{content:none}.home-page .entry-ai .piece-ai-sora{filter:drop-shadow(0 0 .8px #e4fbff)drop-shadow(0 3px 2px #111f47b3);background-image:url(/design/ready/entry-ai-sora-v1.webp)}.home-page .entry-ai .entry-copy{grid-column:2;padding-inline-start:10px}.home-page .entry-ai small{color:#d0e7ec}.home-page .entry-ai .round-arrow{color:#d6fbff;background:linear-gradient(#285365,#112d3d);border:1px solid #78d8e3;border-radius:6px;box-shadow:inset 0 1px #b2f5ff55,0 2px 4px #07131bb3}.home-page .entry-soon>.entry-copy{grid-column:2/4}.home-page .entry-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.home-page .entry-heading strong{white-space:nowrap}.home-page .coming{letter-spacing:.025em;flex:none;margin:0;padding:6px 10px;font-size:clamp(9px,1.5vw,12px);line-height:1.3}.home-page .sora-footer{gap:8px 12px;margin:20px 0 0;padding:14px 0 0;font-size:clamp(11px,1.6vw,13px)}@media (max-width:600px){.home-page .entry-button{border-radius:15px;min-height:112px;padding-top:10px;padding-bottom:10px}.home-page .entry-soon{min-height:106px;margin-top:14px}.home-page .entry-heading{gap:5px 7px}.home-page .coming{padding:5px 8px}.home-page .sora-footer{margin-top:14px}}@container (width<=280px){.home-page .entry-button{grid-template-columns:minmax(0,1fr) var(--entry-arrow);gap:8px;padding:12px}.home-page .entry-button>.entry-piece{grid-area:1/1}.home-page .entry-button>.entry-copy{grid-area:2/1/auto/-1}.home-page .entry-ai .entry-copy{grid-column:1/-1}.home-page .entry-button>.round-arrow{grid-area:1/2}.home-page .entry-title>span,.home-page .entry-description>span{display:inline}.home-page .entry-heading strong{white-space:normal}.home-page .entry-heading{gap:6px}.home-page .coming{white-space:normal;max-width:100%}}@media (max-width:360px){.home-page .entry-title>span{display:block}.home-page .entry-button small{margin-top:5px}.home-page .entry-heading strong{font-size:17px}}.sora-menu .sora-menu-panel{overscroll-behavior:contain;scrollbar-width:thin;transform-origin:100% 0;background:#fffdf8;border:1px solid #d9c7a3;border-radius:18px;gap:0;width:min(352px,100vw - 28px);max-height:calc(100svh - 100px);padding:0;animation:.16s ease-out sora-menu-reveal;overflow:auto;box-shadow:0 18px 48px #13395229,0 3px 10px #13395214}.sora-menu-panel .menu-panel-heading{color:#dbc28d;letter-spacing:.08em;background:linear-gradient(115deg,#133853,#245775);border-bottom:2px solid #c6a35d;align-items:center;margin:0;padding:19px 22px 17px;font-size:17px;font-weight:700;display:flex}.sora-menu-panel .menu-section{gap:3px;padding:10px;display:grid}.sora-menu-panel .menu-section+.menu-section{border-top:1px solid #e9e0cd;padding-top:13px}.sora-menu-panel .menu-section-title{letter-spacing:.05em;color:#7c7568;margin:0;padding:0 12px 7px;font-size:11px;font-weight:600;line-height:1.6}.sora-menu .sora-menu-panel a{color:#234760;border:1px solid #0000;border-radius:10px;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:10px;min-height:49px;padding:8px 11px;font-size:14px;line-height:1.5;text-decoration:none;transition:background .14s,color .14s;display:grid}.sora-menu-panel .menu-link-icon{color:#3e7496;background:#f0f4f4;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.menu-link-icon svg{width:20px;height:20px}.sora-menu-panel .menu-link-arrow{color:#9b987f;width:14px;height:14px}.sora-menu .sora-menu-panel a:hover{color:#075b94;background:#eff5f7}.sora-menu .sora-menu-panel a[aria-current=page]{color:#145d86;background:#eaf3f8;border-color:#cddfe9;font-weight:700;box-shadow:inset 3px 0 #c6a35d}.sora-menu-panel a[aria-current=page] .menu-link-icon{color:#fff;background:#236181}.sora-menu-panel .menu-section.menu-utility{background:#f7f4eb;padding:8px 10px}.sora-menu .sora-menu-panel .menu-utility a{min-height:46px;font-size:12px}.sora-menu .sora-menu-panel a:focus-visible{outline-offset:-2px;outline:2px solid #1982c7}.sora-menu>button[aria-expanded=true]{color:#145d86;box-shadow:none;background:#eaf3f8;border-color:#8aafc7}.home-page .home-menu .sora-menu .sora-menu-panel{max-height:calc(100svh - 100px)}@keyframes sora-menu-reveal{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sora-menu .sora-menu-panel{animation:none}.sora-menu .sora-menu-panel a{transition:none}}.sora-loading.compact{color:#254b64;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:0;box-shadow:none;text-align:left;box-sizing:border-box;background:#fffdf7;border:1px solid #e5d7ba;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;margin:16px auto;padding:10px 16px;display:flex}.sora-loading strong{font-size:14px;font-weight:500;line-height:1.6}.loading-emblem{border:2px solid #cbdbe1;border-top-color:#38748d;border-radius:50%;flex:none;width:16px;height:16px;animation:1s linear infinite sora-preparing;display:block}@keyframes sora-preparing{to{transform:rotate(360deg)}}.preparation-error{background:#fffdf5;border:1px solid #dfc998;border-radius:16px;max-width:720px;margin:28px auto;padding:28px;line-height:1.8}.preparation-error h1{font-size:22px}.preparation-error button{margin:8px 10px 0 0}.thumbnail-pending .sora-loading.compact{text-align:center;background:0 0;border:0;flex-direction:column;margin:0;padding:8px}.editor-busy-content[aria-busy=true]{opacity:.7;pointer-events:none}.editor-busy-content{border:0;min-width:0;margin:0;padding:0;transition:opacity .15s;display:block}@media (prefers-reduced-motion:reduce){.loading-emblem{animation:none}.editor-busy-content{transition:none}}.home-account-row{z-index:4;top:4px;left:var(--home-gutter);right:var(--home-gutter);align-items:center;display:flex;position:absolute}.home-account-bar{background:linear-gradient(120deg,#fffefa,#f7f4ea);border:1px solid #dac8a7;border-radius:11px;align-items:center;gap:10px;max-width:100%;padding:2px 4px 2px 7px;display:flex;box-shadow:0 2px 7px #173c5512}.home-account-identity{color:#234760;align-items:center;gap:6px;min-width:0;display:flex}.home-account-avatar{color:#4b7188;background:#edf3f4;border:1px solid #d9e4e7;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.home-account-avatar svg{width:17px;height:17px}.home-account-copy{gap:0;min-width:0;display:grid}.home-account-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.home-account-copy small{letter-spacing:.025em;color:#7d807c;font-size:9px;line-height:1.2}.account-free .home-account-copy small{color:#286b96}.account-paid .home-account-copy small{color:#927039}.account-paid .home-account-avatar{color:#9c7a3d;background:#f7efdc;border-color:#e4cf9f}.sora-page.home-page .home-account-row .home-account-bar .home-login-button{color:#fffaf0;white-space:nowrap;background:#234e69;border:0;border-radius:8px;flex:none;align-items:center;gap:6px;min-height:30px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.4;display:flex;box-shadow:inset 0 1px #ffffff21}.home-login-button svg{color:#e1c990;width:15px;height:15px}.sora-page.home-page .home-account-row .home-account-bar .home-login-button:hover{background:#17608b}.member-login-card{box-sizing:border-box;color:#234760;text-align:center;background:linear-gradient(135deg,#fffef9,#f8f3e5);border:1px solid #d8c294;border-top:3px solid #c6a35d;border-radius:20px;width:min(390px,100vw - 32px);max-height:calc(100svh - 32px);padding:34px 26px 26px;position:fixed;overflow:auto;box-shadow:0 22px 70px #143b5538}.member-login-card::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17344f80}.member-login-card .member-card-close{color:#31526d;width:40px;min-height:40px;box-shadow:none;background:#eee9db;border:0;border-radius:50%;place-items:center;padding:8px;display:grid;position:absolute;top:12px;right:12px}.member-card-close svg{width:24px;height:24px}.member-login-card h2{letter-spacing:.025em;margin:6px 28px 12px;font-size:22px}.member-login-card p{color:#63727a;margin:10px 0;font-size:13px;line-height:1.9}.member-login-card .member-card-status{color:#7d786a;font-size:12px;font-weight:400}.member-login-methods{gap:10px;margin-top:22px;display:grid}.member-login-card .member-provider{color:#354b5b;width:100%;min-height:48px;box-shadow:none;opacity:1;cursor:default;background:#fff;border:1px solid #d5dddf;border-radius:10px;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:6px;padding:11px 12px;font-size:13px;font-weight:600;display:grid}.member-provider .provider-wordmark{letter-spacing:0;font-family:Segoe UI,sans-serif;font-size:12px;font-weight:700}.member-login-card .provider-line{color:#fff;background:#06a94f;border-color:#079447}.member-login-card .provider-email{color:#315d76;background:#f6f8f8;border-color:#bdcfd8}.provider-email svg{justify-self:center;width:22px;height:22px}.member-method-divider{color:#929083;align-items:center;gap:12px;margin:4px 0;font-size:10px;display:flex}.member-method-divider:before,.member-method-divider:after{content:"";background:#ded8c9;flex:1;height:1px}.member-email-note{color:#7d8588;margin-top:-4px;font-size:10px}.member-fields{border:0;min-width:0;margin:0;padding:0}.member-login-card .member-provider:not(:disabled){cursor:pointer}.member-login-card button:disabled{opacity:.48;cursor:default}.member-login-card button:focus-visible,.member-login-card input:focus-visible{outline-offset:3px;outline:3px solid #6ca8c5}.member-login-card .member-text-button{box-shadow:none;color:#376d8a;text-underline-offset:4px;background:0 0;border:0;min-height:36px;padding:7px 2px;font-size:12px;text-decoration:underline}.member-form{text-align:left;gap:15px;margin-top:24px;display:grid}.member-form label{color:#34586e;gap:7px;font-size:12px;font-weight:600;display:grid}.member-form input{box-sizing:border-box;color:#213f55;background:#fffefa;border:1px solid #bcccd3;border-radius:9px;width:100%;min-height:48px;padding:11px 12px;font:16px Segoe UI,sans-serif;box-shadow:inset 0 1px 3px #213f5508}.member-form small{color:#727d80;font-size:10px;font-weight:400}.member-login-card .member-submit{color:#fffaf0;background:#234e69;border:1px solid #234e69;border-radius:10px;width:100%;min-height:48px;margin:4px 0 0;padding:12px;font-size:14px;font-weight:700;box-shadow:0 3px 10px #234e6914}.member-login-card .member-submit:hover{background:#17608b}.member-login-card .member-feedback{text-align:left;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.8}.member-login-card .member-error{color:#8c4834;background:#fff0ea;border:1px solid #e2bba9}.member-login-card .member-success{color:#306b54;background:#eef5f0;border:1px solid #b5cebf}.member-account-details{overflow-wrap:anywhere;padding:20px 0 4px}.member-account-details>strong{color:#234e69;font-size:20px}.member-login-card .member-back{margin-top:20px}@media (max-width:380px){.member-login-card{padding:30px 18px 20px}.member-login-card h2{margin-left:15px;margin-right:15px;font-size:20px}.member-login-card .member-provider{grid-template-columns:44px minmax(0,1fr);padding:10px;font-size:12px}}.member-login-card .member-card-return{color:#265d7d;width:100%;min-height:46px;box-shadow:none;background:#f5f9fa;border:1px solid #b8cbd6;border-radius:10px;margin-top:24px;font-size:14px;font-weight:600;display:block}@media (max-width:380px){.home-account-bar{gap:8px}.home-account-copy strong{max-width:120px}}.admin-login-card{color:#214965;background:#fffdf8;border:1px solid #decba6;border-top:3px solid #bda163;border-radius:6px 20px;max-width:430px;margin:clamp(28px,7vh,72px) auto 30px;padding:32px;box-shadow:0 10px 30px #23405a12}.admin-login-emblem{color:#2a607f;background:#f8f5eb;border:1px solid #e1d3b7;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;display:grid}.admin-login-emblem svg{width:25px;height:25px}.admin-login-card h1{text-align:center;margin:0;font-family:Noto Serif JP,Yu Mincho,serif;font-size:24px;line-height:1.6}.admin-login-card>p{color:#617486;text-align:center;margin:12px 0 26px;font-size:13px;line-height:1.8}.admin-login-card form{gap:20px;display:grid}.admin-login-card label{gap:8px;font-size:13px;font-weight:600;display:grid}.admin-login-card input{color:#173f65;background:#fff;border:1px solid #c3ced6;border-radius:7px;width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:16px}.admin-login-card form>button{min-height:48px;font-size:15px}.admin-login-card .error-text{border-radius:7px;margin:0;padding:12px;font-size:13px;line-height:1.7}.admin-login-back{text-underline-offset:4px;justify-content:center;align-items:center;min-height:44px;margin-top:16px;font-size:13px;display:flex}.admin-session-actions{justify-content:flex-end;align-items:center;gap:12px;margin:10px 0;display:flex}.admin-session-actions button{background:#fffdf7;border-color:#dac8a1;min-height:44px}@media (max-width:500px){.admin-login-card{padding:26px 22px}.admin-login-card h1{font-size:22px}}dialog.share-dialog.result-share-compose{color:#182e49;background:#fffefb;border:1px solid #e2ded3;border-radius:20px;outline:none;width:min(780px,100% - 28px);max-width:none;max-height:calc(100svh - 28px);margin:auto;padding:0 20px 22px;position:fixed;inset:0;overflow:auto;box-shadow:0 20px 70px #142a4659}.result-share-compose::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#13283e73}.result-share-compose .compose-top{justify-content:flex-end;align-items:center;height:44px;display:flex}.result-share-compose .compose-close{width:36px;height:36px;min-height:36px;box-shadow:none;color:#42607c;background:0 0;border:0;border-radius:50%;place-items:center;margin-right:-9px;padding:6px;display:grid}.result-share-compose .compose-close svg{width:21px;height:21px}.result-share-compose .compose-close:hover{background:#edf3f7}.result-share-compose .compose-content{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.result-share-compose .compose-image{border-radius:12px;min-width:0;line-height:0;display:block;overflow:hidden;box-shadow:0 2px 8px #28436110}.result-share-compose .compose-image img{width:100%;height:auto;display:block}.result-share-compose .compose-editor{flex-direction:column;align-self:stretch;min-width:0;padding-top:3px;display:flex}.result-share-compose .compose-editor>label{color:#5b7083;margin:0 0 9px 2px;font-size:12px;font-weight:600}.result-share-compose .compose-editor textarea{box-sizing:border-box;resize:vertical;color:#243e57;background:#f7fafc;border:1px solid #dce5eb;border-radius:12px;flex:1;width:100%;min-height:178px;margin:0;padding:13px 14px;font:14px/1.8 Yu Gothic,Hiragino Sans,Meiryo,sans-serif;display:block;box-shadow:inset 0 1px 3px #24445e03}.result-share-compose .compose-editor textarea:focus{outline-offset:2px;outline:2px solid #86b8d7}.result-share-compose .compose-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.result-share-compose .compose-action{min-width:0;box-shadow:none;color:#466079;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:0;font:11px/1.4 Yu Gothic,Hiragino Sans,Meiryo,sans-serif;display:flex}.result-share-compose .compose-icon{box-sizing:border-box;color:#40617b;background:#eff4f7;border-radius:50%;place-items:center;width:44px;height:44px;transition:box-shadow .15s;display:grid}.result-share-compose .compose-icon svg{width:23px;height:23px;display:block}.result-share-compose .is-line .compose-icon{color:#fff;background:#06c755}.result-share-compose .is-x .compose-icon{color:#fff;background:#181b20}.result-share-compose .is-x svg{width:21px;height:21px}.result-share-compose .is-instagram .compose-icon{color:#fff;background:radial-gradient(circle at 28% 105%,#ffd36c 0%,#f77737 25%,#d52e78 53%,#7546c5 84%)}.result-share-compose .compose-action:hover:not(:disabled) .compose-icon{box-shadow:0 3px 9px #203d5726}.result-share-compose .compose-action:focus-visible,.result-share-compose .compose-close:focus-visible,.result-share-compose .compose-image:focus-visible{outline-offset:4px;outline:2px solid #86b8d7}.result-share-compose .compose-message{color:#65788b;overflow-wrap:anywhere;margin:12px 0 0;font-size:11px;line-height:1.7}.result-share-compose .compose-image-state{aspect-ratio:1080/985;color:#60778b;text-align:center;background:#f4f7f8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;padding:18px;font-size:13px;display:flex}.result-share-compose .compose-spinner{box-sizing:border-box;border:2px solid;border-right-color:#0000;border-radius:50%;width:19px;height:19px;animation:.8s linear infinite compose-spin;display:block}@keyframes compose-spin{to{transform:rotate(360deg)}}@media (max-width:650px){dialog.share-dialog.result-share-compose{border-radius:17px;width:calc(100% - 20px);max-height:calc(100svh - 20px);padding:0 14px 20px}.result-share-compose .compose-content{grid-template-columns:minmax(0,1fr);gap:18px}.result-share-compose .compose-image,.result-share-compose .compose-image-state{justify-self:center;width:100%;max-width:377px}.result-share-compose .compose-editor{padding:0}.result-share-compose .compose-editor textarea{resize:vertical;min-height:126px;max-height:220px;padding:10px 12px;font-size:16px;line-height:1.6}.result-share-compose .compose-actions{gap:8px;margin-top:16px}.result-share-compose .compose-top{height:40px}}@media (prefers-reduced-motion:reduce){.result-share-compose .compose-spinner{animation:none}.result-share-compose .compose-icon{transition:none}}.result-screen{container-type:inline-size}.result-screen .result-hero{aspect-ratio:2.25;background:0 0;height:auto;min-height:0;margin:0 0 12px;padding:0;display:block;position:relative;overflow:hidden}.result-hero:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(50% 50%,#fffdf6 0 48%,#fffdf6e8 63%,#fffdf600 100%);width:50%;height:98%;position:absolute;bottom:-8%;right:0}.result-hero:after{content:"";background:linear-gradient(90deg,transparent 48%,var(--result-accent) 76%,transparent);opacity:.6;pointer-events:none;height:1px;position:absolute;inset:auto 5px 0}.result-brush{z-index:0;pointer-events:none;width:90%;height:100%;position:absolute;inset:0 auto auto 0;overflow:visible}.result-wordmark{z-index:1;align-items:center;width:56%;min-width:0;height:75%;display:grid;position:absolute;top:13%;left:2%}.result-screen .result-hero h1{width:100%;min-width:0;margin:0;padding:0;line-height:1;position:relative;transform:none}.result-hero h1 svg{width:100%;height:auto;display:block;overflow:visible}.result-hero h1 text{letter-spacing:0;fill:var(--result-ink);font-family:Yu Mincho,Hiragino Mincho ProN,MS Mincho,serif;font-weight:900}.result-character{z-index:2;width:41%;line-height:0;position:absolute;bottom:0;right:0;overflow:hidden}.result-screen .result-hero .result-character img{object-fit:contain;object-position:center bottom;width:100%;max-width:none;height:auto;max-height:none;margin-bottom:-1.4%;display:block}.result-character.is-portrait{padding:12px 18px}.result-screen .result-hero .is-portrait img{border-radius:50%;margin:0}@container (width<=270px){.result-screen .result-card{grid-template-columns:minmax(0,1fr)}.result-screen .result-card>.position-preview{justify-self:center;width:140px;max-width:100%}.result-screen .result-review-links{grid-template-columns:minmax(0,1fr)}}dialog.image-save-dialog{color:#18304e;overscroll-behavior:contain;background:linear-gradient(145deg,#fffdf8,#edf7ff);border:1px solid #cfb47a;border-radius:17px;width:calc(100% - 28px);max-width:440px;max-height:90svh;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 16px 60px #10263f55}dialog.image-save-dialog:focus{outline:none}.image-save-dialog::backdrop{background:#15304c70}.image-save-heading{z-index:1;background:#fffdf8;border-bottom:1px solid #e2d4b5;justify-content:space-between;align-items:center;min-height:52px;padding:0 10px 0 18px;display:flex;position:sticky;top:0}.image-save-heading h2{color:#18304e;margin:0;font-size:18px;line-height:1.5}.image-save-heading button{width:44px;height:44px;box-shadow:none;color:#345477;background:0 0;border:0;place-items:center;padding:0;display:grid}.image-save-heading svg{width:24px;height:24px}.image-save-body{padding:14px 18px 18px}.image-save-instruction{margin:0 0 12px;font-size:14px;line-height:1.7}.image-save-preview{margin:0 0 16px}.image-save-preview img{object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;width:100%;height:auto;max-height:43svh;display:block}.image-save-preview figcaption{text-align:center;color:#4d657c;margin-top:8px;font-size:11px;line-height:1.6}.image-save-actions{gap:10px;display:grid}.image-save-actions button{min-height:46px;font-size:14px}.image-file-download{color:#1261a0;justify-content:center;align-items:center;min-height:44px;font-size:13px;display:flex}.image-save-note,.image-save-status{color:#425f79;overflow-wrap:anywhere;margin:10px 0 0;font-size:12px;line-height:1.65}.image-save-status:empty{display:none}.result-screen>.image-save-reopen{min-height:44px;box-shadow:none;color:#1261a0;background:0 0;border:0;margin:8px auto 0;padding:6px 10px;font-size:12px;text-decoration:underline;display:block}.match-start{--start-ink:#082b43;--start-mid:#165578;--start-light:#dceff4;--start-accent:#e6c781;--start-glow:#73bddd;z-index:2000;color:#fff8e9;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#09283b20,#071c3294);outline:0;place-items:center;animation:1.4s linear both match-start-envelope;display:grid;position:fixed;inset:0;overflow:hidden}.match-start-sora{--start-ink:#171e38;--start-mid:#384263;--start-light:#e9faff;--start-accent:#a7e4ec;--start-glow:#9295df}.match-start-stage{isolation:isolate;place-items:center;width:100%;height:clamp(280px,48vh,430px);display:grid;position:relative}.match-start-band{z-index:-2;background:linear-gradient(112deg,var(--start-ink) 16%,var(--start-mid) 53%,var(--start-ink) 88%);animation:1.4s cubic-bezier(.16,.8,.2,1) both match-start-band;position:absolute;inset:0 -10%;transform:skewY(-4deg);box-shadow:0 24px 70px #04152466}.match-start-band:after{content:"";background:repeating-linear-gradient(125deg,#0000 0 46px,#ffffff04 47px 48px),linear-gradient(90deg,#0000,#ffffff08,#0000);position:absolute;inset:0}.match-start-content{z-index:2;text-align:center;filter:drop-shadow(0 3px 8px #06142080);position:relative}.match-start-kicker{color:var(--start-accent);letter-spacing:.24em;justify-content:center;align-items:center;gap:17px;margin-bottom:18px;font-size:13px;font-weight:600;animation:1.4s both match-start-caption;display:flex}.match-start-kicker span{opacity:.6;background:currentColor;width:32px;height:1px}.match-start-title{white-space:nowrap;justify-content:center;gap:.12em;font-family:Yu Mincho,Hiragino Mincho ProN,MS PMincho,serif;font-size:clamp(58px,10.7vw,108px);font-weight:800;line-height:1.35;display:flex}.match-start-title span{color:var(--start-light);text-shadow:0 1px 0 var(--start-accent),0 3px 0 #06182c;animation:1.4s cubic-bezier(.15,.8,.2,1) both match-start-letter;animation-delay:calc(var(--letter)*35ms -105ms);display:inline-block}.match-start-caption{color:#edf4f5;letter-spacing:.15em;margin-top:18px;font-size:12px;animation:1.4s both match-start-caption}.match-start-portrait{z-index:-1;opacity:.28;width:clamp(155px,33vw,360px);height:114%;animation:1.4s ease-out both match-start-portrait;position:absolute;bottom:-2%;right:max(1%,50% - 560px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%),linear-gradient(#0000,#000 28% 68%,#0000);mask-image:linear-gradient(90deg,#0000,#000 40%),linear-gradient(#0000,#000 28% 68%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.match-start-portrait img{object-fit:contain;object-position:center bottom;filter:saturate(.6);width:100%;height:100%}.match-start-orbit{z-index:-1;aspect-ratio:1;border:1px solid var(--start-accent);opacity:.16;border-radius:50%;width:360px;max-width:92vw;animation:1.4s ease-out both match-start-orbit;position:absolute;transform:rotate(-35deg)}.match-start-orbit:before,.match-start-orbit:after{content:"";border:1px solid var(--start-accent);clip-path:polygon(0 0,100% 0,100% 48%,0 48%);border-radius:50%;position:absolute;inset:14px}.match-start-orbit:after{inset:35px;transform:rotate(100deg)}.match-start-orbit-outer{opacity:.07;border-radius:0;width:600px;max-width:140vw;transform:rotate(45deg)}.match-start-edge{background:linear-gradient(90deg,transparent,var(--start-accent) 30%,#fff5d5 52%,var(--start-accent) 75%,transparent);width:110%;height:1px;box-shadow:0 0 8px color-mix(in srgb,var(--start-accent),transparent 55%);animation:1.4s both match-start-edge;position:absolute;left:-5%;transform:rotate(-4deg)}.match-start-edge-top{top:0}.match-start-edge-bottom{animation-direction:reverse;bottom:0}.match-start-sweep{z-index:3;background:linear-gradient(90deg,#0000,#f8f9d614,#0000);width:17%;animation:1.4s ease-out both match-start-sweep;position:absolute;inset:-20% auto -20% -30%;transform:skew(-26deg)}.match-start-sparks{width:100%;height:100%;stroke:var(--start-accent);stroke-width:1.2px;animation:1.4s ease-out both match-start-sparks;position:absolute;inset:0}.match-start[data-hidden=true],.match-start[data-hidden=true] *{animation-play-state:paused!important}@keyframes match-start-envelope{0%{opacity:0}8%,82%{opacity:1}to{opacity:0}}@keyframes match-start-band{0%{opacity:0;transform:translate(-25%)skewY(-4deg)scaleX(.3)}18%,82%{opacity:1;transform:translate(0)skewY(-4deg)scaleX(1)}to{opacity:0;transform:translate(9%)skewY(-4deg)scaleX(1.08)}}@keyframes match-start-letter{0%,10%{opacity:0;transform:translateY(24px)scale(1.22)}30%,83%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(1.035)}}@keyframes match-start-caption{0%,24%{opacity:0;transform:translateY(5px)}40%,82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes match-start-orbit{0%{opacity:0;transform:rotate(-35deg)scale(.85)}30%,80%{opacity:.16}to{opacity:0;transform:rotate(8deg)scale(1.08)}}@keyframes match-start-edge{0%{opacity:0;transform:translate(-70%)rotate(-4deg)}26%,78%{opacity:.8;transform:translate(0)rotate(-4deg)}to{opacity:0;transform:translate(35%)rotate(-4deg)}}@keyframes match-start-portrait{0%,10%{opacity:0;transform:translate(32px)}36%,80%{opacity:.28;transform:translate(0)}to{opacity:0;transform:translate(-6px)}}@keyframes match-start-sweep{0%,25%{opacity:0;transform:translate(0)skew(-26deg)}35%{opacity:1}76%,to{opacity:0;transform:translate(850%)skew(-26deg)}}@keyframes match-start-sparks{0%,12%{opacity:0;transform:scale(.8)}30%{opacity:.6}85%,to{opacity:0;transform:scale(1.12)}}@media (max-width:480px){.match-start-stage{height:290px}.match-start-portrait{opacity:.18;width:195px;right:-24px}.match-start-title{gap:.07em}.match-start-kicker{margin-bottom:20px}.match-start-caption{margin-top:18px}}@media (max-height:420px){.match-start-stage{height:210px}.match-start-title{font-size:62px}.match-start-kicker,.match-start-caption{margin:6px 0}}.match-start[data-reduced=true]{animation:.3s both match-start-quiet}.match-start[data-reduced=true] *{animation:none!important}.match-start[data-reduced=true] .match-start-sweep,.match-start[data-reduced=true] .match-start-sparks{display:none}@keyframes match-start-quiet{0%{opacity:0}30%,75%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.match-start{animation:.3s both match-start-quiet}.match-start *{animation:none!important}.match-start-sweep,.match-start-sparks{display:none}}:root{color:#183034;font-synthesis:none;--ink:#102c30;--green:#11645c;--wood:#efcf91;--line:#ad854c;background:#f3f5f6;font-family:Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.5}body{margin:0}button,select{font:inherit}button{cursor:pointer;color:var(--ink);background:#fff;border:1px solid #cbd4d5;border-radius:8px;min-height:44px;padding:10px 15px;font-weight:600}button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e27922}button:hover:not(:disabled){background:#eaf3f0}.primary{background:var(--green);color:#fff;border-color:var(--green)}a{color:inherit}main{max-width:1100px;margin:auto;padding:0 32px}header{border-bottom:1px solid #d3dddd;justify-content:space-between;align-items:center;margin-bottom:26px;padding:24px 0;display:flex}.brand{letter-spacing:-1px;font-family:Georgia,serif;font-size:26px;font-weight:700;text-decoration:none}.brand span{letter-spacing:0;background:var(--ink);color:#fff;vertical-align:middle;border-radius:4px;margin-left:4px;padding:3px 6px;font-family:system-ui;font-size:13px}.dev-label{color:#587174;font-size:13px}.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:40px;display:grid}.play-area{min-width:0;max-width:620px}.game-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.eyebrow{letter-spacing:.1em;color:#607878;margin:0 0 6px;font-size:12px;font-weight:700}h1{margin:0;font-size:26px;font-weight:650}h2{margin:0 0 20px;font-size:20px}.move-count{color:#647b7c;font-size:14px}.move-count b{color:var(--ink);font-size:26px;font-weight:500}.hand{flex-wrap:wrap;align-items:center;gap:10px;min-height:57px;padding:8px 0;display:flex}.hand-title{min-width:76px;font-size:14px;font-weight:700}.hand-title small{color:#68797a;font-size:12px}.hand-pieces{flex-wrap:wrap;gap:5px;display:flex}.hand-pieces button{min-height:35px;padding:4px 8px;font-family:Yu Mincho,MS PMincho,serif;font-size:20px}.hand-pieces small{margin-left:3px;font:12px system-ui}.board-wrap{background:#d1a76e;border-radius:4px;padding:8px 10px 10px;box-shadow:0 5px #9a713e,0 10px 22px #16353819}.file-labels{text-align:center;color:#583e1e;grid-template-columns:repeat(9,1fr);padding-bottom:5px;font-size:12px;display:grid}.board{aspect-ratio:1/1.04;background:#8e6b3f;border:1px solid #81623d;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px;display:grid}.square{aspect-ratio:1/1.04;background:var(--wood);color:#282117;touch-action:manipulation;border:0;border-radius:0;justify-content:center;align-items:center;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.square:disabled{opacity:1}.square:hover:not(:disabled){background:#f4dcae}.piece{z-index:1;font-family:Yu Mincho,MS PMincho,serif;font-size:clamp(20px,3.5vw,34px);font-weight:700;line-height:1;display:block;position:relative}.square.last{background:#e2b975}.square.selected,.hand-pieces .selected{background:#f7b859;box-shadow:inset 0 0 0 3px #8a4f09}.square.target i{background:#215c48c0;border-radius:50%;width:11px;height:11px;position:absolute;bottom:3px;right:3px}.square.check{box-shadow:inset 0 0 0 3px #b2332c}.status{align-items:flex-start;gap:10px;min-height:78px;padding:15px 0 10px;display:flex}.status-dot{background:#237b6a;border-radius:50%;flex:none;width:9px;height:9px;margin-top:7px}.thinking .status-dot,.loading .status-dot{background:#d38b28;animation:1.2s infinite pulse}.error .status-dot{background:#be3030}.status p{color:#567074;margin:4px 0 0;font-size:13px}.primary-actions{gap:8px;display:flex}.primary-actions button:first-child{flex:1}.settings-panel,.small-panel{background:#fff;border:1px solid #dce3e3;border-radius:12px;margin-bottom:16px;padding:22px}.settings-panel label{margin-bottom:15px;font-size:14px;font-weight:600;display:block}select{width:100%;color:var(--ink);background:#fff;border:1px solid #bbc9ca;border-radius:6px;min-height:44px;margin-top:5px;padding:10px;display:block}.settings-panel>.primary,.small-panel>button{width:100%}.note{color:#5e7376;margin:12px 0 0;font-size:13px}.small-panel h2{margin-bottom:6px;font-size:16px}.small-panel .note{margin-bottom:14px}.save-note{color:#5f7a74;margin:10px 0 0;font-size:12px}.error-text{color:#aa2929;font-size:14px}.model-note{color:#65777a;padding:0 4px;font-size:12px}.diagnostics{border-top:1px solid #cbd6d7;border-bottom:1px solid #cbd6d7;margin-top:28px}.diagnostics summary{cursor:pointer;padding:17px 0;font-size:14px;font-weight:600}.diagnostics summary span{color:#537c71;margin-left:8px;font-size:12px;font-weight:400}.diagnostic-content{min-width:0;padding:0 0 20px}dl{grid-template-columns:150px minmax(0,1fr);gap:12px;font-size:13px;display:grid}dt{color:#60797b}dd{overflow-wrap:anywhere;margin:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,Consolas,monospace;font-size:12px}.engine-log{color:#cce5dd;background:#142e32;border-radius:8px;max-height:300px;padding:15px;overflow:auto}.diagnostic-actions{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.diagnostic-actions button{font-size:13px}footer{color:#688080;flex-wrap:wrap;gap:16px;padding:22px 0 30px;font-size:12px;display:flex}.modal-backdrop{z-index:20;background:#0b222ba8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(100%,440px);padding:28px;box-shadow:0 20px 80px #001c3955}.modal p{font-size:14px}.modal>div{flex-wrap:wrap;gap:9px;display:flex}.modal h2{font-size:20px}.modal button{white-space:nowrap;flex:1}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}@media (max-width:800px){main{max-width:650px;padding:0 20px}.workspace{grid-template-columns:1fr;gap:25px}.play-area{max-width:none}aside{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings-panel{grid-row:span 2}.settings-panel,.small-panel{margin:0;padding:18px}.model-note{margin:0}.piece{font-size:clamp(24px,5.5vw,36px)}header{margin-bottom:20px;padding:18px 0}.diagnostics{margin-top:22px}}@media (max-width:440px){main{padding:0 12px}.brand{font-size:23px}.dev-label{font-size:11px}header{margin-bottom:15px;padding:14px 0}h1{font-size:23px}.board-wrap{padding:5px 6px 6px}.file-labels{padding-bottom:3px}.hand{gap:7px;min-height:52px;padding:7px 0}.hand-title{min-width:65px;font-size:13px}.piece{font-size:clamp(21px,6.5vw,29px)}.hand-pieces{gap:3px}.hand-pieces button{padding:2px 6px}.status{min-height:72px}aside{display:block}.settings-panel,.small-panel{margin-bottom:12px}.model-note{margin:16px 0}.settings-panel h2{margin-bottom:14px}dl{grid-template-columns:1fr;gap:5px}dd{margin-bottom:12px}.square.target i{width:8px;height:8px;bottom:2px;right:2px}.diagnostic-actions button{flex:1}.modal{padding:22px}}.file-input input{max-width:100%;margin-top:6px;font-size:12px;display:block}.export-position{margin:10px 0 16px;font-size:12px}.eyebrow{overflow-wrap:anywhere}.game-top>div{min-width:0}.move-count{flex-shrink:0;margin-left:8px}aside,select{min-width:0}select{max-width:100%}.share-dialog{color:#203331;box-sizing:border-box;background:#fffdf7;border:1px solid #c4cdc7;border-radius:16px;width:min(760px,100vw - 24px);max-width:760px;max-height:calc(100dvh - 24px);padding:20px;overflow:auto}.share-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-heading h2{margin:0;font-size:1.2rem}.share-dialog .note{overflow-wrap:anywhere}.share-options,.share-buttons{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.share-dialog label{min-width:0;display:block}.share-dialog input:not([type=checkbox]),.share-dialog textarea{box-sizing:border-box;width:100%;max-width:100%;padding:9px;font-size:16px;display:block}.share-dialog input[type=checkbox]{width:auto}.share-preview img{width:100%;height:auto;display:block}.share-preview figcaption{color:#50645d;font-size:12px}.share-buttons button{white-space:normal;max-width:100%}.share-dialog [role=status]{overflow-wrap:anywhere}input{font:inherit;color:inherit;min-width:0;max-width:100%}input:not([type=checkbox]):not([type=file]){background:#fff;border:1px solid #bbc9ca;border-radius:6px;width:100%;min-height:44px;padding:9px}input:focus-visible{outline-offset:2px;outline:3px solid #e27922}fieldset{background:#fff;border:1px solid #d6e1de;border-radius:10px;min-width:0;margin:0 0 15px;padding:14px}legend{padding:0 5px;font-size:14px;font-weight:700}.editor-nav,.edit-toolbar,.editor-actions,.tool-buttons,.palette-sides{flex-wrap:wrap;gap:8px;display:flex}.editor-nav{margin-bottom:12px}.editor-nav button[aria-current=page],button[aria-pressed=true]{background:#d8e9dc;border-color:#3c7162}.editor-title{justify-content:space-between;align-items:center;gap:15px;margin:24px 0;display:flex}.editor-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.edit-toolbar{margin-bottom:12px}.edit-toolbar button{padding:8px 12px;font-size:13px}.edit-board-area{min-width:0;position:sticky;top:12px}.piece-count{overflow-wrap:anywhere;font-size:13px}.editor-validation{background:#e5ebe9;border-radius:10px;padding:13px;font-size:14px}.editor-validation.terminal{background:#f9e7bb}.editor-validation small{margin-top:6px;display:block}.preset{margin-top:18px}.preset button{margin-top:10px}.preset small{margin-top:6px;font-size:12px;display:block}.tool-buttons button{flex:1;padding:8px;font-size:13px}.palette-sides button{flex:1}.piece-palette{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:10px 0;display:grid}.piece-palette button{padding:4px;font-size:21px}.inline-label{align-items:center;gap:8px;min-height:44px;font-size:14px;display:flex}.inline-label input{width:20px;height:20px}.hand-editor{grid-template-columns:1fr 1fr;gap:7px 12px;display:grid}.hand-number{grid-template-columns:20px 32px minmax(40px,1fr) 32px;align-items:center;gap:3px;min-width:0;display:grid}.hand-number button{min-height:40px;padding:0}.hand-number input:not([type=checkbox]){text-align:center;font-variant-numeric:tabular-nums;padding:5px 2px;font-size:16px}.hand-number span{font-weight:700}.editor-save-panel,.editor-bottom{background:#fff;border:1px solid #d6e1de;border-radius:12px;margin-top:20px;padding:20px}.editor-save-panel label,.editor-bottom label{font-size:14px;font-weight:600;display:block}.editor-save-panel input{margin-top:5px}.editor-settings{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.editor-actions{margin-top:16px}.editor-bottom{gap:15px;display:grid}.editor-bottom .primary{min-height:50px}.saved-card{background:#fff;border:1px solid #d6e1de;border-radius:12px;grid-template-columns:115px minmax(0,1fr);gap:12px;min-width:0;padding:16px;display:grid}.mini-board{aspect-ratio:1;background:#efcf91;border:1px solid #ad854c;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);align-self:start;display:grid}.mini-board span{border-bottom:1px solid #ad854c80;border-right:1px solid #ad854c80;place-items:center;font-size:10px;line-height:1;display:grid}.reverse{transform:rotate(180deg)}.saved-info{min-width:0}.saved-info p{overflow-wrap:anywhere;margin:4px 0;font-size:12px}.conflict-box{background:#fff3d8;border:1px solid #c49035;border-radius:8px;margin:14px 0;padding:12px}.conflict-box button{margin:3px}.workspace-navigation{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.edit-controls button{max-width:100%}@media (max-width:900px){.hand-editor{grid-template-columns:1fr}.hand-number{grid-template-columns:24px 38px minmax(45px,1fr) 38px}}@media (max-width:800px){.editor-layout{grid-template-columns:1fr;gap:15px}.edit-board-area{position:static}.edit-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;display:grid}.edit-controls>fieldset:first-child,.edit-controls>fieldset:nth-child(2){grid-column:1/-1}.edit-controls fieldset{margin:0}.saved-grid{grid-template-columns:1fr}.editor-title{flex-wrap:wrap}.editor-nav button{padding:8px 10px;font-size:13px}.editor-save-panel,.editor-bottom{padding:15px}}@media (max-width:440px){.edit-controls{grid-template-columns:1fr}.edit-controls>fieldset{grid-column:1/-1}.hand-editor{grid-template-columns:1fr 1fr}.hand-number{grid-template-columns:16px 26px minmax(34px,1fr) 26px;gap:2px}.hand-number button{min-height:44px;font-size:15px}.piece-palette{gap:3px}.piece-palette button{min-height:44px;font-size:20px}.editor-actions button{flex:45%;font-size:13px}.saved-card{grid-template-columns:100px minmax(0,1fr);padding:12px}.editor-settings{gap:8px}.editor-validation{font-size:13px}.tool-buttons button{min-width:70px}.editor-title{margin-top:16px}.hand-editor{gap:8px;padding:10px}.edit-board .piece{font-size:clamp(20px,6.4vw,29px)}}.challenge-nav{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.challenge-nav a{color:inherit;background:#fff;border:1px solid #d8d5cb;border-radius:8px;padding:8px;text-decoration:none}.challenge-panel{background:#fff;border-radius:16px;min-width:0;margin:16px 0;padding:20px}.challenge-panel label{gap:6px;margin:12px 0;display:grid}.challenge-panel input,.challenge-panel textarea,.challenge-panel select{box-sizing:border-box;width:100%;min-width:0;font:inherit;border:1px solid #bdb9ac;border-radius:6px;padding:10px}.challenge-panel textarea{min-height:90px}.challenge-card{overflow-wrap:anywhere;background:#fff;border:1px solid #d8d5cb;border-radius:12px;padding:18px}.challenge-card h2{font-size:1.2rem}.challenge-card button,.challenge-actions button{margin:4px}.challenge-detail{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;display:grid}.challenge-detail .mini-board{aspect-ratio:1;width:100%}.challenge-detail .mini-board span{font-size:clamp(12px,4vw,22px)}.challenge-content{white-space:pre-wrap;overflow-wrap:anywhere}.challenge-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.challenge-banner{overflow-wrap:anywhere;background:#eef5ee;border-left:4px solid #537d5a;padding:12px}.challenge-panel fieldset[disabled]{opacity:.75}.revision-list{gap:12px;display:grid}.revision-row{overflow-wrap:anywhere;border:1px solid #ccc;border-radius:8px;padding:12px}@media (max-width:600px){.challenge-detail,.challenge-meta{grid-template-columns:minmax(0,1fr)}.challenge-panel{padding:12px}.challenge-nav{gap:6px}}.challenge-side-summary{color:#243d55;background:linear-gradient(115deg,#fffdf7,#f8f3e7);border:1px solid #decda3;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin:10px 0 16px;padding:12px 15px;display:flex}.challenge-side-summary strong{color:#124d7c;margin-inline:10px;font-size:20px}.detail-copy.challenge-story{isolation:isolate;background:#edf8ff url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='640'%20height='520'%20viewBox='0%200%20640%20520'%20fill='none'%3e%3cdefs%3e%3clinearGradient%20id='sky'%20x1='600'%20y1='0'%20x2='110'%20y2='490'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23c4e7fc'/%3e%3cstop%20offset='.4'%20stop-color='%23e7f5ff'/%3e%3cstop%20offset='.75'%20stop-color='%23f4fbff'/%3e%3cstop%20offset='1'%20stop-color='%23d4ebfa'/%3e%3c/linearGradient%3e%3cradialGradient%20id='light'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(100%2080)%20rotate(30)%20scale(400%20270)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3clinearGradient%20id='cloud'%20x1='340'%20y1='100'%20x2='630'%20y2='190'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='.4'%20stop-color='white'%20stop-opacity='.75'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='.96'/%3e%3c/linearGradient%3e%3clinearGradient%20id='edge'%20x1='0'%20y1='400'%20x2='380'%20y2='510'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%238dcaf1'%20stop-opacity='.45'/%3e%3cstop%20offset='1'%20stop-color='%23bfe3f9'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20fill='url(%23sky)'%20d='M0%200h640v520H0z'/%3e%3cpath%20fill='url(%23light)'%20d='M0%200h640v520H0z'/%3e%3cpath%20d='M326%20119c32-11%2061-8%2083-3%2010-28%2039-44%2070-34%206-41%2041-58%2072-43%2029-20%2076-16%20100%2012%2037%2039%2025%2089-15%20107-27%2012-44%200-72%203-29%204-54%2022-85%2015-27-7-39-28-67-28-33%200-54%2012-78%205-20-7-23-25-8-34Z'%20fill='url(%23cloud)'/%3e%3cpath%20d='M434%20149c25-7%2041-4%2057%201%2011-20%2027-30%2053-24%2015-29%2045-36%2069-21%2016-8%2027-8%2039-3'%20stroke='white'%20stroke-opacity='.75'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cpath%20d='M-42%20366c60%200%2089%2035%20129%2052%2065%2028%20121%2021%20175%2057%2032%2021%2074%2046%20128%2045H0Z'%20fill='url(%23edge)'/%3e%3cpath%20d='M-18%20420c15-24%2042-29%2064-9%2020-6%2048%205%2052%2028%2034-6%2063%209%2075%2034%2027-4%2067%2017%2081%2047H0Z'%20fill='white'%20fill-opacity='.58'/%3e%3cpath%20d='M-24%20451c21-16%2036-14%2054-2%2016-9%2041-4%2051%2011%2030-9%2054%202%2062%2023%2026%200%2050%209%2060%2033'%20stroke='white'%20stroke-opacity='.8'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cpath%20d='M555-10c-38%2063-66%2084-123%20118M581-5c-24%2037-42%2057-62%2072'%20stroke='white'%20stroke-opacity='.28'%20stroke-width='2'/%3e%3c/svg%3e") 50%/cover no-repeat;border:1px solid #cce5f4;border-radius:14px;padding:0;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;position:relative;box-shadow:0 5px 20px #2e77a810,inset 0 0 0 1px #ffffffb0}.challenge-story-heading{background:0 0;border:0;border-radius:13px 13px 0 0;justify-content:space-between;align-items:center;gap:12px;min-height:132px;margin:0;padding:20px 22px 0;display:flex;position:relative}.challenge-story-heading:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#9bc4df66 12%,#6d9fbe99 64% 91%,#0000);border-radius:50%;height:2px;position:absolute;bottom:1px;left:22px;right:12px;box-shadow:0 1px #ffffff80}.challenge-story-heading>div{min-width:0;padding-bottom:17px}.challenge-story-caption{color:#4e7a98;letter-spacing:.12em;margin-bottom:7px;font-size:11px;line-height:1.6;display:block}.challenge-story .challenge-story-heading h2{color:#155582;letter-spacing:.04em;margin:0;font-family:inherit;font-size:24px;font-weight:700;line-height:1.5;position:relative}.challenge-story-heading h2 span{width:-moz-fit-content;width:fit-content;display:block}.challenge-story-character{object-fit:contain;object-position:center bottom;flex:0 0 118px;align-self:end;width:118px;height:118px;display:block}.challenge-story-body{padding:18px 22px 22px}.detail-copy.challenge-story .challenge-story-body>p{color:#34536b;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.95}.challenge-video-link{color:#175d91;background:linear-gradient(#fff,#fafdff);border:1px solid #c2dbed;border-radius:9px;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 2px 4px #2866910c}.challenge-video-link:hover{background:linear-gradient(#fff,#e5f3ff);border-color:#6199c5;box-shadow:0 3px 7px #1a55881a}.challenge-video-link:focus-visible{outline-offset:4px;outline:3px solid #237cba}.challenge-video-icon{flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.challenge-video-icon svg{width:34px;height:26px;display:block}.challenge-video-icon rect{fill:#e53635}.challenge-video-icon path{fill:#fff}.challenge-video-copy{gap:2px;min-width:0;display:grid}.challenge-video-copy small{color:#5e748a;font-size:11px;font-weight:400;line-height:1.5}.challenge-video-copy strong{overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.6}.challenge-video-arrow{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px;width:18px;height:18px;margin-left:auto}.challenge-video-guide{color:#52667b;font-size:12px;font-weight:400;line-height:1.7}@media (max-width:380px){.challenge-story-heading{gap:8px;min-height:130px;padding:16px 17px 0}.challenge-story .challenge-story-heading h2{font-size:22px}.challenge-story-character{flex-basis:110px;width:110px;height:110px}.challenge-story-heading:after{left:17px;right:10px}.challenge-story-body{padding:18px 17px 20px}.detail-copy.challenge-story .challenge-story-body>p{font-size:14px}.challenge-video-link{gap:8px;padding:11px 10px}.challenge-video-icon{flex-basis:30px;width:30px}.challenge-video-icon svg{width:30px}.challenge-video-copy strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.challenge-video-link{transition:none}}:root{color:#101e37;font-synthesis:none;--ink:#101e37;--blue:#0065d8;--gold:#dcb35d;--paper:#fffcf3;--wood:#edc474;background:#f8f7f2;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#fffdf7cc,#fffdf7cc),#f8f7f2;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}button{min-height:42px;color:var(--ink);cursor:pointer;background:linear-gradient(#fff,#fbfbfb);border:1px solid #dfdfdf;border-radius:9px;padding:10px 16px;font-weight:700;box-shadow:0 3px 6px #10213e12}button:hover:not(:disabled){filter:brightness(1.04);border-color:#77a9e4}button:disabled{cursor:not-allowed;opacity:.48}a{color:#005bcc;text-underline-offset:5px}h1,h2,h3{color:#071a34;line-height:1.5}h1{letter-spacing:.025em;margin:14px 0 5px;font-size:clamp(23px,3vw,34px)}h2{font-size:20px}p{line-height:1.8}label{font-weight:600}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #d5dce2;border-radius:8px;min-width:0;max-width:100%;padding:10px}input[type=checkbox]{width:auto}input[type=file]{white-space:normal;font-size:13px}fieldset{border:1px solid #e6e1d7;border-radius:9px;min-width:0;padding:12px}legend{font-weight:700}small,.note{color:#536077;font-size:12px;line-height:1.7}.primary,button.primary,.challenge-start,.challenge-go{color:#fff;background:radial-gradient(at 85% 120%,#2fa8ec55 0,#0000 55%),linear-gradient(115deg,#079dee,#0060cc 48%,#007ee2);border:1px solid #48c1fa;font-weight:800;box-shadow:inset 0 1px 1px #ffffffb0,inset 0 -3px 7px #004db777,0 4px 8px #00479220}.sora-page,main{isolation:isolate;background-color:#fffdf7;background-image:none,none,none,radial-gradient(at 20% 35%,#fff 20%,#fffaf000 70%);background-position:0 100%,right 85px,bottom,50%;background-repeat:no-repeat;background-size:170px,110px,100% 130px,cover;max-width:1080px;min-height:100vh;margin:0 auto;padding:0 28px 70px;position:relative}.sora-page:before,main:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 0 63%,#0000 0 22px,#eabf5e22 23px 24px,#0000 25px) 0 0/92px 57px;border:1px solid #e6c97970;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 12% 88%,#000);mask-image:linear-gradient(90deg,#000,#0000 12% 88%,#000)}.sora-header{background:#ffffffec;border:0;border-bottom:1px solid #e8dec9;justify-content:space-between;align-items:center;gap:12px;height:80px;margin:0 -28px 22px;padding:12px 28px;display:flex;box-shadow:0 2px 4px #bd984914}.sora-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-avatar{object-fit:contain;width:44px;height:44px}.brand-word{object-fit:contain;width:146px;height:56px}.header-actions{align-items:center;gap:12px;display:flex}.back-link{white-space:nowrap;font-size:13px;font-weight:700;text-decoration:none}.sora-menu{z-index:15;position:relative}.sora-menu>button{color:#064693;background:#fff;border-color:#b5cdea;min-height:38px;padding:7px 12px;font-size:14px}.sora-menu nav{background:#fffefa;border:1px solid #e2c479;border-radius:12px;gap:2px;width:260px;max-width:calc(100vw - 28px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 28px #12325826}.sora-menu nav a{color:#18395d;border-radius:6px;padding:11px 12px;font-size:14px;text-decoration:none}.sora-menu nav a:hover{background:#edf6ff}.sora-footer{border:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:16px;padding:22px 0 0;font-size:13px;display:flex}.release-label{text-align:center;color:#6a7079;overflow-wrap:anywhere;background:#f5f4ee;font:11px/1.4 monospace;margin:0!important;padding:7px 12px!important}.challenge-nav{display:none}.error-text{color:#a72d20;overflow-wrap:anywhere;background:#fff4f1;border:1px solid #df9b8c;border-left:4px solid #b84533;border-radius:8px;padding:12px}.empty-state{text-align:center;background:#fffffff0;border:1px solid #ede3cf;border-radius:12px;padding:40px 20px}.page-intro{margin:0 0 22px}.page-meta{color:#536077;margin:0 0 22px;font-size:14px}.eyebrow{color:#52647a;letter-spacing:0;font-size:12px}.dev-label{color:#596575;background:0 0;border:0;padding:0;font-size:12px}.home-page{background-size:145px,0,100% 120px,cover;max-width:780px;padding:0 38px 42px}.home-hero{background:0 0/38px 220px no-repeat,0 100%/120px no-repeat,bottom/85% 78px no-repeat,radial-gradient(at 70% 38%,#fff 0 4%,#0000 25%),linear-gradient(#7dceff,#eaf8ff 66%,#fffef6);align-items:center;gap:18px;height:314px;margin:0 -38px;padding:36px 100px 42px 65px;display:flex;position:relative;overflow:hidden}.home-hero:before{content:"";pointer-events:none;background:radial-gradient(at 6% 26%,#fff 0 5%,#0000 6%),radial-gradient(at 52% 5%,#fff 0 6%,#0000 8%),radial-gradient(at 84% 18%,#fff 0 6%,#0000 7%);position:absolute;inset:0}.hero-avatar{z-index:1;filter:drop-shadow(0 2px 3px #b3845260);width:32%;max-width:220px}.hero-brand{z-index:1;flex:1;min-width:0}.hero-brand h1{margin:0}.hero-brand h1 img{width:100%;display:block}.hero-brand p{text-align:center;white-space:nowrap;margin:8px -4px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(12px,1.7vw,18px);font-weight:700}.hero-scroll{width:auto;height:298px;position:absolute;top:0;right:8px}.home-menu{z-index:5;position:absolute;bottom:4px;right:14px}.home-menu .sora-menu>button{min-height:28px;padding:4px 8px;font-size:12px}.home-menu .sora-menu nav{top:auto;bottom:34px}.home-entries{z-index:2;position:relative}.entry-button{border:3px solid #8adcff;border-radius:20px;align-items:center;gap:20px;width:100%;min-height:133px;padding:13px 27px 13px 14px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #fff8,inset 0 -4px 12px #082f5355,0 5px 9px #102e5129}.entry-button:after{content:"";pointer-events:none;background:repeating-radial-gradient(at 3% 110%,#0000 0 12px,#e2b85b33 13px 15px,#0000 16px 29px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 36% 65%,#000);mask-image:linear-gradient(90deg,#000,#0000 36% 65%,#000)}.entry-blue{color:#fff;background:linear-gradient(125deg,#049df0,#035bc7 50%,#00478c)}.entry-red{color:#fff;background:linear-gradient(120deg,#ed293a,#c70d27 56%,#a90c23);border-color:#f09c97;margin-top:19px}.entry-button>img{object-fit:contain;z-index:1;mix-blend-mode:normal;width:100px;height:106px;position:relative}.entry-button>span:not(.coming){z-index:1;flex:1;min-width:0;position:relative}.entry-button strong{letter-spacing:.02em;font-size:clamp(20px,2.5vw,29px);line-height:1.5;display:block}.entry-button small{color:inherit;margin-top:6px;font-size:14px;font-weight:500;line-height:1.6;display:block}.round-arrow{color:#034aaa;background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;font:42px/1 serif;display:grid;box-shadow:0 3px 6px #00235860}.entry-red .round-arrow{color:#af172a}.past-link{text-align:center;margin:15px auto 20px;font-size:16px;font-weight:700;display:block}.entry-soon{color:#535c6b;background:linear-gradient(110deg,#b2b8c1,#d1d4d9 55%,#b8bdc6);border-color:#dce0e4;min-height:117px;margin-top:18px;box-shadow:inset 0 0 0 2px #ffffff80,0 3px 6px #19283a16}.entry-soon>img{filter:grayscale();height:97px}.entry-soon strong{font-size:25px}.entry-soon small{font-size:13px}.coming{letter-spacing:.05em;white-space:nowrap;background:#f4f4f680;border-radius:40px;padding:9px 13px;font:13px/1.3 Georgia,serif}.board-wrap,.preview-wood{background:repeating-linear-gradient(91deg,#ffdd9535 0 3px,#0000 4px 15px),linear-gradient(105deg,#e4ac4e,#fbd992 24%,#edbf6c 65%,#ffd894);border:1px solid #edc783;border-radius:7px;width:100%;max-width:100%;padding:24px 22px 14px 12px;position:relative;box-shadow:inset 0 0 10px #fff9,0 4px 8px #8b641825}.file-labels{color:#322006;text-align:center;grid-template-columns:repeat(9,1fr);font:12px/18px Yu Mincho,MS Mincho,serif;display:grid;position:absolute;top:4px;left:12px;right:22px}.rank-labels{text-align:center;color:#322006;grid-template-rows:repeat(9,1fr);align-items:center;width:18px;font:12px Yu Mincho,serif;display:grid;position:absolute;top:24px;bottom:14px;right:2px}.board{box-shadow:none;aspect-ratio:9/9.5;background:0 0;border:1px solid #79603a;border-radius:0;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;width:100%;padding:0;display:grid}.square{aspect-ratio:auto;width:100%;min-width:0;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #9c7948;border-top:0;border-left:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative;opacity:1!important}.square:nth-child(9n){border-right:0}.square:nth-last-child(-n+9){border-bottom:0}.square:disabled{color:inherit;cursor:default}.square:hover:not(:disabled){background:#fff3;border-color:#9c7948}.piece{clip-path:polygon(50% 0,86% 18%,100% 94%,50% 100%,0 94%,14% 18%);color:#211b10;text-shadow:0 1px #fff9;filter:drop-shadow(1px 2px 1px #76572e99);background:linear-gradient(110deg,#ffedbb,#f5d28c 72%,#dbac61);justify-content:center;align-items:center;width:79%;max-width:none;height:87%;padding-top:7%;font:800 clamp(18px,3.2vw,37px)/1 Yu Mincho,Hiragino Mincho ProN,MS Mincho,serif;display:flex;position:relative;transform:none}.piece:empty{display:none}.piece.opponent{transform:rotate(180deg)}.piece.promoted{color:#aa231c}.square.selected{outline-offset:-3px;z-index:2;background:#eef7ffaa;outline:3px solid #005ce0}.square.last{background:#e58b334d;box-shadow:inset 0 0 0 2px #aa6029}.square.last-from{background:#eedf98aa;box-shadow:inset 0 0 0 2px #c0863d}.square.target i{z-index:3;background:#0564cc;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:3px;right:3px;box-shadow:0 0 0 1px #0068bd}.square.check{outline-offset:-3px;background:#ffc3aa;outline:3px dashed #b61520}.mini-board{aspect-ratio:9/9.5;background:0 0;border:1px solid #987844;grid-template-columns:repeat(9,1fr);gap:0;width:100%;padding:0;display:grid}.mini-board>span{min-width:0;min-height:0;font-size:inherit;border-bottom:1px solid #b58b49;border-right:1px solid #b58b49;justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.mini-board>span:nth-child(9n){border-right:0}.mini-board>span:nth-last-child(-n+9){border-bottom:0}.mini-board .piece{font-size:clamp(14px,2.5vw,29px)}.position-preview{min-width:0}.position-preview.compact .preview-wood{border-radius:4px;padding:7px 5px 4px}.position-preview.compact .file-labels{font-size:5px;line-height:7px;top:0;left:5px;right:5px}.position-preview.compact .rank-labels{display:none}.position-preview.compact .piece{font-size:9px}.preview-hands{overflow-wrap:anywhere;padding:8px 3px;font-size:12px;line-height:1.6}.preview-hands p{margin:3px 0}.preview-hands b{margin-right:5px}.detail-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:28px;max-width:890px;margin:auto;display:grid}.detail-layout .preview-wood{max-width:475px}.detail-copy{background:#fffefded;border:1px solid #e5e5e0;border-radius:10px;padding:20px;box-shadow:0 3px 5px #182c4720}.detail-copy h2{margin:0 0 10px;font-size:19px}.detail-copy p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}.video-link{background:#fff;border:1px solid #e4e5e9;border-radius:8px;justify-content:space-between;align-items:center;gap:7px;padding:11px 8px;font-size:13px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 2px 4px #122b4020}.video-icon{color:#fff;background:#ed1421;border-radius:5px;padding:0 7px;line-height:21px}.detail-options{padding:10px 0}.detail-options h2{margin-bottom:9px;font-size:18px}.side-toggle{display:flex}.side-toggle button{color:#0750ac;background:#fff;border-color:#b3cff2;border-radius:0;flex:1;min-height:50px}.side-toggle button:first-child{border-radius:8px 0 0 8px}.side-toggle button:last-child{border-radius:0 8px 8px 0}.side-toggle button[aria-pressed=true]{color:#fff;background:linear-gradient(#079cf0,#005ecb);box-shadow:inset 0 1px 2px #fff7}.detail-options>label{justify-content:space-between;align-items:center;gap:12px;margin:16px 0 6px;font-size:13px;display:flex}.detail-options select{max-width:235px;font-size:13px}.challenge-start{border-radius:13px;width:86%;min-height:58px;margin:23px auto 16px;padding:17px;font-size:20px;display:block}.archive-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;display:flex}.archive-toolbar label{align-items:center;gap:8px;font-size:12px;display:flex}.category-tabs{gap:6px;margin:20px 0 14px;display:flex}.category-tabs button{box-shadow:none;white-space:nowrap;background:#e6e8eb;border:0;border-radius:8px 8px 0 0;flex:1;min-width:0;padding:9px 6px;font-size:13px}.category-tabs button[aria-selected=true]{color:#fff;background:linear-gradient(#0051aa,#003d8b)}.category-tabs button:disabled{opacity:1;color:#5c6472}.challenge-list{grid-template-columns:1fr;gap:10px;display:grid}.challenge-card{overflow-wrap:anywhere;background:linear-gradient(120deg,#fff,#f9f9fa);border:1px solid #e6e7e6;border-radius:10px;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:20px;padding:9px 16px 9px 10px;display:grid;box-shadow:0 2px 6px #1227440a}.challenge-card h2{margin:5px 0;font-size:18px;line-height:1.55}.challenge-card p{color:#4f5e71;margin:0;font-size:13px}.challenge-go{white-space:nowrap;border-radius:6px;padding:14px 18px;font-size:14px;text-decoration:none}.thumbnail-pending{color:#78684c;background:#faf5e9;border:1px solid #e6d2ac;border-radius:6px;place-items:center;height:115px;font-size:11px;display:grid}.pagination{justify-content:center;align-items:center;gap:18px;margin:23px 0;display:flex}.pagination span{color:#5d6775;font-size:13px}.play-page{max-width:1040px}.play-page .workspace{display:block}.play-page .play-area{box-shadow:none;background:0 0;border:0;min-width:0;padding:0}.play-page .game-top{background:0 0;justify-content:space-between;align-items:center;max-width:820px;margin:0 auto 10px;padding:0;display:flex}.game-top h1{margin:0;font-size:21px}.game-top .eyebrow{margin:0}.move-count{color:#243952;background:#fff9;border:1px solid #e6d6b6;border-radius:7px;padding:6px 12px;font-size:12px}.move-count b{font-size:21px}.game-arena{grid-template-columns:135px minmax(0,1fr) 135px;align-items:start;gap:20px;display:grid}.player-panel{text-align:center;min-width:0;padding-top:8px}.player-panel h2{white-space:nowrap;margin:0 0 12px;font-size:14px}.player-avatar{object-fit:contain;border-radius:50%;width:80px;height:80px;margin:0 auto 8px;display:block}.ai-avatar{background:radial-gradient(circle at 50% 40%,#a4a7ab 0 20%,#0000 21%),radial-gradient(at 50% 100%,#a4a7ab 0 38%,#0000 39%),linear-gradient(#fff,#e3e5e9);border:2px solid #d3d5d9;border-radius:50%;width:80px;height:80px;margin:0 auto 8px;box-shadow:0 2px 5px #20263b20}.player-number{color:#fff;letter-spacing:.035em;font-variant-numeric:tabular-nums;background:linear-gradient(#22364c,#101d31);border-radius:4px;padding:7px 3px;font-size:16px}.player-panel>small{margin:4px 0 16px;font-size:10px;display:block}.hand{background:#ede9dfbb;border:0;border-radius:7px;min-height:80px;margin:12px 0 0;padding:12px 7px;display:block}.hand-title{color:var(--ink);font-size:13px;font-weight:700;line-height:1.5;display:block}.hand-title small{display:none}.hand-pieces{flex-wrap:wrap;justify-content:center;gap:7px;min-width:0;margin-top:8px;display:flex}.hand-pieces button{min-width:39px;max-width:100%;min-height:53px;box-shadow:none;color:#201b0f;opacity:1;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-family:Yu Mincho,serif;font-size:25px;display:flex;position:relative}.hand-pieces .piece{flex-shrink:0;width:32px;height:40px;padding-top:3px;font-size:25px}.hand-pieces button small{color:#283a50;white-space:nowrap;font:700 12px/1.2 Meiryo,sans-serif}.hand-pieces button.selected{background:#cfe9ff;border-radius:4px;outline:2px solid #0762d6}.hand-pieces button:disabled{opacity:.8}.no-hand{color:#727a84;font-size:11px}.play-page .status{background:#ffffffe0;border:1px solid #ece4d4;border-radius:9px;gap:10px;margin:12px auto;padding:10px 14px;display:flex}.status p{margin:2px 0;font-size:13px}.status strong{font-size:14px}.status-dot{background:#0164ce}.status.stopping{background:#fff4d7;border-color:#dcb86a}.status.error{border-color:#b73937}.primary-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:17px 0;display:flex}.primary-actions button{white-space:normal;flex:1;min-height:47px}.primary-actions button.stop-action{color:#084b9a;border-color:#8db9ea;flex:1.8;font-size:13px}.play-context{background:#ffffffed;border:1px solid #ece7dc;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:14px 0;padding:16px 20px;display:flex}.play-context h2{margin:0 0 6px;font-size:16px}.play-context p{margin:0;font-size:13px}.play-context>a{flex-shrink:0;font-size:13px}.play-page .workspace>aside{display:none}.play-settings{background:#ffffffe8;border:1px solid #e4dfd5;border-radius:9px;margin:18px 0}.play-settings>summary,.diagnostics>summary{cursor:pointer;padding:14px;font-size:14px;font-weight:700}.play-settings-grid{grid-template-columns:1fr 1fr;gap:18px;padding:0 16px 16px;display:grid}.settings-panel,.small-panel{box-shadow:none;background:0 0;border:0;min-width:0;padding:8px}.settings-panel h2{margin:0;font-size:18px}.settings-panel label{gap:5px;margin:10px 0;font-size:13px;display:grid}.settings-panel select,.settings-panel input{width:100%}.small-panel button{width:100%;margin:6px 0}.model-note{color:#586780;grid-column:1/-1;margin:0 8px;font-size:12px}.workspace-navigation{flex-wrap:wrap;gap:8px;display:flex}.workspace-navigation button{padding:7px 10px;font-size:12px}.diagnostics{background:#fff9;border:1px solid #e6e1d8;border-radius:8px;margin-top:20px}.diagnostic-content{overflow-wrap:anywhere;padding:16px}.diagnostic-content dl{grid-template-columns:150px minmax(0,1fr);gap:10px;font-size:12px;display:grid}.diagnostic-content dd{margin:0}.diagnostic-content pre{white-space:pre-wrap;overflow-wrap:anywhere}.diagnostic-actions{flex-wrap:wrap;gap:8px;display:flex}.engine-log{max-height:250px;font-size:11px;overflow:auto}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#162c4e80}.modal{background:linear-gradient(#fff,#fff9e9);border:2px solid #d7b469;border-radius:16px;max-width:min(92vw,500px);box-shadow:0 12px 50px #00133155}.modal h2{text-align:center;font-size:23px}.modal>div{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.promotion-option{flex-direction:column;align-items:center;gap:12px;min-width:120px;display:flex;min-height:150px!important}.promotion-option .piece{width:55px;height:65px;font-size:39px}.modal .cancel-promotion{color:#315581;background:#fff;width:100%}.editor-nav{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.editor-nav button{padding:8px 12px;font-size:12px}.editor-nav button[aria-current=page]{color:#fff;background:#065ac2}.position-workspace>.note{margin:6px 0 12px;font-size:12px}.editor-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.editor-title h1{margin:10px 0}.editor-title .eyebrow{display:none}.editor-layout{grid-template-columns:145px minmax(0,1fr) 230px;align-items:start;gap:18px;margin-top:18px;display:grid}.edit-palette{background:#fffcf4e8;border:1px solid #e9dfcc;border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:10px;display:flex}.edit-palette fieldset{border:0;padding:0}.edit-palette legend{margin-bottom:8px;padding:0;font-size:13px}.palette-sides{gap:3px;margin-bottom:10px;display:flex}.palette-sides button{flex:1;min-height:34px;padding:6px 3px;font-size:10px}.piece-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.piece-palette button{height:59px;min-height:0;box-shadow:none;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.piece-palette .piece{width:39px;height:49px;font-size:31px}.piece-palette button[aria-pressed=true]{background:#e0efff;border:2px solid #0a65c7;border-radius:6px}.inline-label{align-items:center;gap:3px;margin:12px 0;font-size:11px;display:flex}.tool-buttons{flex-wrap:wrap;gap:5px;display:flex}.tool-buttons button{width:100%;min-height:35px;padding:7px 4px;font-size:11px}.tool-buttons button[aria-pressed=true],.palette-sides button[aria-pressed=true]{color:#0657b6;background:#e8f4ff;border-color:#528cc4}.edit-palette>.note{font-size:10px}.edit-board-area{min-width:0}.edit-toolbar{gap:5px;margin-bottom:10px;display:flex}.edit-toolbar button{flex:1;min-height:33px;padding:7px;font-size:11px}.edit-board-area .piece-count{margin:10px 0;font-size:11px}.editor-validation{overflow-wrap:anywhere;background:#ffffffa0;border:0;border-radius:8px;margin:8px 0;padding:8px;font-size:12px}.editor-validation small{font-size:10px;display:block}.edit-controls{flex-direction:column;gap:12px;min-width:0;display:flex}.editor-settings{background:#fff9;border-radius:8px;grid-template-columns:1fr;gap:10px;margin:0;padding:12px;display:grid}.editor-settings label{gap:6px;font-size:12px;display:grid}.editor-settings select{width:100%;font-size:13px}.preset{background:#fffc;gap:7px;margin:0;font-size:12px;display:grid}.preset button,.preset select{padding:7px;font-size:12px}.preset small{font-size:10px}.editor-hands{grid-template-columns:1fr 1fr;gap:10px;margin:13px 0;display:grid}.hand-editor{background:#fff9;padding:9px}.hand-editor legend{font-size:12px}.hand-number{align-items:center;gap:4px;margin:4px 0;font-size:12px;display:flex}.hand-number>span{width:16px}.hand-number button{width:25px;min-width:25px;min-height:29px;padding:2px}.hand-number input{text-align:center;flex:1;width:48px;min-width:0;padding:4px;font-size:13px}.editor-save-panel{background:#fffdf9eb;border:1px solid #e9e0d1;border-radius:9px;margin:0;padding:14px}.editor-save-panel h2{margin:0 0 10px;font-size:16px}.editor-save-panel label{gap:7px;font-size:12px;display:grid}.editor-save-panel input{width:100%}.editor-save-panel .editor-actions{flex-direction:column;gap:7px;display:flex}.editor-actions button{margin:0;padding:11px 7px;font-size:12px}.editor-save-panel p{margin:7px 0;font-size:10px}.editor-title-field{background:#ffffffe0;border-radius:8px;margin:15px 0;padding:12px 16px}.editor-title-field label{gap:7px;font-size:13px;display:grid}.editor-title-field input{width:100%}.title-count{text-align:right;margin:4px 0;font-size:11px}.editor-bottom{background:#fffdf4ef;border:1px solid #ead9b9;border-radius:10px;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;padding:16px;display:flex}.editor-bottom>label{gap:6px;max-width:100%;font-size:12px;display:grid}.editor-bottom .note{width:100%;margin:0}.saved-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.saved-card{background:#fffdf9;border:1px solid #e4dac5;border-radius:12px;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:16px;display:grid}.saved-card>.mini-board{background:var(--wood);align-self:start;width:120px}.saved-card .mini-board .piece{font-size:12px}.saved-info h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:17px}.saved-info p{font-size:11px}.saved-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.saved-actions button{padding:8px;font-size:12px}.result-page{max-width:900px}.result-card{background:linear-gradient(120deg,#fff,#f9f9f8);border:1px solid #e6e2da;border-radius:13px;grid-template-columns:200px minmax(0,1fr);gap:24px;margin-bottom:18px;padding:18px;display:grid;box-shadow:0 3px 8px #a67b2413}.result-card h2{margin:5px 0;font-size:20px}.result-card .result-label{color:#ad1520;font-size:20px;font-weight:700}.result-card p{overflow-wrap:anywhere;margin:7px 0;font-size:13px}.result-card dl{grid-template-columns:90px minmax(0,1fr);gap:8px;margin:14px 0 0;font-size:12px;display:grid}.result-card dd{overflow-wrap:anywhere;margin:0}.result-buttons{gap:12px;display:grid}.result-buttons button{min-height:57px;font-size:19px}.result-buttons .outline{color:#0651b5;background:#fff;border:1px solid #3c92ec}.result-buttons .muted{box-shadow:none;background:linear-gradient(#e6e7ea,#d6d8dd);border:0}.result-back{text-align:center;margin:20px 0;font-size:14px;font-weight:700}.share-dialog{color:#15283f;background:#fffdf7;border:2px solid #dbc285;border-radius:15px;max-width:min(94vw,790px);max-height:92dvh;padding:22px}.share-dialog::backdrop{background:#172e5180}.share-heading h2{font-size:20px}.share-buttons{gap:9px}.share-buttons button{font-size:13px}.share-options{flex-wrap:wrap;gap:15px;display:flex}.share-preview{max-width:440px;margin:16px auto}.share-preview img{border:1px solid #d9c38e;width:100%;height:auto}.share-dialog textarea{width:100%}.challenge-panel,.revision-row{background:#fffffff0;border:1px solid #ece3d3}.challenge-actions{flex-wrap:wrap;gap:7px;display:flex}.challenge-meta{gap:14px}@media (min-width:1000px){.play-page .game-arena>.board-wrap{max-width:620px}.home-page{min-height:100vh}.home-hero{height:330px}}@media (max-width:850px){.editor-layout{grid-template-columns:110px minmax(0,1fr) 190px;gap:12px}.sora-page,main{padding-left:20px;padding-right:20px}.sora-header{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.game-arena{grid-template-columns:95px minmax(0,1fr) 95px;gap:12px}.player-avatar,.ai-avatar{width:62px;height:62px}.player-number,.player-panel h2{font-size:12px}.home-page{padding-left:28px;padding-right:28px}.home-hero{margin-left:-28px;margin-right:-28px}.saved-grid{grid-template-columns:1fr}}@media (max-width:650px){.sora-page,main{background-size:100px,70px,100% 85px,cover;padding:0 14px 65px}.sora-header{height:61px;margin:0 -14px 15px;padding:8px 14px}.brand-avatar{width:33px;height:33px}.brand-word{width:112px;height:42px}.sora-logo{gap:7px}.header-actions{gap:8px}.back-link{font-size:11px}.sora-menu>button{min-height:33px;padding:2px 8px;font-size:17px}.sora-menu>button span{display:none}.sora-footer{gap:7px;font-size:11px}.home-page{padding:0 18px 30px}.home-hero{background-size:22px 160px,75px,85% 47px,auto,auto;gap:10px;height:210px;margin:0 -18px;padding:27px 60px 29px 26px}.hero-avatar{width:33%;max-width:140px}.hero-scroll{height:205px;right:3px}.hero-brand p{white-space:normal;margin-top:5px;font-size:10px;line-height:1.6}.home-hero .hero-brand{padding-bottom:6px}.home-menu{bottom:0;right:5px}.home-menu .sora-menu>button{min-height:23px;padding:0 6px;font-size:12px}.entry-button{border-width:2px;border-radius:15px;gap:9px;min-height:96px;padding:8px 12px 8px 6px}.entry-button>img{width:73px;height:79px}.entry-button strong{letter-spacing:0;font-size:19px;line-height:1.5}.entry-button small{margin-top:4px;font-size:10px}.round-arrow{width:31px;height:31px;font-size:30px}.entry-red{margin-top:11px}.entry-soon{gap:8px;min-height:89px;margin-top:11px}.entry-soon>img{width:66px;height:71px}.entry-soon strong{font-size:18px}.entry-soon small{font-size:10px}.coming{padding:6px 8px;font-size:9px}.past-link{margin:11px auto 15px;font-size:13px}.home-page .sora-footer{margin-top:6px;padding-top:18px}.detail-layout{grid-template-columns:1fr;gap:17px}.detail-layout>.position-preview{width:100%;max-width:430px;margin:auto}.detail-copy{padding:15px}.detail-copy h2{font-size:17px}.detail-copy p{font-size:14px}.detail-options h2{font-size:16px}.detail-options>label{font-size:12px}.challenge-start{width:100%;min-height:54px;margin-top:12px;font-size:17px}.page-meta{margin-bottom:13px;font-size:12px}.category-tabs{gap:3px;margin:14px 0 11px;overflow-x:auto}.category-tabs button{min-height:36px;padding:6px 5px;font-size:10px}.archive-toolbar{gap:8px}.archive-toolbar label{flex-wrap:wrap;font-size:11px}.archive-toolbar input{padding:6px;font-size:12px}.archive-toolbar button{min-height:34px;padding:6px 9px;font-size:11px}.challenge-card{border-radius:8px;grid-template-columns:74px minmax(0,1fr) 67px;gap:9px;padding:7px 8px 7px 6px}.challenge-card h2{font-size:12px;line-height:1.5}.challenge-card p{font-size:9px}.challenge-go{text-align:center;padding:11px 4px;font-size:11px}.position-preview.compact .piece{font-size:6px}.thumbnail-pending{height:79px;font-size:9px}.pagination{margin:19px 0}.game-arena{grid-template-columns:1fr;gap:9px}.game-arena>.board-wrap{grid-row:2}.player-panel{text-align:left;grid-template-columns:43px 1fr auto;align-items:center;gap:3px 8px;padding:0;display:grid}.player-panel.human-panel{grid-row:3}.player-panel.ai-panel{grid-row:1}.player-panel h2{grid-area:1/2;margin:0;font-size:12px}.player-avatar,.ai-avatar{grid-area:1/1/3;width:40px;height:40px;margin:0}.player-panel .player-number{grid-area:1/3;padding:4px 8px;font-size:12px}.player-panel>small{grid-area:2/2/auto/4;margin:0;font-size:9px}.player-panel .hand{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:7px;min-height:38px;margin:2px 0;padding:4px 8px;display:flex}.hand-title{font-size:10px}.hand-pieces{justify-content:start;gap:8px;margin:0}.hand-pieces button{flex-direction:row;gap:3px;min-width:30px;min-height:32px}.hand-pieces .piece{width:23px;height:29px;font-size:19px}.hand-pieces button small{font-size:11px}.piece{font-size:clamp(18px,5.9vw,34px)}.game-top h1{font-size:17px}.game-top .eyebrow{font-size:10px}.move-count{padding:3px 8px}.move-count b{font-size:17px}.primary-actions{gap:7px;margin:12px 0}.primary-actions button{flex:none;padding:10px 8px;font-size:12px}.primary-actions .stop-action{min-width:55%;flex:auto!important}.primary-actions button.preparing{flex:1;min-height:38px;font-size:10px}.play-context{flex-wrap:wrap;padding:12px}.play-context h2{font-size:14px}.play-context p{font-size:11px}.play-settings-grid{grid-template-columns:1fr;gap:6px;padding:0 8px 12px}.diagnostic-content{padding:10px}.diagnostic-content dl{grid-template-columns:1fr;gap:4px}.diagnostic-content dd{padding-bottom:8px}.workspace-navigation button{font-size:11px}.board-wrap,.preview-wood{padding:20px 19px 11px 9px}.file-labels{font-size:10px;top:2px;left:9px;right:19px}.rank-labels{width:15px;font-size:10px;top:20px;bottom:11px}.editor-title{display:block}.editor-title h1{font-size:24px}.editor-title .dev-label{font-size:10px}.editor-layout{flex-direction:column;gap:12px;margin-top:10px;display:flex}.edit-palette{grid-template-columns:1fr;gap:5px;width:100%;padding:8px;display:grid}.edit-palette .piece-palette{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.piece-palette button{height:42px}.piece-palette .piece{width:29px;height:37px;font-size:23px}.palette-sides{float:right;gap:4px;margin:0}.palette-sides button{min-height:29px;padding:5px 8px;font-size:10px}.edit-palette legend{margin-bottom:5px;font-size:12px}.inline-label{margin:8px 0 3px;font-size:11px}.edit-palette .tool-buttons{flex-wrap:nowrap}.tool-buttons button{flex:1;width:auto;font-size:11px}.edit-palette>.note{display:none}.edit-board-area{width:100%}.edit-controls{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.edit-controls>.editor-save-panel{grid-column:1/-1}.editor-save-panel .editor-actions{grid-template-columns:1fr 1fr;display:grid}.editor-title-field{margin:12px 0;padding:10px}.editor-hands{gap:8px}.hand-number{gap:3px}.hand-number input{width:43px}.hand-number button{width:24px;min-width:24px}.editor-bottom>label,.editor-bottom>.primary,.editor-bottom .file-input input{width:100%}.editor-nav{gap:5px}.editor-nav button{min-height:34px;padding:7px;font-size:10px}.saved-card{grid-template-columns:85px minmax(0,1fr);gap:12px;padding:12px}.saved-card>.mini-board{width:85px}.saved-card .mini-board .piece{font-size:8px}.saved-info h2{font-size:15px}.saved-actions button{font-size:11px}.result-card{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px}.result-card h2{font-size:14px}.result-card .result-label{font-size:15px}.result-card p{margin:5px 0;font-size:11px}.result-card dl{margin:8px 0;font-size:10px;display:block}.result-card dd{margin-bottom:6px}.result-buttons button{min-height:51px;font-size:16px}.share-dialog{max-width:96vw;padding:15px}.share-heading h2{font-size:17px}.share-buttons{grid-template-columns:1fr 1fr;display:grid}.share-buttons button{padding:9px 6px;font-size:12px}.challenge-meta{grid-template-columns:1fr}.modal{max-height:88dvh;padding:19px;overflow:auto}.promotion-option{min-width:100px!important}.result-back{font-size:13px}}@media (max-width:360px){.home-hero{gap:6px;height:184px;padding-left:22px;padding-right:51px}.hero-scroll{height:179px}.hero-brand p{font-size:9px}.entry-button>img{width:56px;height:65px}.entry-button{gap:7px;min-height:86px;padding-right:9px}.entry-button strong{font-size:16px}.entry-button small{font-size:9px}.round-arrow{width:27px;height:27px;font-size:26px}.entry-soon strong{font-size:15px}.coming{padding:5px;font-size:8px}.entry-soon>img{width:50px;height:61px}.home-page{padding-left:13px;padding-right:13px}.home-hero{margin-left:-13px;margin-right:-13px}.brand-word{width:99px}.back-link{font-size:10px}.challenge-card{grid-template-columns:62px minmax(0,1fr) 58px;gap:7px}.challenge-card h2{font-size:11px}.challenge-go{font-size:10px}.editor-title h1{font-size:22px}.piece-palette .piece{width:25px;height:33px;font-size:22px}.piece-palette button{height:36px}.result-card{grid-template-columns:90px minmax(0,1fr);gap:10px;padding:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.completed-game-details{display:none}.play-page .play-area{max-width:none}.storage-page>label{gap:7px;max-width:650px;margin:17px 0;display:grid}.storage-page>button{margin:6px 8px 6px 0}.storage-page>section{background:#fff;border:1px solid #e5d7bd;border-radius:12px;margin:18px 0;padding:18px}.storage-page p{overflow-wrap:anywhere}.square.target{background:#a9ceef77}.primary:hover:not(:disabled){background:linear-gradient(115deg,#17a4ed,#086dda)}.sora-page:before,main:before{background-image:url(/design/gold-clouds.svg);background-position:0;background-repeat:repeat-y;background-size:280px 180px;-webkit-mask-image:linear-gradient(90deg,#000,#0000 19%);mask-image:linear-gradient(90deg,#000,#0000 19%)}.entry-button:after{opacity:.62;background:url(/design/gold-clouds.svg) 0/260px 165px no-repeat,url(/design/gold-clouds.svg) 100% 100%/240px 155px no-repeat;-webkit-mask-image:none;mask-image:none}.entry-button>img{filter:drop-shadow(1px 3px 2px #061c4066)}.edit-board-area{position:static}.hand-editor{display:block}.hand-number input:not([type=checkbox]){min-height:31px;padding:3px 2px;font-size:14px}.hand-number button{min-height:31px}.hand-number{min-width:0;margin:5px 0}.tool-buttons button{min-width:0}.editor-bottom{display:flex}.edit-controls>.preset{grid-column:auto}.position-workspace{padding-bottom:0}@media (max-width:650px){.home-page{min-height:0;padding-bottom:80px}.edit-palette fieldset{margin-bottom:3px}.edit-controls{grid-template-columns:1fr 1fr}.edit-controls>fieldset{grid-column:auto}.hand-editor{display:block}.editor-hands{margin-top:10px}.hand-number{margin:5px 0}.hand-number input:not([type=checkbox]){min-height:36px;font-size:16px}.hand-number button{min-height:36px}.editor-title{margin:13px 0 5px}.editor-title-field{margin-top:12px}.result-screen+.completed-game-details{display:none}.game-arena .rank-labels{grid-row:auto}}.editor-page{max-width:1040px}.editor-layout{grid-template-columns:130px minmax(0,1fr) 220px;gap:16px}.edit-palette .tool-buttons{grid-template-columns:1fr;display:grid}.edit-palette .tool-buttons button{width:100%;min-height:34px}.editor-hand-panel{background:#fff9;border:1px solid #e6dcc8;border-radius:8px;margin:12px 0;padding:0 10px}.editor-hand-panel>summary,.preset-fold>summary{cursor:pointer;padding:12px 0;font-size:12px;font-weight:700}.preset-fold{background:#fff9;border:1px solid #e6dcc8;border-radius:8px;padding:0 12px}.preset-fold .preset{border:0;margin:0 0 10px;padding:0}.editor-title{margin:10px 0}.editor-title+.page-intro{margin-bottom:10px}.preview-wood{box-shadow:inset 0 0 10px #fff9,0 3px 7px #9675402b}.piece{text-shadow:0 1px #fff8;background:linear-gradient(100deg,#ffeebd,#f2ce87 78%,#dba855)}@media (max-width:850px) and (min-width:651px){.editor-layout{grid-template-columns:110px minmax(0,1fr) 180px;gap:12px}.editor-page{padding-left:14px;padding-right:14px}}@media (max-width:650px){.editor-layout{display:flex}.palette-sides{float:none;justify-content:flex-start;margin-bottom:6px}.palette-sides button{flex:0 0 80px}.piece-palette{clear:both;width:100%}.edit-palette .tool-buttons{grid-template-columns:repeat(4,1fr)}.edit-palette .tool-buttons button{min-height:34px;padding:6px}.edit-controls{grid-template-columns:1fr 1fr;display:grid}.editor-title .dev-label{display:none}.edit-palette fieldset{padding:0}.edit-palette fieldset .note{margin:6px 0;font-size:10px}.editor-hands{grid-template-columns:1fr 1fr}.editor-hand-panel{padding:0 8px}.editor-settings{padding:10px}.editor-settings select{min-height:36px;font-size:12px}.editor-save-panel .note,.position-workspace>.note{font-size:10px}.editor-save-panel h2{font-size:15px}}@media (max-width:850px) and (min-width:651px){.editor-page .sora-header{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}.board,.mini-board{grid-template-rows:repeat(9,minmax(0,1fr))}.board>.square,.mini-board>span{min-width:0;min-height:0}@media (max-width:600px){.primary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.primary-actions button{min-width:0;min-height:46px;padding:8px 6px;font-size:12px}.primary-actions button.stop-action{order:10;grid-column:1/-1;min-height:48px;font-size:13px}}.board{position:relative}.hint-arrow{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hint-flow{stroke-dasharray:12 18;animation:1s linear infinite hint-travel}@keyframes hint-travel{to{stroke-dashoffset:-30px}}@media (prefers-reduced-motion:reduce){.hint-flow{animation:none}}.hint-panel{color:#103d74;background:#fffff3;border:2px solid #d5ad51;border-radius:10px;margin:12px 0;padding:14px}.hint-panel p{margin:8px 0;font-size:13px}.hint-panel button{font-size:13px}.assistance-counts{color:#34496a;overflow-wrap:anywhere;background:#fffdf7e6;border:1px solid #ead6a3;border-radius:7px;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.7}.hinting .status-dot{background:#006bdb;animation:1.2s infinite pulse}.entry-button:after{opacity:.36;background-size:165px 110px,170px 110px;-webkit-mask-image:linear-gradient(90deg,#000,#0000 26% 74%,#000);mask-image:linear-gradient(90deg,#000,#0000 26% 74%,#000)}.sora-page:before,main:before{opacity:.36;background-size:190px 150px;-webkit-mask-image:linear-gradient(90deg,#000,#0000 11%);mask-image:linear-gradient(90deg,#000,#0000 11%)}.sora-page,main{background-image:url(/design/hd/page-background-rich.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.sora-page:before,main:before{background:0 0;-webkit-mask-image:none;mask-image:none}.home-hero{background:url(/design/hd/hero.webp) 50%/100% 100% no-repeat}.home-hero:before{background:linear-gradient(#fffdf5a6 0%,#fffef677 42%,#fffef522 78%,#0000)}.hero-scroll{visibility:hidden}.editor-validation.playable{background:#edf6f4}@media (max-width:650px){.home-hero{background-size:100% 100%}.editor-nav,.edit-toolbar{flex-wrap:wrap}.edit-toolbar button{flex-basis:75px}.palette-sides,.inline-label{flex-wrap:wrap}.editor-nav button{white-space:normal;min-width:0}.editor-hands{grid-template-columns:1fr}.hand-number>input{width:45px}.hand-editor{max-width:100%}}.entry-button>.entry-piece{z-index:1;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;flex:0 0 110px;width:110px;height:110px;display:block;position:relative}.piece-new{background-image:url(/design/ready/entry-new-v1.webp)}.piece-brush{background-image:url(/design/ready/entry-brush-v1.webp)}.piece-robot{background-image:url(/design/ready/entry-robot-v1.webp)}@media (max-width:650px){.entry-button>.entry-piece{flex-basis:80px;width:80px;height:80px}.hero-avatar{flex-shrink:0;width:30vw}}@media (max-width:360px){.entry-button>.entry-piece{flex-basis:62px;width:62px;height:62px}}.sora-header{flex-wrap:wrap;height:auto;min-height:80px}.header-actions{margin-left:auto}@media (max-width:650px){.sora-header{min-height:61px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.play-page:not(.has-result){background-size:100% 100%;max-width:940px;padding:0 28px 36px}.play-page:not(.has-result)>.sora-header{min-height:58px;margin-bottom:10px;padding-top:6px;padding-bottom:6px}.play-page:not(.has-result) .brand-avatar{width:35px;height:35px}.play-page:not(.has-result) .brand-word{width:125px;height:40px}.play-page .workspace{max-width:620px;margin:auto;display:block}.play-page .game-top{align-items:center;gap:12px;margin:0 0 8px}.play-page .game-top>div{background:#fffaf2;border:1px solid #dac8a3;border-radius:9px;flex:1;min-width:0;padding:7px 10px;box-shadow:0 2px 5px #173b5810}.play-page .game-top .eyebrow{white-space:nowrap;text-overflow:ellipsis;max-width:470px;margin:0;font-size:11px;overflow:hidden}.play-page .game-top h1{color:#173b58;margin:0;font-size:20px;line-height:1.4}.play-page .move-count{white-space:nowrap;background:linear-gradient(135deg,#294e69,#173b58 60%,#102b43);border:1px solid #bca675;border-radius:9px;flex-shrink:0;justify-content:center;align-items:baseline;gap:5px;min-width:60px;margin:0;padding:5px 10px 4px;display:inline-flex;box-shadow:inset 0 0 0 .5px #bca675,inset 0 1px #ffffff20,0 2px 3px #0b26381a}.play-page .move-count b{font-variant-numeric:tabular-nums;letter-spacing:0;color:#fffdf7;font-family:Bahnschrift,DIN Alternate,Arial,sans-serif;font-size:24px;font-weight:600;line-height:1}.play-page .move-count-unit{color:#ead6ad;font-size:12px;font-weight:600;line-height:1}.play-page .game-arena{flex-direction:column;align-items:stretch;gap:0;max-width:620px;margin:auto;display:flex}.play-page .player-panel{text-align:left;background:linear-gradient(110deg,#fffdf5,#f9efda);border:1px solid #dbc696;border-radius:12px 12px 0 0;grid-template-columns:192px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:9px 14px;display:grid;box-shadow:inset 0 1px #fff,0 2px 6px #84653014}.play-page .ai-panel{border-bottom:0;order:1}.play-page .ai-panel .hand{grid-area:1/2}.play-page .human-panel{background:linear-gradient(110deg,#fffdf5,#e9f5fd);border-top:0;border-radius:0 0 12px 12px;order:3;grid-template-columns:minmax(0,1fr) 192px}.play-page .human-panel .player-identity{grid-area:1/2}.play-page .human-panel .hand{grid-area:1/1}.play-page .board-wrap{z-index:1;order:2}.play-page .player-identity{grid-template-columns:43px minmax(0,1fr);gap:0 9px;min-width:0;display:grid}.play-page .player-avatar,.play-page .ai-avatar{clip-path:none;border:2px solid #caab62;border-radius:50%;grid-area:1/1/3;align-self:center;width:43px;height:43px;margin:0;box-shadow:0 2px 5px #18355320}.play-page .ai-avatar{object-fit:cover;background:#061423;border-color:#507c99;display:block}.play-page .ai-avatar:before,.play-page .ai-avatar:after{display:none}.play-page .player-name{grid-area:1/2}.play-page .player-name>small{color:#687581;align-items:center;gap:7px;font-size:10px;line-height:1.2;display:flex}.play-page .player-panel h2{white-space:nowrap;margin:2px 0;font-size:14px;line-height:1.4}.play-page .turn-label{color:#fff;background:#0877c8;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.play-page .player-number{color:#163e68;min-width:0;max-width:none;box-shadow:none;background:0 0;border-radius:0;grid-area:2/2;justify-content:flex-start;align-items:baseline;gap:6px;margin:0;padding:0;display:flex}.play-page .player-number b{font-variant-numeric:tabular-nums;font:700 23px/1.1 Yu Mincho,serif}.play-page .player-number b small{color:inherit;margin-left:3px;font:600 11px Yu Gothic,sans-serif}.play-page .player-number>span{color:#6c7070;font-size:9px}.play-page .active-turn .player-avatar,.play-page .active-turn .ai-avatar{border-color:#157fbe;box-shadow:0 0 0 2px #dcf2ff,0 0 0 3px #5595bf}.play-page .hand{box-shadow:none;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;margin:0;padding:0;display:block}.play-page .hand-title{letter-spacing:.1em;color:#6c6658;min-width:0;margin:0 0 3px;font-size:9px;line-height:1.3;display:block}.play-page .hand-title small{display:none}.play-page .hand-pieces{flex-wrap:wrap;justify-content:flex-start;gap:4px;min-width:0;display:flex}.play-page .hand-pieces button{box-shadow:none;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:38px;min-width:38px;height:43px;min-height:43px;padding:0 4px 3px;display:flex;position:relative}.play-page .hand-pieces .piece{width:32px;height:39px;padding-top:5px;font-size:25px}.play-page .hand-pieces small{z-index:3;color:#263447;background:#fffcf1;border:1px solid #c9b584;border-radius:3px;min-width:15px;margin:0;padding:0 2px;font:700 10px/14px Yu Gothic,sans-serif;position:absolute;bottom:-1px;right:-1px}.play-page .hand-pieces button.selected{outline-offset:0;box-shadow:none;background:#d3eefa;outline:2px solid #0b76ba}.play-page .no-hand{color:#797367;font-size:11px;line-height:2}.play-page .board-wrap{background:repeating-linear-gradient(89.5deg,#0000 0 5px,#ad743d07 5px 6px,#0000 6px 12px),repeating-linear-gradient(90.3deg,#0000 0 27px,#fff7d313 28px 29px,#0000 30px 63px),linear-gradient(95deg,#eac486,#f1d197 31%,#ebc68d 76%,#edcb91);border:1px solid #b8863f;border-radius:3px;padding:20px 21px 13px 13px;box-shadow:inset 0 0 0 3px #f9e4b180,inset 0 -5px #b4823d,0 4px 7px #70532726}.play-page .file-labels{color:#665032;padding:0;font:11px/16px Yu Mincho,serif;top:2px;left:13px;right:21px}.play-page .rank-labels{width:14px;font:11px Yu Mincho,serif;top:20px;bottom:13px;right:3px}.play-page .board{aspect-ratio:9/9.45;background:linear-gradient(110deg,#fff5cf18,#0000 65%);border-color:#765737;overflow:visible}.play-page .square{isolation:isolate;touch-action:manipulation;border-color:#9e7b4f;overflow:visible}.play-page .square:nth-last-child(-n+9){border-bottom:1px solid #9e7b4f}.play-page .square:nth-child(n+73):nth-child(-n+81){border-bottom:0}.play-page .square:nth-child(9n){border-right:0}.play-page .square:hover:not(:disabled){filter:none;background:#fff9dc66;border-color:#9e7b4f}.play-page .piece{clip-path:none;filter:drop-shadow(0 2px 1px #69451f66);color:#302011;text-shadow:0 1px #fff5ca,-.35px -.5px #795021;background:url(/design/play-piece.svg) 50%/100% 100% no-repeat;width:85%;height:94%;padding-top:10%;font-family:Yu Mincho,Hiragino Mincho ProN,MS PMincho,serif;font-size:clamp(23px,4.6vw,39px);font-style:normal;font-weight:900;line-height:1;transform:none}.play-page .piece.opponent{transform:rotate(180deg)}.play-page .piece.promoted{color:#a33524;text-shadow:0 1px #fff1bf,-.35px -.5px #722d1d}.play-page .square.selected{outline-offset:-3px;z-index:3;background:#d4edf7c9;outline:3px solid #126da6;box-shadow:inset 0 0 0 5px #f7fcff9c}.play-page .square.selected .piece{filter:drop-shadow(0 4px 2px #17467560)}.play-page .square.target{background:#dbeef45c}.play-page .square.target i{z-index:4;background:#167bb4;border:2px solid #fffaf0;border-radius:50%;width:11px;height:11px;bottom:4px;right:4px;box-shadow:0 0 0 1px #2372a2}.play-page .square.target:has(.piece) i{background:#fff8dc;border:3px solid #167bb4;width:14px;height:14px}.play-page .square.last-from{box-shadow:none;background:#fff9e12e}.play-page .origin-marker{opacity:.75;pointer-events:none;z-index:0;border:1.5px dashed #4b697b;border-radius:3px;position:absolute;inset:14%}.play-page .origin-marker:after{content:"";background:#f8efcf;border:1px solid #577389;width:7px;height:7px;position:absolute;top:calc(50% - 4px);left:calc(50% - 4px);transform:rotate(45deg)}.play-page .square.last{box-shadow:none;background:#fff0a56b}.play-page .arrival-marker{z-index:2;pointer-events:none;background-color:#0000;background-image:linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522),linear-gradient(#a97522,#a97522);background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:9px 2px,2px 9px,9px 2px,2px 9px,9px 2px,2px 9px,9px 2px,2px 9px;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;position:absolute;inset:2px}.play-page .square.arriving{z-index:8}.play-page .square.check{outline-offset:-3px;background:radial-gradient(circle,#ffe8c780,#dd70584d);outline:3px double #a52e2c}.play-page .square.check:after{content:"王手";color:#fff9e7;z-index:4;background:#ac392d;border-radius:3px 0 0;padding:1px 3px;font:700 8px/1.2 Yu Gothic,sans-serif;position:absolute;bottom:0;right:0}.play-page .square.promotion-target{background:#f8e09a;box-shadow:inset 0 0 0 3px #ae7e30}.play-page .status{background:0 0;border:0;align-items:flex-start;gap:8px;min-height:54px;margin:0;padding:10px 3px}.play-page .status p{color:#4d6073;margin:1px 0 0;font-size:11px;line-height:1.5}.play-page .status-dot{background:#237aa6;width:7px;height:7px;margin-top:6px}.play-page .status.error{background:#fff0ea;border:1px solid #df9b8c;border-radius:7px;padding:10px}.play-page .status.stopping{background:#fff8d9;border:1px solid #d8bb6a;border-radius:7px;margin:6px 0;padding:10px}.play-page .primary-actions{grid-template-columns:1fr 1fr 1.35fr 1fr;gap:7px;display:grid}.play-page .primary-actions button{color:#294661;background:linear-gradient(#fffef9,#f8efdb);border:1px solid #d9c492;border-bottom:3px solid #c6b07a;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:49px;padding:9px 8px;font-size:13px;display:flex;box-shadow:inset 0 1px #fff,0 2px 4px #70603b13}.play-page .primary-actions .stop-action{color:#194f79;background:linear-gradient(#f5fbff,#dcecf7);border-color:#a4c8dc #a4c8dc #80a6c0;order:0;grid-column:auto}.play-page .primary-actions .resume-action{color:#fff;background:linear-gradient(#1988d2,#0863a6);border-color:#4ca1d4 #4ca1d4 #095484}.play-page .primary-actions .resign-action{color:#8b4c3b}.play-icon{flex:none;width:19px;height:22px}.play-page .assistance-counts{color:#6d6c63;text-align:right;background:0 0;border:0;margin:8px 0;padding:0;font-size:10px;font-weight:500}.play-page .hint-panel{background:linear-gradient(110deg,#fffdf2,#eef9ff);border:1px solid #c2a15c;border-left:4px solid #177ab4;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:10px 0;padding:12px 14px;display:flex;box-shadow:0 3px 8px #64748a12}.play-page .hint-panel strong{color:#155785;font-size:14px}.play-page .hint-panel p{margin:3px 0;font-size:11px;line-height:1.5}.play-page .hint-panel small{font-size:10px;line-height:1.5;display:block}.play-page .hint-panel button{white-space:nowrap;flex-shrink:0;min-width:96px;padding:7px 10px;font-size:11px}.play-page .game-arena{position:relative}.play-page .board{grid-template-rows:repeat(9,minmax(0,1fr))}.play-page .hint-arrow{z-index:10;filter:drop-shadow(0 1px 1px #21395070)}.play-page .hand-pieces button.hint-source{outline-offset:1px;background:#e5f4fb;outline:2px solid #187ab4;box-shadow:0 0 0 4px #edcf85}.play-page .hint-flow{stroke-dasharray:7 24;animation:1.4s linear infinite hint-travel}.play-page .play-context,.play-page .play-settings,.play-page .diagnostics{max-width:620px;margin:14px auto 0}.play-page .play-context{background:#fffdf6dc;border-color:#dfd3b9;gap:10px;padding:13px 16px}.play-page .play-context h2{margin:0;font-size:15px}.play-page .play-context p{margin:3px 0 0;font-size:11px}.play-page .play-context a{font-size:11px}.play-page .play-settings>summary,.play-page .diagnostics>summary{padding:14px;font-size:12px}.play-page .modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#172e4875;padding:14px}.play-page .promotion-dialog{background:linear-gradient(135deg,#fffef9,#fcf3dc);border:1px solid #d0af65;border-top:4px solid #c6a053;border-radius:17px;width:min(100%,390px);padding:25px;position:relative;box-shadow:0 20px 70px #10283f55,inset 0 0 0 4px #fffbf0}.play-page .promotion-dialog h2{text-align:center;margin:0 0 7px;font-size:21px}.play-page .promotion-description{text-align:center;color:#6e644e;margin:0 0 20px;font-size:12px;line-height:1.6}.play-page .promotion-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.play-page .promotion-option{color:#284768;background:linear-gradient(#fffef8,#eee4c9);border:1px solid #c4ac72;border-radius:11px;flex-direction:column;align-items:center;gap:10px;min-height:146px;padding:14px 10px;font-size:16px;display:flex;box-shadow:inset 0 1px #fff,0 3px #bfa66b}.play-page .promotion-option.primary{color:#fff;background:linear-gradient(125deg,#309bd7,#0f619e);border-color:#568dad;box-shadow:inset 0 1px #ffffff85,0 3px #23516d}.play-page .promotion-option .piece{flex:none;width:64px;height:78px;padding-top:12px;font-size:46px}.play-page .promotion-choices .cancel-promotion{box-shadow:none;color:#53677b;background:0 0;border:0;grid-column:1/-1;min-height:40px;margin-top:5px;font-size:12px}@media (max-width:650px){.play-page:not(.has-result){padding:0 10px 28px}.play-page:not(.has-result)>.sora-header{min-height:52px;margin:0 -10px 8px;padding:5px 12px}.play-page:not(.has-result) .brand-word{width:115px;height:35px}.play-page .game-top{margin:0 2px 6px}.play-page .game-top h1{font-size:17px}.play-page .game-top .eyebrow{font-size:10px}.play-page .game-arena{gap:0;display:flex}.play-page .player-panel{grid-template-columns:134px minmax(0,1fr);gap:8px;min-height:69px;padding:7px 9px}.play-page .human-panel{grid-template-columns:minmax(0,1fr) 134px}.play-page .player-identity{grid-template-columns:34px minmax(0,1fr);gap:0 6px}.play-page .player-avatar,.play-page .ai-avatar{width:34px;height:34px;font-size:15px}.play-page .player-panel h2{font-size:12px}.play-page .player-name>small{gap:4px;font-size:9px}.play-page .player-number b{font-size:20px}.play-page .player-number{gap:4px}.play-page .player-number>span{font-size:8px}.play-page .hand-pieces{gap:3px}.play-page .hand-pieces button{width:32px;min-width:32px;height:38px;min-height:38px;padding:0 3px 3px}.play-page .hand-pieces .piece{width:29px;height:35px;font-size:23px}.play-page .board-wrap{padding:17px 16px 10px 8px}.play-page .file-labels{font-size:9px;top:1px;left:8px;right:16px}.play-page .rank-labels{width:11px;font-size:9px;top:17px;bottom:10px;right:1px}.play-page .piece{font-size:clamp(21px,7vw,37px)}.play-page .status{min-height:51px}.play-page .status p{font-size:10px}.play-page .primary-actions{grid-template-columns:1fr 1fr 1.4fr 1fr;gap:5px}.play-page .primary-actions button{gap:4px;min-height:46px;padding:7px 4px;font-size:11px}.play-page .primary-actions button.stop-action{order:0;grid-column:auto;min-height:46px;font-size:11px}.play-icon{width:16px;height:19px}.play-page .play-context{margin-top:12px;padding:10px 12px}.play-page .play-context h2{font-size:13px}.play-page .hint-panel{gap:8px;padding:9px}.play-page .hint-panel strong{font-size:12px}}@media (max-width:360px){.play-page:not(.has-result){padding-left:5px;padding-right:5px}.play-page:not(.has-result)>.sora-header{margin-left:-5px;margin-right:-5px}.play-page .player-panel{grid-template-columns:119px minmax(0,1fr);gap:5px;padding-left:6px;padding-right:6px}.play-page .human-panel{grid-template-columns:minmax(0,1fr) 119px}.play-page .player-identity{grid-template-columns:28px minmax(0,1fr);gap:0 4px}.play-page .player-avatar,.play-page .ai-avatar{width:28px;height:28px}.play-page .primary-actions button{flex-direction:column;gap:2px;font-size:10px}.play-page .primary-actions button.stop-action{font-size:10px}}@media (prefers-reduced-motion:reduce){.play-page .hint-flow{animation:none}}.position-workspace .editor-title h1{margin:14px 0 8px;font-size:clamp(21px,3.3vw,30px)}.position-workspace .editor-nav{background:#fffdf7;border:1px solid #d8c59a;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:hidden}.position-workspace .editor-nav button{min-width:0;min-height:48px;box-shadow:none;color:#51718a;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:10px 8px;font-size:14px}.position-workspace .editor-nav button+button{border-left:1px solid #e5d6b6}.position-workspace .editor-nav button:hover:not(:disabled){background:#f0f7fb}.position-workspace .editor-nav button[aria-current=page]{color:#0d4b7d;background:#e7f2fc;box-shadow:inset 0 -3px #268ac4}.position-workspace .editor-nav button:focus-visible{outline-offset:-4px}.editor-ux{--edit-border:#e5d7b7;--edit-blue:#075db6;min-width:0;container:editor-tools/inline-size}.editor-ux button:focus-visible,.editor-ux summary:focus-visible{outline-offset:3px;outline:3px solid #136fcb}.editor-modebar{border:1px solid var(--edit-border);background:#fffaf0;border-radius:12px;gap:5px;max-width:510px;margin:0 auto 14px;padding:5px;display:flex;box-shadow:0 2px 8px #57411e0c}.editor-modebar button{min-height:46px;box-shadow:none;white-space:nowrap;background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:14px;display:flex}.editor-modebar button[aria-pressed=true]{color:#fff;background:linear-gradient(#208aec,#0863c4);border-color:#0061b3;box-shadow:inset 0 1px #c9e9ff,0 2px 4px #23588b30}.editor-modebar button span{font-size:20px;line-height:1}.editor-ux .editor-layout{grid-template-columns:134px minmax(0,1fr) 248px;align-items:start;gap:16px;margin:0;display:grid}.editor-ux .edit-palette{background:#fffdf6f2;gap:8px;padding:12px}.editor-ux .edit-palette fieldset{margin:0}.editor-ux .edit-palette legend{font-size:13px}.editor-ux .palette-sides{flex-direction:column;gap:5px}.editor-ux .palette-sides button{min-height:40px;font-size:12px}.editor-ux .piece-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0}.editor-ux .piece-palette button{min-width:0;height:52px;min-height:44px}.editor-ux .piece-palette .piece{width:34px;height:42px;font-size:27px}.editor-ux .inline-label{gap:6px;min-height:44px;margin:4px 0;font-size:12px}.editor-ux .inline-label input{flex:none;width:20px;height:20px}.editor-ux .edit-palette .note{margin:4px 0;font-size:11px}.editor-ux .edit-toolbar{gap:6px;margin-bottom:8px}.editor-ux>.edit-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));max-width:510px;margin:0 auto 10px;display:grid}.editor-ux .edit-toolbar button{min-height:40px;padding:6px;font-size:12px}.editor-ux .editor-tool-guidance{background:#fffcf3;border-left:3px solid #bfa66b;border-radius:0 6px 6px 0;min-height:38px;margin:0 0 8px;padding:6px 10px;font-size:12px;line-height:1.6}.editor-ux .editor-tool-guidance.has-selection{border-color:var(--edit-blue);background:#edf6ff}.editor-ux .board-wrap{box-sizing:border-box;width:100%;max-width:540px;margin:auto}.editor-ux .edit-board{aspect-ratio:1;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));min-height:0}.editor-ux .edit-board .square{touch-action:manipulation;border-radius:0;min-width:0;min-height:0;padding:0;position:relative}.editor-ux .edit-board .square[aria-pressed=true]{z-index:1;background:#b7dbf29e;box-shadow:inset 0 0 0 3px #116fc5}.editor-ux.editor-tool-erase .edit-board{cursor:crosshair}.editor-ux .edit-board .piece{max-width:90%;max-height:92%;font-size:clamp(20px,3.1vw,37px)}.editor-selected-piece{background:#f7fbff;border:1px solid #a9c8e9;border-radius:10px;margin:10px 0;padding:10px}.editor-selection-heading{justify-content:space-between;align-items:center;gap:7px;margin-bottom:8px;font-size:13px;display:flex}.editor-selection-heading button{min-height:40px;padding:6px 10px;font-size:12px}.editor-selection-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.editor-selection-actions button{min-height:44px;padding:8px 4px;font-size:12px}.editor-ux .piece-count{flex-wrap:wrap;justify-content:space-between;gap:4px;margin:12px 0;font-size:12px;display:flex}.editor-ux .editor-hand-panel{background:#fffef8f2;margin:10px 0;padding:0 12px}.editor-ux .editor-hand-panel>summary{min-height:48px;padding:12px 0;font-size:14px}.editor-ux .editor-hand-panel>summary span{margin-left:6px;font-size:11px;font-weight:400}.editor-ux .hand-side-choice{gap:6px;display:flex}.editor-ux .hand-side-choice button{flex:1;min-height:44px;font-size:13px}.editor-ux .hand-side-choice button[aria-pressed=true]{color:#0657b6;background:#e8f4ff;border-color:#528cc4}.editor-ux .editor-hand-panel .note{font-size:12px}.editor-ux .editor-hands{margin:6px 0 12px;display:block}.editor-ux .hand-editor{background:0 0;border:0;padding:0}.editor-ux .hand-editor[hidden]{display:none}.editor-ux .hand-editor legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.editor-ux .hand-number{grid-template-columns:36px 44px minmax(50px,1fr) 44px;gap:9px;margin:7px 0;display:grid}.editor-ux .hand-number>.piece{width:30px;height:37px;font-size:24px}.editor-ux .hand-number button{width:44px;min-width:44px;min-height:44px;padding:0;font-size:18px}.editor-ux .hand-number input:not([type=checkbox]){text-align:center;width:100%;min-height:44px;padding:4px;font-size:18px}.editor-ux .hand-number input[aria-invalid=true]{background:#fff4f2;border-color:#bd3030}.editor-ux .editor-validation{background:#fffdf6e8;margin-bottom:0;padding:10px;font-size:12px}.editor-ux .editor-validation small{font-size:11px}.editor-ux .editor-verdict{color:#873e2c;background:#fff7f2;border:1px solid #e2c8bc;margin:0;padding:13px 14px}.editor-ux .editor-verdict.playable{color:#24644b;background:#f0f8f3;border-color:#b7d4c8}.editor-verdict-heading{align-items:center;gap:9px;font-size:16px;font-weight:700;line-height:1.5;display:flex}.editor-verdict-heading svg{flex:none;width:22px;height:22px}.editor-verdict-reason{color:#6d493d;margin:7px 0 0;font-size:13px;line-height:1.7}.editor-verdict button{margin-top:10px;font-size:13px}.editor-primary-actions{gap:10px;display:grid}.editor-primary-actions>button{width:100%;min-height:48px;font-size:15px;font-weight:700}.editor-action-dialog{box-sizing:border-box}.editor-action-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.editor-action-dialog .editor-action-heading h2{margin:0}.editor-action-dialog .editor-action-close{color:#31526d;width:40px;min-height:40px;box-shadow:none;background:#f0e9da;border:0;border-radius:50%;flex:none;place-items:center;padding:8px;display:grid}.editor-action-close svg{width:24px;height:24px}.editor-action-dialog fieldset{background:0 0;border:0;border-radius:0;min-width:0;margin:0;padding:0}.editor-action-dialog label{gap:8px;font-size:14px;font-weight:600;display:grid}.editor-action-dialog input,.editor-action-dialog select{box-sizing:border-box;width:100%;min-height:46px;font-size:16px}.editor-action-dialog .time-pair{grid-template-columns:1fr;gap:20px;display:grid}.editor-action-dialog .confirm-actions{grid-template-columns:1fr;gap:10px;margin-top:24px;display:grid}.editor-action-dialog .confirm-actions button{min-width:0;min-height:46px;font-size:15px}.editor-ux .edit-controls{flex-direction:column;gap:12px;display:flex}.editor-ux .editor-settings{border:1px solid var(--edit-border);background:#fffdf9f2;gap:12px;padding:12px}.editor-ux .editor-settings.editor-settings-single{grid-template-columns:1fr}.editor-ux .editor-settings label{font-size:13px}.editor-ux .editor-settings select{min-height:44px;font-size:16px}.editor-ux .preset-fold{background:#fffdf9f2;padding:0 12px}.editor-ux .preset-fold>summary{min-height:44px;font-size:13px}.editor-ux .preset select,.editor-ux .preset button{width:100%;min-height:44px;font-size:13px}.editor-ux .editor-save-panel{background:#fffdf9f2;margin:0;padding:14px}.editor-ux .editor-save-panel h2{font-size:17px}.editor-ux .editor-save-panel label{gap:6px;font-size:13px;display:grid}.editor-ux .editor-save-panel input{font-size:16px}.editor-ux .editor-save-panel .title-count{margin:4px 0 10px;font-size:11px}.editor-ux .editor-save-main,.editor-ux .editor-play-setup>button{width:100%;min-height:48px;padding:10px 5px;font-size:14px}.editor-ux [data-testid=draft-saved]{overflow-wrap:anywhere;min-height:20px;font-size:12px;line-height:1.6}.editor-more-save>summary,.editor-backup>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}.editor-more-save>button{width:100%;min-height:44px;margin:5px 0;font-size:13px;display:block}.editor-play-setup{border-top:1px solid var(--edit-border);gap:12px;margin-top:8px;padding-top:16px;display:grid}.editor-play-setup select{width:100%;min-height:44px;font-size:16px}.editor-ux .editor-play-setup p.note{margin:0;font-size:11px}.editor-backup{background:#fffdf9f2;border:1px solid #e5d7b7;border-radius:10px;min-width:0;padding:0 12px}.editor-backup>button{min-height:44px;margin:0 0 12px;font-size:13px}.editor-backup .file-input{font-size:12px;display:block}.editor-backup input{max-width:100%;margin:8px 0;font-size:12px;display:block}.editor-backup .note{font-size:11px;line-height:1.7}@container editor-tools (width<=310px){.editor-modebar{gap:2px}.editor-modebar button{white-space:normal;flex-direction:column;gap:2px;min-width:0}}@media (max-width:999px){.editor-ux .editor-layout{grid-template-columns:minmax(0,1fr) 232px}.editor-ux .edit-palette{grid-column:1/-1;display:none}.editor-ux.editor-tool-paint .edit-palette{display:block}.editor-ux .piece-palette{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:6px 0}.editor-ux .palette-sides{flex-direction:row;max-width:280px}.editor-ux .palette-sides button{min-height:44px}.editor-ux .edit-palette .note{display:none}.editor-ux .inline-label{margin:0}.editor-ux .edit-board .piece{font-size:clamp(18px,4vw,34px)}}@media (max-width:700px){.editor-ux .editor-layout{flex-direction:column;gap:12px;display:flex}.editor-ux .edit-board-area,.editor-ux .edit-controls{width:100%}.editor-ux .edit-controls{grid-template-columns:1fr;display:grid}.editor-ux .editor-settings{grid-template-columns:1fr 1fr}.editor-ux .edit-board .piece{font-size:clamp(20px,6vw,36px)}.editor-ux .editor-save-panel{padding:16px}.editor-modebar{margin-bottom:12px}.editor-modebar button{gap:4px;font-size:13px}.editor-ux .editor-tool-guidance{min-height:38px;font-size:12px}.editor-ux .piece-palette{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-ux .piece-palette button{height:47px}.editor-ux .piece-palette .piece{width:29px;height:37px;font-size:24px}}@media (max-width:400px){.editor-ux .piece-palette{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-ux .piece-palette button{height:44px}.editor-ux .editor-settings{gap:10px;padding:10px}.editor-ux .editor-settings label{font-size:12px}.editor-ux .editor-hand-panel>summary span{margin:3px 0 0 16px;display:block}.editor-modebar button{padding:7px 3px;font-size:12px}.editor-modebar button span{font-size:17px}}.result-launch{background:#fffdf4ed;border:1px solid #d8bd7f;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px;margin:18px auto;padding:12px;display:grid;box-shadow:0 4px 16px #4238220e}.result-launch button{white-space:nowrap;min-width:0;min-height:44px;padding:10px 8px;font-size:13px}dialog.result-dialog.play-page{--result-gutter:clamp(14px,3.5vw,22px);color:#182e49;overscroll-behavior:contain;background:#fffcf4 url(/design/hd/page-background-rich.webp) 50%/cover;border:1px solid #c5a361;border-radius:20px;width:calc(100% - 32px);max-width:570px;max-height:86svh;margin:auto;padding:0;animation:.24s ease-out result-arrive;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 70px #142a4659,inset 0 0 0 4px #fff9e6}.result-dialog::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#13293d63}dialog.result-dialog.play-page:focus{outline:none}.result-dialog .result-dialog-header{z-index:6;min-height:44px;padding:0 var(--result-gutter);background:#fffdf7;border-radius:0;justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 1px #e6d9bb}.result-dialog .result-dismiss{width:44px;height:44px;min-height:44px;box-shadow:none;color:#345477;background:0 0;border:0;border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:flex}.result-dialog .result-dismiss:focus-visible{outline-offset:-4px;outline:2px solid #287aaf}.result-dismiss svg{width:24px;height:24px;display:block}.result-dialog .result-screen{max-width:none;margin:0}.result-dialog>.result-screen,.result-dialog>.result-review{min-width:0;padding:6px var(--result-gutter) 16px}.result-dialog .result-card{grid-template-columns:108px minmax(0,1fr);align-items:start;gap:14px;margin:0 0 12px;padding:13px}.result-dialog .result-card h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:16px;line-height:1.4}.result-summary{min-width:0}.result-card .result-summary .result-title{white-space:nowrap;text-overflow:ellipsis;letter-spacing:normal;font-size:17px;overflow:hidden}@media (max-width:650px){.result-card .result-summary .result-title{font-size:15px}}@container (width<=270px){.result-dialog .result-screen .result-card{grid-template-columns:minmax(0,1fr)}}.result-dialog .result-card p{margin:4px 0;font-size:12px;line-height:1.5}.result-dialog .result-card .result-label{font-size:16px}.result-dialog .result-card dl{gap:2px 8px;margin:6px 0;font-size:10px;line-height:1.5}.result-dialog .result-card dd{overflow-wrap:anywhere}.result-meta{background:0 0;border:0;margin:4px 0}.result-meta>summary{color:#326387;cursor:pointer;min-height:32px;padding:7px 0;font-size:11px}.result-dialog .result-card .assistance-counts{color:#747065;font-size:10px}.result-dialog .result-buttons{gap:9px}.result-dialog .result-buttons button{min-height:44px;padding:10px;font-size:14px}.result-buttons .result-icon-button{justify-content:center;align-items:center;gap:9px;display:flex}.result-action-icon{flex:none;width:20px;height:20px;display:block}.result-action-icon.result-share-icon{width:18px;height:18px}.result-save-spinner{animation:.8s linear infinite result-save-spin}.result-save-check{animation:.18s ease-out result-save-check-in}.result-buttons .result-save-button:disabled[aria-busy=true]{opacity:1;cursor:progress}@keyframes result-save-spin{to{transform:rotate(360deg)}}@keyframes result-save-check-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result-save-spinner,.result-save-check{animation:none}}.result-review-links{grid-template-columns:1fr 1fr;gap:9px;display:grid}.result-review-links button{justify-content:space-between;align-items:center;gap:6px;display:flex}.result-review-links span{font-size:21px;line-height:1}.result-dialog .result-back{margin:10px 0 0;font-size:12px}.result-dialog [role=status]:empty{display:none}.result-dialog.play-page.is-review{max-width:900px}.result-review h2{text-align:center;margin:0 0 12px;font:800 25px/1.5 Yu Mincho,Hiragino Mincho ProN,serif}.review-tabs{justify-content:center;gap:0;max-width:380px;margin:0 auto 14px;display:flex}.review-tabs button{color:#25557f;background:#fffef8;border:1px solid #94b7d5;border-radius:0;flex:1;min-height:44px;font-size:14px}.review-tabs button:first-child{border-radius:9px 0 0 9px}.review-tabs button:last-child{border-radius:0 9px 9px 0}.review-tabs button[aria-pressed=true]{color:#fff;background:linear-gradient(#149cdd,#0569c0);border-color:#0471c4;box-shadow:inset 0 1px #ffffff6b}.review-layout{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);align-items:stretch;gap:22px;max-width:735px;margin:auto;display:grid}.review-position{min-width:0}.result-dialog .review-board{grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.result-dialog .review-board>.square{cursor:default;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex}.result-dialog .review-board .piece{font-size:clamp(18px,3.8vw,29px)}.review-hand{align-items:baseline;gap:10px;margin:7px 0;font-size:11px;display:flex}.review-hand>b{white-space:nowrap;color:#4c5663}.review-hand>span{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.review-hand-piece{font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:inline-flex}.play-page .review-hand .piece{place-items:center;width:22px;height:27px;padding:5px 0 0;font-size:18px;display:inline-grid}.move-list{scrollbar-color:#b5c8d5 transparent;background:#fffdf8;border:1px solid #dfcfaa;border-radius:10px;align-self:stretch;min-height:180px;max-height:450px;position:relative;overflow:auto}.move-list button{width:100%;min-height:44px;box-shadow:none;text-align:left;background:0 0;border:0;border-bottom:1px solid #ebe2d1;border-radius:0;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;padding:10px;font-size:13px;display:grid}.move-list button span{color:#7a776e;font-size:11px}.move-list button b{font-weight:600}.move-list button[aria-current=step]{color:#075c9c;background:#e4f4fc;box-shadow:inset 4px 0 #137ebb}.review-current{flex-wrap:wrap;justify-content:space-between;gap:4px 15px;max-width:735px;margin:14px auto 10px;font-size:13px;line-height:1.7;display:flex}.review-current>span{color:#28608a}.review-toolbar{z-index:5;background:#fffdf7f5;border-bottom:1px solid #e5d9bd;max-width:735px;margin:auto;position:sticky;top:44px}.review-toolbar .review-current{margin-top:0;padding-top:8px}.graph-explanation>summary{color:#436685;cursor:pointer;padding:8px 2px;font-size:11px}.replay-controls{align-items:center;gap:7px;max-width:735px;margin:0 auto 12px;display:flex}.replay-controls button{color:#184d78;background:linear-gradient(#fff,#f1f4f8);border:1px solid #c0cddd;border-radius:8px;flex:0 0 44px;min-width:44px;min-height:44px;padding:4px;font-size:22px}.replay-controls input{accent-color:#087ac4;width:100%;min-width:20px;height:44px;box-shadow:none;border:0;padding:0}.result-review .review-note{color:#687382;max-width:735px;margin:7px auto;font-size:11px;line-height:1.6}.review-back{min-width:180px;margin:14px auto 0;display:block}.evaluation-chart{background:#fffef9e8;border:1px solid #d9c797;border-radius:12px;max-width:735px;margin:0 auto 14px;padding:14px}.graph-side{color:#305e7e;justify-content:space-between;font-size:11px;display:flex}.graph-side span{color:#8a7041}.evaluation-chart svg{width:100%;height:auto;display:block;overflow:visible}.evaluation-chart svg text{fill:#657282;font-variant-numeric:tabular-nums;font-size:12px}.graph-grid{stroke:#d8e1e5;stroke-width:1px}.graph-zero{stroke:#b8a16e;stroke-width:1.5px}.graph-line{fill:none;stroke:#187ebb;stroke-width:2.5px;stroke-dasharray:5 4;stroke-linejoin:round}.graph-dot{fill:#1486ca;stroke:#fff;stroke-width:2px}.graph-mate{fill:#c1a153;stroke:#fff6d4;stroke-width:2px}.graph-bound{fill:#fff4cd;stroke:#8f702a;stroke-width:2px}.graph-cursor{stroke:#536477;stroke-width:1px;stroke-dasharray:3 4}.graph-point{cursor:pointer;outline:none}.graph-point:focus-visible>circle:first-of-type,.graph-point.is-selected>circle:first-of-type{stroke:#0c629d;stroke-width:2px;fill:#d9f1ff80}.graph-empty{text-align:center;color:#647586;padding:25px 10px;font-size:14px}.review-layout.graph-layout{max-width:245px;display:block}.graph-layout .review-board .piece{font-size:18px}@keyframes result-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){dialog.result-dialog.play-page{border-radius:17px;width:calc(100% - 16px);max-height:83svh;margin:auto;padding:0}.result-dialog.play-page.is-review{max-height:91svh}.result-dialog .result-card{grid-template-columns:80px minmax(0,1fr);gap:9px;padding:10px}.result-dialog .result-card h2{font-size:14px}.result-dialog .result-card dl{font-size:9px}.result-dialog .result-buttons button{font-size:13px}.review-layout{max-width:400px;display:block}.move-list{min-height:0;max-height:138px;margin-top:12px}.result-review h2{font-size:22px}.result-dialog .review-board .piece{font-size:clamp(18px,6vw,29px)}.result-dialog .graph-layout .review-board .piece{font-size:18px}.evaluation-chart{padding:10px 6px}.replay-controls{gap:4px}.replay-controls button{flex-basis:40px;min-width:40px}.review-current{font-size:12px}.result-launch{grid-template-columns:repeat(2,minmax(0,1fr))}.result-launch>.primary{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){dialog.result-dialog{animation:none}}.sora-page,main,.play-page:not(.has-result),dialog.result-dialog.play-page{background-color:#fffcf4;background-position:top;background-repeat:repeat-y;background-size:100%}@media (max-width:650px),(orientation:portrait){.sora-page,main,.play-page:not(.has-result),dialog.result-dialog.play-page{background-image:url(/design/hd/page-background-portrait-v1.webp)}}:root{--ui-ink:#17334f;--ui-blue:#096ec3;--ui-gold:#c6a35d;--ui-line:#e2d4b9;--ui-paper:#fffdf6;--ui-gap:clamp(12px,2vw,24px)}html{scroll-padding-top:16px}body{color:var(--ui-ink)}.sora-page{max-width:1120px;padding-bottom:36px}.sora-page>h1{overflow-wrap:anywhere;margin:22px 0 10px;font-size:clamp(24px,3.1vw,34px);line-height:1.45}.sora-page>p{line-height:1.75}.sora-header{align-items:center;gap:12px;height:auto;min-height:68px;margin-bottom:16px}.sora-header .header-actions{flex-shrink:0}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #1982c7}.sora-page input:not([type=checkbox]):not([type=range]),.sora-page select,.sora-page textarea{border-radius:8px;max-width:100%;min-height:44px;font-size:16px}.sora-page label{min-width:0}.sora-page button:not(.square):not(.hand-pieces button):not(.piece-palette button){min-height:44px}.sora-menu>button{justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;display:flex}.sora-menu nav{border:1px solid var(--ui-gold);width:min(310px,100vw - 28px);max-height:75svh;padding:8px;overflow:auto;box-shadow:0 8px 30px #18345129}.sora-menu nav a{min-height:44px;padding:10px 12px;font-size:14px}.menu-group{color:#6c6657;border-top:1px solid #e5dcc9;margin-top:4px;padding:12px 12px 4px;font-size:11px;display:block}.sora-footer{flex-wrap:wrap;margin-top:24px;font-size:12px;line-height:1.7}.note{line-height:1.65}.error-text{overflow-wrap:anywhere;background:#fff6ef;border:1px solid #ce9a8a;border-radius:9px;padding:12px 14px}.sora-page .empty-state{border:1px solid var(--ui-line);text-align:center;background:#fffdf4eb;border-radius:14px;padding:30px 22px}.empty-state h2{font-size:20px}.empty-state a{align-items:center;min-height:44px;display:inline-flex}.sora-page .sora-loading:not(.compact){border-radius:14px;min-height:clamp(210px,34svh,340px);margin:18px auto}.sora-page .sora-loading.loading-list{align-items:stretch;gap:12px;min-height:0;padding:18px}.loading-list>.loading-emblem,.loading-list>div>p{display:none}.list-placeholders{gap:10px;display:grid}.list-placeholders>div{background:#fffefa;border:1px solid #e7deca;border-radius:8px;align-items:center;gap:16px;padding:12px;display:flex}.list-placeholders i{background:#eee6d5;border-radius:5px;width:64px;height:70px;display:block}.list-placeholders span{gap:12px;width:60%;display:grid}.list-placeholders b{background:#eee8dc;border-radius:5px;height:12px}.list-placeholders b:first-child{width:45%}.sora-page.home-page{max-width:740px;min-height:100svh;padding-bottom:24px}.home-page .home-hero{height:clamp(185px,34svh,270px)}.home-page .home-menu{top:10px;bottom:auto;right:16px}.home-page .home-intro{inset:17% 20% 15% 8%}.home-page .home-menu .sora-menu nav{max-height:70svh}.home-page .entry-button{--entry-tile:clamp(62px,15vw,90px);--entry-arrow:40px;gap:16px;min-height:114px;padding:10px 18px}.home-page .entry-button strong{font-size:clamp(19px,3vw,25px)}.home-page .entry-button small{margin-top:5px;line-height:1.6}.home-page .entry-soon{min-height:104px;margin-top:12px}.home-page .sora-footer{margin-top:16px;padding-top:8px}.collection-tabs{border-bottom:1px solid var(--ui-line);gap:6px;margin:18px 0 12px;display:flex}.collection-tabs a{color:var(--ui-ink);background:#ffffffbd;border-radius:9px 9px 0 0;padding:12px 18px;font-weight:700;text-decoration:none;display:block}.collection-tabs a[aria-current=page]{color:#fff;background:linear-gradient(#168ae0,#0863bb);box-shadow:inset 0 1px #c2e8ff}.archive-toolbar{align-items:center;gap:12px;margin:12px 0 16px}.archive-toolbar label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.challenge-card{grid-template-columns:96px minmax(0,1fr) 110px;gap:18px;min-height:116px;padding:12px}.challenge-card h2{overflow-wrap:anywhere;font-size:18px;line-height:1.6}.challenge-card p{margin:0 0 5px;font-size:12px;line-height:1.5}.challenge-card small{color:#6a6c70}.challenge-go{justify-content:center;align-items:center;min-height:46px;padding:8px 12px;display:flex}.detail-layout{grid-template-columns:minmax(280px,1.04fr) minmax(280px,1fr);align-items:start;gap:28px;margin-top:20px}.detail-layout>.position-preview{width:100%;max-width:470px;margin:auto}.detail-copy{background:#fffef8f5;padding:20px;box-shadow:0 3px 12px #60492010}.detail-copy p{font-size:15px;line-height:1.9}.detail-options{border:1px solid var(--ui-line);background:#fffdf7eb;border-radius:12px;margin-top:16px;padding:18px}.detail-options h2{margin:0 0 10px;font-size:17px}.detail-options label{gap:6px;margin-top:14px;font-size:14px;display:grid}.detail-options .challenge-start{width:100%;min-height:54px;margin:12px 0 0;padding:12px;font-size:17px}.start-summary{background:#eff7fc;border-radius:8px;padding:10px;font-size:13px;line-height:1.75}.preview-hands{background:#fffef4db;border-radius:8px;padding:8px 12px;font-size:13px}.human-time-select{gap:6px;margin:12px 0;display:grid}.human-time-select small{color:#6a6357;font-size:11px;font-weight:400;line-height:1.6}.time-pair{gap:12px;display:grid}.time-pair>label{gap:6px;display:grid}.play-page .game-frame{max-width:1040px}.play-page .play-area{max-width:940px;margin:auto}.play-page .game-top{margin-bottom:10px}.play-page .status strong{font-size:14px}.play-page .status p{font-size:12px;line-height:1.7}.play-page .status{min-height:50px;padding:8px 3px}.play-page .player-number b{font-variant-numeric:tabular-nums;font-family:Yu Gothic,sans-serif}.play-page .player-number>span{font-size:10px}.play-page .clock-low{color:#b02e26;background:#fff0d8;border-radius:4px;padding:0 4px}.play-page .primary-actions button{min-height:48px;font-size:13px}.play-page .primary-actions .resign-action{box-shadow:none;background:#fffaf1;border-bottom-width:1px}.play-page .hand-pieces small{min-width:20px;font-size:12px;line-height:16px}.play-page .hand-pieces button{width:40px;min-width:40px}.play-page .assistance-counts{font-size:11px;line-height:1.7}.play-page .play-settings,.play-page .play-context{max-width:940px}.play-page .play-settings>summary{font-size:14px}.play-page .play-context p,.play-page .hint-panel p,.play-page .hint-panel small{font-size:12px;line-height:1.7}.play-page .promotion-dialog{max-height:calc(100svh - 28px);overflow:auto}@media (min-width:900px){.play-page .game-arena{grid-template-columns:minmax(140px,1fr) minmax(280px,min(54vw,95svh - 289.75px)) minmax(140px,1fr);align-items:start;gap:16px;width:100%;max-width:none;display:grid}.play-page .game-arena>.board-wrap{grid-area:1/2;width:100%;max-width:none}.play-page .player-panel{border:1px solid var(--ui-line);border-radius:12px;flex-direction:column;align-items:stretch;gap:18px;width:auto;min-width:0;min-height:210px;padding:12px;display:flex}.play-page .human-panel{grid-area:1/1}.play-page .ai-panel{grid-area:1/3}.play-page .player-identity{grid-template-columns:38px minmax(0,1fr);gap:4px 7px}.play-page .player-avatar,.play-page .ai-avatar{width:38px;height:38px}.play-page .player-number{color:#fff;background:#173750;border-radius:6px;flex-wrap:wrap;grid-column:1/-1;justify-content:center;margin-top:8px;padding:10px 8px}.play-page .player-number>span{color:#e0edf4}.play-page .player-number b{font-size:28px}.play-page .hand-title{margin-bottom:8px;font-size:12px}.play-page .status,.play-page .primary-actions{max-width:650px;margin-left:auto;margin-right:auto}}.editor-ux .editor-modebar{margin-bottom:10px}.editor-ux .editor-tool-guidance{min-height:38px}.editor-ux .editor-selection-slot{min-height:154px}.editor-selection-empty{color:#6d685d;background:#fffdf3b8;border:1px dashed #c8bba2;border-radius:10px;margin:10px 0;padding:18px;font-size:13px;line-height:1.7}.editor-ux .piece-palette .piece.opponent{transform:none}.editor-ux .editor-settings{border:1px solid var(--ui-line);background:#fffdf8;border-radius:10px;padding:12px}.editor-ux .editor-settings label{gap:6px;margin-bottom:10px;display:grid}.editor-save-panel .editor-play-setup{border-top:1px solid var(--ui-line);margin-top:18px;padding-top:6px}.editor-save-panel p{font-size:12px;line-height:1.7}.editor-backup summary,.editor-more-save summary,.preset-fold summary{min-height:44px;padding:12px 4px;font-size:13px}.saved-grid{grid-template-columns:1fr}.saved-card{grid-template-columns:100px minmax(0,1fr) minmax(150px,190px);align-items:center;gap:18px}.saved-card>.mini-board{width:100px}.saved-card .saved-actions{grid-column:3;grid-template-columns:1fr 1fr;display:grid}.saved-actions .primary{grid-column:1/-1}.saved-info p{font-size:12px;line-height:1.65}.saved-status{color:#39714e}.saved-more{position:relative}.saved-more summary{cursor:pointer;border:1px solid var(--ui-line);background:#fffef8;border-radius:8px;min-height:44px;padding:10px;font-size:13px}.saved-more[open]{border:1px solid var(--ui-line);background:#fffdf5;border-radius:9px;grid-column:1/-1;padding:4px}.saved-more button{width:100%;margin:4px 0}.saved-more button:last-child{color:#9c3027;border-color:#dcc0b8}.result-dialog .result-card h2{font-size:17px;line-height:1.6}.result-dialog .result-card p{font-size:12px;line-height:1.7}.result-meta summary{min-height:40px;padding:10px 0;font-size:12px}.result-buttons button{min-height:48px}.result-review .review-current{border-left:4px solid var(--ui-gold);background:#fffaf0;border-radius:0 8px 8px 0;padding:9px 12px}.result-review .replay-controls button{min-width:44px;min-height:44px}.result-review .move-list button[aria-current=step]{color:#104c78;background:#e3f2fb;box-shadow:inset 4px 0 #cba144}.result-review .graph-cursor{stroke:#b18227;stroke-width:2px;stroke-dasharray:4 3}.result-review .graph-point.is-selected .graph-dot{stroke:#ae7827;stroke-width:3px;r:7}.share-dialog{width:min(900px,100vw - 28px);max-width:900px;max-height:calc(100svh - 28px)}.share-dialog .share-heading{z-index:2;border-bottom:1px solid var(--ui-line);background:#fffdf7;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex;position:sticky;top:-22px}.share-dialog .share-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.share-dialog .share-buttons button{white-space:normal;min-height:44px}.share-dialog .share-preview{max-width:340px}.share-dialog .share-record-details{overflow-wrap:anywhere;margin:10px 0;font-size:12px}.share-dialog textarea{border:1px solid var(--ui-line);border-radius:8px;font-size:14px;line-height:1.7}.share-text-panel{gap:8px;display:grid}.sora-confirm{border:1px solid var(--ui-gold);border-top:4px solid var(--ui-gold);width:min(460px,100vw - 28px);color:var(--ui-ink);background:linear-gradient(135deg,#fffef8,#fcf4de);border-radius:16px;max-height:calc(100svh - 28px);padding:24px;overflow:auto;box-shadow:0 15px 60px #12345140}.sora-confirm::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17344f80}.sora-confirm h2{margin:0 0 14px;font-size:21px;line-height:1.5}.sora-confirm p{font-size:14px;line-height:1.8}.confirm-actions{grid-template-columns:1fr 1.5fr;gap:12px;margin-top:22px;display:grid}.confirm-actions button{min-height:46px}.storage-options{grid-template-columns:1fr 1fr;gap:18px;display:grid}.storage-options>section{border:1px solid var(--ui-line);background:#fffdf7ed;border-radius:12px;min-width:0;padding:20px}.storage-options h2{margin:0 0 12px;font-size:19px}.storage-options label{gap:8px;margin:14px 0;display:grid}.storage-options input{max-width:100%}.storage-options details{margin:14px 0;font-size:12px}.storage-page .storage-intro{max-width:760px;line-height:1.8}.storage-page .backup-confirmation{border:2px solid var(--ui-gold)}.admin-diagnostics-fold{border-bottom:1px solid var(--ui-line);margin:10px 0;padding:10px 0}.admin-diagnostics-fold>summary{cursor:pointer;min-height:44px;padding:12px;font-size:13px}.admin-steps{grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 22px;padding:0;list-style:none;display:grid}.admin-steps li{text-align:center;background:#f4f0e5;border-radius:7px;padding:12px 8px;font-size:13px}.admin-steps li[aria-current=step]{color:#145983;background:#e1f1fb;border:1px solid #478abb;font-weight:700}.admin-edit>.challenge-actions{border-top:1px solid var(--ui-line);gap:10px;padding:16px 0}.admin-edit .revision-row{border-left:4px solid #bda064;margin:12px 0}@media (max-width:700px){.sora-page{padding-left:12px;padding-right:12px}.sora-header{min-height:56px;margin-left:-12px;margin-right:-12px;padding:6px 12px}.sora-page>h1{margin-top:16px;font-size:24px}.home-page .home-menu{top:6px;right:12px}.home-page .home-hero{height:clamp(180px,28svh,240px)}.home-page .entry-button{--entry-tile:64px;--entry-arrow:32px;gap:10px;min-height:110px;padding:10px 12px}.home-page .entry-button small{font-size:11px}.home-page .entry-heading{display:block}.home-page .coming{margin-top:5px;display:inline-block}.collection-tabs a{padding:11px 13px;font-size:14px}.challenge-card{grid-template-columns:72px minmax(0,1fr) 72px;gap:10px;min-height:95px;padding:10px 8px}.challenge-card h2{font-size:14px}.challenge-card p{font-size:11px}.challenge-card small{display:block}.challenge-go{padding:7px 5px;font-size:12px}.detail-layout{grid-template-columns:1fr;gap:16px;margin-top:14px}.detail-layout>.position-preview{max-width:420px}.detail-copy{padding:16px}.detail-options{margin-top:12px;padding:14px}.detail-options .note{font-size:12px}.play-page .player-number>span{font-size:9px}.play-page .hand-pieces small{font-size:11px}.play-page .hand-pieces button{width:34px;min-width:34px}.play-page .primary-actions{gap:5px;margin-top:6px}.play-page .primary-actions button{min-height:46px;font-size:12px}.play-page .status p{font-size:11px}.editor-ux .editor-selection-slot{min-height:158px}.saved-card{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px}.saved-card>.mini-board{width:82px}.saved-card .saved-actions{grid-column:1/-1;grid-template-columns:1.5fr 1fr 1fr;align-items:start}.saved-actions .primary{grid-column:auto}.saved-more[open]{grid-column:1/-1}.storage-options{grid-template-columns:1fr}.storage-options>section{padding:16px}.admin-steps{grid-template-columns:1fr 1fr}.result-dialog .result-card{grid-template-columns:95px minmax(0,1fr)}.result-dialog .result-card h2{font-size:15px}.share-dialog{padding:15px}.share-dialog .share-heading{top:-15px}}@media (max-width:360px){.home-page .entry-button{--entry-tile:52px;gap:8px}.home-page .entry-button strong{font-size:18px}.challenge-card{grid-template-columns:60px minmax(0,1fr) 62px;gap:7px}.challenge-card h2{font-size:13px}.play-page .primary-actions button{font-size:11px}.result-dialog .result-card{grid-template-columns:76px minmax(0,1fr)}}@media (max-height:500px) and (min-width:700px){.play-page .game-arena{grid-template-columns:140px minmax(280px,400px) 140px}.sora-header{min-height:52px}.home-page .home-hero{height:190px}}.save-recovery{background:#fff7e7;border:1px solid #ba8262;border-radius:10px;max-width:650px;margin:10px auto;padding:14px;font-size:13px;line-height:1.7}.save-recovery details{overflow-wrap:anywhere;margin-top:8px}.play-context-actions{gap:8px;display:grid}.play-context-actions button{border:1px solid var(--ui-line);background:#fffdf7;font-size:12px}.sora-page{min-height:100svh}.play-page .workspace{width:100%;max-width:940px}.play-page .board{container-type:inline-size}.play-page .board .piece{font-size:7.5cqw}@media (min-width:900px){.play-page .player-avatar,.play-page .ai-avatar{grid-row:1}.play-page .player-name{align-self:center}.play-page .player-number{grid-row:2}}.admin-list-fold>summary{cursor:pointer;padding:14px 4px;font-size:14px}.admin-list-fold .challenge-list{grid-template-columns:1fr;display:grid}.admin-list-fold .challenge-card{grid-template-columns:minmax(0,1fr) 100px;gap:5px 14px;min-height:100px;padding:14px}.admin-list-fold .challenge-card h2{grid-area:1/1;margin:0;font-size:15px;line-height:1.6}.admin-list-fold .challenge-card p{grid-area:2/1;margin:0}.admin-list-fold .challenge-card>small{grid-area:3/1;font-size:11px;line-height:1.6}.admin-list-fold .challenge-card>button{white-space:nowrap;grid-area:1/2/4;align-self:center;min-width:100px;margin:0;padding:10px 8px;font-size:13px}@media (max-width:400px){.admin-list-fold .challenge-card{grid-template-columns:minmax(0,1fr) 86px;gap:4px 8px;padding:10px}.admin-list-fold .challenge-card>button{min-width:86px;font-size:12px}.admin-list-fold .challenge-card h2{font-size:14px}}.sora-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;display:grid}.sora-header>.back-link{white-space:normal;grid-column:1;justify-self:start;align-items:center;gap:4px;min-width:0;max-width:100%;min-height:44px;font-size:12px;line-height:1.5;display:flex}.sora-header>.back-link>span:first-child{flex:none;font-size:18px}.sora-header>button.history-back{width:44px;height:44px;box-shadow:none;color:#0651b5;background:0 0;border:0;border-radius:8px;justify-content:center;padding:0}.sora-header>button.history-back svg{flex:none;width:24px;height:24px;display:block}.sora-header>.sora-logo{grid-column:2;justify-self:center;gap:6px;width:clamp(124px,36vw,196px);min-width:0}.sora-header>.sora-logo .brand-avatar{aspect-ratio:1;flex:none;width:21%;height:auto}.sora-header>.sora-logo .brand-word{width:calc(79% - 6px);min-width:0;height:44px}.sora-header>.header-actions{grid-column:3;justify-self:end;min-width:0}.sora-menu>button .menu-bars{fill:currentColor;flex:none;width:24px;height:24px;display:block}@media (max-width:430px){.sora-header>.back-link{font-size:11px}.sora-header>.sora-logo .brand-word{height:38px}.sora-header .sora-menu>button{padding:7px 9px}}.challenge-heading{isolation:isolate;background:linear-gradient(110deg,#fffefbf7 55%,#fff8e9ef);border:1px solid #e6d8b9;border-radius:12px;margin:20px 0 18px;padding:22px 28px 20px;display:block;position:relative;box-shadow:0 3px 12px #7055280b}.challenge-heading:before{content:"";background:linear-gradient(#dab974,#b28a41);border-radius:2px;width:3px;position:absolute;top:23px;bottom:23px;left:12px}.challenge-heading:after{content:"";z-index:-1;border:1px solid #c9a35d55;width:12px;height:12px;position:absolute;top:14px;right:14px;transform:rotate(45deg);box-shadow:5px -5px 0 -1px #e7ca8e25}.challenge-heading h1{color:#17344e;letter-spacing:.035em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif CJK JP,serif;font-size:clamp(23px,2.7vw,32px);font-weight:800;line-height:1.6;overflow:hidden}.challenge-heading-meta{color:#6f695c;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;font-size:12px;line-height:1.6;display:flex}.challenge-heading-meta time{font-variant-numeric:tabular-nums;letter-spacing:.045em}@media (max-width:650px){.challenge-heading{border-radius:10px;margin:14px 0 16px;padding:17px 18px 15px 22px}.challenge-heading:before{width:2px;top:20px;bottom:20px;left:9px}.challenge-heading h1{letter-spacing:.025em;font-size:clamp(19px,5.3vw,23px);line-height:1.65}.challenge-heading-meta{gap:7px 12px;margin-top:10px;font-size:11px}}.challenge-title-guide{margin-top:6px;font-size:12px;font-weight:400;line-height:1.7;display:block}.challenge-title-guide span{display:block}.challenge-title-guide[data-over-limit=true]{color:#856320}.piece,.play-page .piece{clip-path:none;filter:none;width:96%;height:100%;text-shadow:none;box-shadow:none;color:#26190e;background:url(/design/wood-piece-photo-v2.svg) 50%/contain no-repeat;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;font-style:normal;line-height:1;display:inline-flex}.piece.opponent,.play-page .piece.opponent{background-image:url(/design/wood-piece-photo-reverse-v2.svg);transform:rotate(180deg)}.piece-letter{pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.piece-letter text{fill:currentColor;stroke-width:1.25px;paint-order:stroke fill;filter:drop-shadow(.28px .4px #ffedcc);font-family:HG正楷書体-PRO,HGSeikaishotaiPRO,Yu Mincho,Hiragino Mincho ProN,MS Mincho,serif;font-size:68px;font-weight:600}.piece.opponent .piece-letter text{filter:drop-shadow(-.28px -.4px #ffedcc)}.piece.promoted,.play-page .piece.promoted{color:#9b2820}.piece.promoted .piece-letter text{stroke-width:1.1px}.board-wrap,.preview-wood,.play-page .board-wrap{background:#e6bb85 url(/design/wood-grain-photo-v2.webp) 50%/cover;border:1px solid #b37f43;border-radius:0;box-shadow:inset 0 1px #ffe4b4,inset -1px -1px #d09a5a,0 3px #d2a16b,0 6px #b88143,0 8px 1px #9b682e,0 12px 13px #51311529}.board,.mini-board,.saved-card>.mini-board,.play-page .board{box-shadow:none;background:#e8be89 url(/design/wood-grain-photo-v2.webp) 50%/100% 100%;border:1px solid #68431e;border-radius:0}.square,.mini-board>span,.play-page .square{border-color:#65411eaa}.square:disabled,.play-page .square:disabled{opacity:1}.mini-board .piece{width:96%;height:100%}.file-labels,.rank-labels{color:#68451f;text-shadow:0 1px #fff0c070;font-weight:600}.hand .piece,.play-page .hand-pieces .piece{flex:none;width:32px;height:39px;padding:0}.piece-palette .piece{flex:none;width:min(37px,100%);height:100%;max-height:45px;padding:0}.hand-number .piece{flex:none;width:29px;height:35px}.review-hand-piece .piece{flex:none;width:30px;height:36px}.promotion-option .piece,.play-page .promotion-option .piece{flex:none;width:70px;height:84px;padding:0}@media (max-width:560px){.hand .piece,.play-page .hand-pieces .piece{width:29px;height:35px}}.koma-stand{color:#49321c;text-align:left;width:100%;min-width:0;max-width:100%;margin:0}.stand-heading{justify-content:flex-end;align-items:center;gap:8px;min-height:25px;padding:0 2px 5px;font-size:12px;display:flex}.stand-heading>button{color:#145a8f;min-height:30px;box-shadow:none;white-space:nowrap;background:#fffaf0;border:1px solid #cfb57e;padding:3px 7px;font-size:11px}.stand-surface{scrollbar-width:thin;scrollbar-color:#b38448 transparent;overscroll-behavior-x:contain;background:#e7b67b url(/design/wood-grain-photo-v2.webp) 65% 55%/cover;border:1px solid #bc874b;border-radius:0;min-width:0;height:74px;margin-bottom:7px;padding:8px 10px;display:block;overflow:auto hidden;box-shadow:inset 0 1px #ffe6b6,inset -1px -1px #d49f5d,0 3px #d7a269,0 5px #b47c3d,0 7px #986126,0 10px 9px #53361926}.koma-stand .stand-pieces{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:clamp(2px,.6vw,6px);height:100%;min-height:0;margin:0;padding:0;display:flex}.koma-stand .stand-pieces .stand-token{color:#291b0e;width:44px;min-width:32px;height:56px;min-height:56px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;flex:0 44px;justify-content:center;align-items:center;gap:1px;margin:0;padding:0;font-style:normal;line-height:1;display:flex;position:relative}.koma-stand .stand-piece-art{flex:none;width:42px;max-width:100%;height:44px;display:block;position:relative}.koma-stand .stand-token .stand-piece-art .piece{opacity:1;width:calc(100% - 8px);height:41px;padding:0;position:absolute;top:0;left:0}.koma-stand .stand-count{color:#263f50;min-width:11px;max-width:100%;height:22px;box-shadow:none;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0;-webkit-text-stroke:2px #f9e7c6;paint-order:stroke fill;text-shadow:none;z-index:2;pointer-events:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;font:600 18px/1 Segoe UI,Yu Gothic,Meiryo,sans-serif;display:flex;position:absolute;bottom:0;right:2px}.koma-stand .stand-count-wide{letter-spacing:-.02em;font-size:17px;right:0}.koma-stand button.stand-token:not(:disabled){cursor:pointer}.koma-stand button.stand-token:disabled{opacity:1;cursor:default}.koma-stand button.stand-token:not(:disabled):hover{background:#fff5d47a;border-color:#b78e48;transform:none}.koma-stand button.stand-token.selected{background:#e3f3ff;border:2px solid #147abb;outline:1px solid #fff6d9;padding:0 0 1px;box-shadow:0 0 0 2px #147abb30}.koma-stand button.stand-token.hint-source{outline-offset:1px;background:#e3f4ff;outline:2px solid #1782c2;box-shadow:0 0 0 4px #efcf77}.koma-stand .stand-surface-empty .stand-pieces{justify-content:center;height:100%;min-height:0}.koma-stand .stand-empty{color:#49321c;text-align:center;white-space:nowrap;width:auto;margin:0;padding:0;font-size:14px;font-weight:500;line-height:1.5}.stand-pair{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;min-width:0;display:grid}:is(.position-preview:not(.compact),.review-position,.editor-board-kit){flex-direction:column;align-items:stretch;gap:0;display:flex}:is(.position-preview:not(.compact),.review-position,.editor-board-kit)>.koma-stand{flex-direction:column;align-items:stretch;gap:0;margin:0;display:flex}:is(.position-preview:not(.compact),.review-position,.editor-board-kit)>.koma-stand:first-child{order:0;margin-bottom:8px}:is(.position-preview:not(.compact),.review-position,.editor-board-kit)>:is(.preview-wood,.board-wrap){order:1;margin-top:0;margin-bottom:0}:is(.position-preview:not(.compact),.review-position,.editor-board-kit)>.koma-stand:last-child{order:2;margin-top:16px}:is(.position-preview:not(.compact),.review-position,.editor-board-kit)>.koma-stand:last-child>.stand-heading{order:1;padding:5px 2px 0}.detail-layout>.position-preview{margin:0 auto}.position-preview>.koma-stand:first-child{order:0}.position-preview>.preview-wood{order:1}.position-preview>.koma-stand:last-child{order:2}.position-preview .stand-heading{justify-content:flex-start}.position-preview .stand-heading>span{color:#254b64;background:#fffdf7;border:1px solid #e5d7ba;border-radius:4px;padding:1px 8px;font-weight:600;line-height:1.4}.position-preview:not(.compact)>.koma-stand:last-child>.stand-heading{order:0;padding:0 2px 5px}.saved-card>.stand-pair,.result-card>.stand-pair{grid-column:1/-1}.koma-stand.stand-compact .stand-token{flex-basis:40px;width:40px;min-width:32px;height:50px;min-height:50px}.koma-stand.stand-compact .stand-piece-art{width:36px;height:38px}.koma-stand.stand-compact .stand-token .stand-piece-art .piece{height:34px}.koma-stand.stand-compact .stand-count{height:20px;font-size:17px;bottom:0}.koma-stand.stand-compact .stand-count-wide{font-size:16px}.stand-compact .stand-pieces{gap:2px;min-height:0}.stand-compact .stand-surface{height:66px;padding:6px 7px}.stand-compact .stand-heading{font-size:11px}.play-page .game-arena{--board-hand-gap:8px;flex-direction:column;align-items:stretch;gap:0;max-width:620px;margin:auto;display:flex}.play-page .game-arena>.board-wrap{width:100%;max-width:620px}.play-page .player-panel{min-height:0;padding:var(--board-hand-gap) 0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:126px minmax(0,1fr);gap:12px;display:grid}.play-page .human-panel{padding-top:calc(var(--board-hand-gap) + 8px);grid-template-columns:minmax(0,1fr) 126px}.play-page .player-panel .player-identity{grid-area:1/1;grid-template-columns:32px minmax(0,1fr);align-self:center;gap:4px 7px}.play-page .human-panel .player-identity{grid-column:2}.play-page .player-panel .hand.koma-stand{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:1/2;margin:0;padding:0;display:block}.play-page .human-panel .hand.koma-stand{flex-direction:column;grid-column:1;align-items:stretch;display:flex}.play-page .human-panel .hand.koma-stand .stand-heading{order:1;padding:5px 2px 0}.play-page .player-panel .player-number{color:#163e68;background:0 0;flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start;gap:5px;margin:0;padding:0}.play-page .player-number>span{color:#6c7070}.play-page .player-number b{font-size:23px}.play-page .player-avatar,.play-page .ai-avatar{width:32px;height:32px}.play-page .hand.koma-stand .stand-heading{min-height:20px;font-size:11px}.detail-layout .position-preview>.koma-stand>.stand-heading{display:none}.editor-board-kit{width:100%;min-width:0;max-width:540px;margin:auto}.editor-hand-panel .hand-editor{background:#e7bd87 url(/design/wood-grain-photo-v2.webp) 50%/cover;border:1px solid #b28a4f;padding:12px;box-shadow:0 3px #a9793b}.editor-hand-panel .hand-number input{font-variant-numeric:tabular-nums;background:#fff9e8;border-color:#b99a63;font-weight:700}.editor-hand-panel .hand-number button{box-shadow:none;background:#fff6dd;border-color:#b79a67}@media (max-width:560px){.stand-surface{padding:7px}.stand-heading{font-size:11px}.play-page .player-panel,.play-page .human-panel{grid-template-columns:minmax(0,1fr);gap:6px}.play-page .player-panel .player-identity{grid-area:1/1;grid-template-columns:32px minmax(0,1fr) auto;gap:5px 8px}.play-page .player-panel .hand.koma-stand{grid-area:2/1}.play-page .human-panel .hand.koma-stand{grid-row:1}.play-page .human-panel .player-identity{grid-row:2}.play-page .player-panel .player-number{grid-area:1/3/3;justify-content:flex-end;max-width:145px}}.play-page .player-panel,.play-page .human-panel{grid-template-columns:minmax(0,1fr);gap:10px}.play-page .player-panel .player-card{color:#fffdf7;text-align:left;background:linear-gradient(115deg,#294e69,#173b58 65%,#102d46);border:1px solid #bca675;border-radius:10px;grid-area:1/1;min-width:0;margin-left:14px;box-shadow:inset 0 1px #ffffff16,0 3px 7px #17355319}.play-page .ai-panel .player-card{background:linear-gradient(115deg,#36556c,#233e55 65%,#192f45);border-color:#88a8bd}.play-page .player-panel .player-identity{grid-template-rows:minmax(60px,auto);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:0 14px 0 0;display:grid}.play-page .player-card .player-avatar,.play-page .player-card .ai-avatar{background:#fffaf0;border:2px solid #d1b774;grid-area:1/1;width:56px;height:56px;margin:0 0 0 -14px;box-shadow:0 0 0 3px #fff9ec,0 3px 7px #122c4638}.play-page .player-card .ai-avatar{background:#061423;border-color:#8fb7d0}.play-page .player-card .player-portrait{--orbit-color:#ffd56a;--orbit-tail:#f5bd4b90;border-radius:50%;grid-area:1/1;align-self:center;width:56px;height:56px;margin-left:-14px;position:relative}.play-page .ai-panel .player-portrait{--orbit-color:#67ddff;--orbit-tail:#38c8f090}.play-page .player-portrait>:is(.player-avatar,.ai-avatar){margin:0;display:block}.play-page .active-turn .player-portrait>:is(.player-avatar,.ai-avatar){box-shadow:0 0 0 5px #617e90, 0 0 9px 5px var(--orbit-tail)}.play-page .player-portrait .turn-orbit{pointer-events:none;border-radius:50%;display:none;position:absolute;inset:-5px}.play-page .active-turn .turn-orbit{animation:2.2s linear infinite player-turn-orbit;display:block}.play-page .turn-orbit:before{content:"";border-radius:inherit;background:conic-gradient(transparent 170deg, var(--orbit-tail) 225deg, var(--orbit-color) 290deg, #fffef2 350deg, transparent 360deg);position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4.5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4.5px),#000 calc(100% - 4px))}.play-page .turn-orbit:after{content:"";width:8px;height:8px;box-shadow:0 0 5px 3px var(--orbit-color), 0 0 11px 3px var(--orbit-tail);background:#fffef2;border-radius:50%;position:absolute;top:-1px;left:calc(50% - 4px)}@keyframes player-turn-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.play-page .active-turn .turn-orbit{animation:none}}.play-page .player-card .player-name{grid-area:1/2;min-width:0}.play-page .player-card .player-name>small{color:#cbdbe6;gap:7px;font-size:10px;line-height:1.4}.play-page .player-card h2{color:#fffdf7;letter-spacing:.04em;margin:1px 0 0;font-size:17px;font-weight:650;line-height:1.4}.play-page .player-card .turn-label{color:#243f54;background:#e8d5a8;border-radius:3px;padding:1px 5px;font-size:9px}.play-page .player-card .player-number{color:#fffdf7;background:0 0;border-left:1px solid #adc9dc38;border-radius:0;flex-flow:column;grid-area:1/3;justify-content:center;align-items:flex-end;gap:2px;min-width:62px;max-width:none;margin:0;padding:0 0 0 14px;display:flex}.play-page .player-card .player-number b{letter-spacing:.015em;font-variant-numeric:tabular-nums;font-family:Bahnschrift,DIN Alternate,Arial,sans-serif;font-size:27px;font-weight:500;line-height:1.1}.play-page .player-card .player-number.is-unlimited{align-items:center}.play-page .player-card .is-unlimited b{justify-content:center;align-items:center;min-height:30px;display:flex}.play-page .player-card .unlimited-mark{width:28px;height:20px;display:block}.play-page .player-card .player-number b small{color:#d4e1e9;margin-left:4px;font-size:11px;font-weight:500}.play-page .player-card .player-number>span{color:#d4e1e9;letter-spacing:0;font-size:9px;line-height:1.3}.play-page .player-card .player-number .clock-low{color:#9b2822;background:#fff0d8}.play-page .player-card .clock-low small{color:inherit}.play-page .player-panel .hand.koma-stand{grid-area:2/1}.play-page .human-panel .hand.koma-stand{grid-row:1}.play-page .human-panel .player-card{grid-row:2}.play-page .player-card .primary-actions{background:#fffaf0;border-top:1px solid #cbb887;border-radius:0 0 9px 9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:none;margin:0;padding:3px 4px;display:grid}.play-page .player-card .primary-actions button{min-height:44px;box-shadow:none;color:#254d6b;white-space:nowrap;background:0 0;border:0;border-radius:5px;flex-direction:row;justify-content:center;align-items:center;gap:5px;margin:0;padding:5px 2px;font-size:12px;font-weight:600;line-height:1.3;display:flex}.play-page .player-card .primary-actions button+button{position:relative}.play-page .player-card .primary-actions button+button:before{content:"";background:#d9cdb4;width:1px;position:absolute;top:12px;bottom:12px;left:0}.play-page .player-card .primary-actions .play-icon{flex:none;width:16px;height:16px}.play-page .player-card .primary-actions .resign-action{color:#945846}.play-page .player-card .primary-actions .resume-action{color:#07649b;background:#e3eff6}.play-page .player-card .primary-actions button:disabled{opacity:.5}.play-page .player-card .primary-actions button:hover:not(:disabled){background:#e8f0f4}.play-page .player-card .primary-actions button:focus-visible{outline-offset:-2px;outline:2px solid #176d9d}.play-page .player-card .primary-actions .declaration-action{border-top:1px solid #d9cdb4;border-radius:0;grid-column:1/-1}.play-page .player-card .primary-actions .declaration-action:before{display:none}@media (max-width:360px){.play-page .player-panel .player-identity{gap:0 8px;padding-right:10px}.play-page .player-card .primary-actions button{gap:4px;font-size:11px}}.sora-page{--readable-paper:#fffdf7;--readable-line:#e5d7ba;--readable-ink:#173f65}.sora-page>h1,.sora-page .challenge-heading,.sora-page .collection-heading{color:var(--readable-ink);border:1px solid var(--readable-line);background:linear-gradient(115deg,#fffefa,#fffdf7);border-radius:5px 16px;box-shadow:inset 0 3px #c7ad70,0 5px 16px #223b5012}.sora-page>h1{overflow-wrap:anywhere;padding:22px 24px;font-family:Noto Serif JP,Yu Mincho,serif;line-height:1.5}.sora-page .collection-heading{margin:20px 0;padding:20px 24px 0}.collection-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.collection-heading-row h1{letter-spacing:.04em;margin:0;font-family:Noto Serif JP,Yu Mincho,serif;font-size:clamp(20px,4vw,30px);font-weight:700;line-height:1.6}.collection-heading .collection-refresh{color:#235478;width:44px;height:44px;box-shadow:none;background:#fffdf7;border:1px solid #d3c094;border-radius:50%;flex:0 0 44px;place-items:center;padding:0;display:grid}.collection-heading .collection-refresh:hover{background:#edf5fa;border-color:#a8becf}.collection-heading .collection-refresh svg{shape-rendering:geometricprecision;flex:none;width:24px;height:24px;display:block}.sora-page .collection-heading .collection-tabs{border:0;gap:20px;margin:20px 0 0}.sora-page .collection-heading .collection-tabs a{min-height:44px;box-shadow:none;color:#617080;background:0 0;border:0;border-radius:0;padding:10px 2px 14px;font-size:14px;font-weight:500;position:relative}.sora-page .collection-heading .collection-tabs a[aria-current=page]{color:#164f7c;font-weight:700}.collection-heading .collection-tabs a[aria-current=page]:after{content:"";background:#b99348;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.sora-page .collection-heading .archive-toolbar{background:0 0;border:0;border-top:1px solid #e9e2d3;border-radius:0;margin:0;padding:16px 0 18px}.collection-heading .archive-toolbar label{color:#617080;font-size:12px}.sora-page .pagination{background:var(--readable-paper);border-block:1px solid var(--readable-line);color:var(--readable-ink);border-radius:4px;padding:12px 16px}.sora-page>p:not(:empty):not(.visually-hidden),.sora-page>.error-text:not(:empty),.play-page .error-text:not(:empty),.result-screen>p:not(:empty),.result-buttons>p{border:1px solid var(--readable-line,#e5d7ba);background:var(--readable-paper,#fffdf7);overflow-wrap:anywhere;border-radius:10px;padding:12px 16px;line-height:1.75}.sora-page .error-text:not(:empty){background-color:#fff5f2}.storage-page>p:empty{display:none}.sora-page .position-workspace{background:var(--readable-paper);border:1px solid var(--readable-line);border-radius:12px;margin-top:16px;padding:16px}.sora-page .position-workspace .editor-title{margin-top:16px}.sora-page .position-workspace .editor-title h1{margin:0}.sora-page .detail-options,.sora-page .challenge-panel,.sora-page .storage-options>section,.sora-page .admin-diagnostics-fold,.sora-page .play-settings,.sora-page .play-context,.sora-page .empty-state,.sora-page .result-launch{background:var(--readable-paper)}.sora-page .empty-state{border:1px solid #e3d9c5;border-radius:14px;padding:34px 24px 28px;box-shadow:0 5px 18px #223b500d}.sora-page .empty-state h2{font-family:Noto Serif JP,Yu Mincho,serif;line-height:1.7}.sora-page .empty-state h2:before{content:"";background:#b99348;width:32px;height:2px;margin:0 auto 18px;display:block}.sora-page .empty-state>p{color:#596e80;font-size:14px;line-height:1.9}.sora-page .empty-state>a{color:#175c89;text-underline-offset:6px;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration-color:#bda66c;display:inline-flex}.sora-page .admin-diagnostics-fold{border:1px solid var(--readable-line);border-radius:10px;padding:4px 12px}.sora-page .detail-options{border:1px solid var(--readable-line);border-radius:12px;padding:18px}.sora-page .sora-loading{background-color:var(--readable-paper)}.result-dialog.play-page>.result-review,.result-dialog .review-toolbar,.result-dialog .evaluation-chart{background:#fffdf7}@media (max-width:700px){.sora-page>h1{padding:18px 20px}.sora-page .collection-heading{margin:16px 0;padding:18px 18px 0}.sora-page .collection-heading .collection-tabs{gap:22px;margin-top:14px}.sora-page .pagination{padding:10px 12px}.sora-page .position-workspace{padding:10px}.sora-page .detail-options{padding:14px}}.challenge-choices{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.challenge-choice{color:#fff9ec;background:linear-gradient(120deg,#28536ca6,#22465db3),#28536c url(/design/challenge-card-cloth-v1.webp) 50%/320px 320px;border:1px solid #54758b;border-radius:6px;min-width:0;text-decoration:none;transition:box-shadow .18s,border-color .18s;display:block;box-shadow:inset 0 1px #ffffff20,0 5px 14px #19334926;container-type:inline-size}.challenge-choice:visited{color:#fff9ec}.challenge-choice:hover{color:#fff9ec;border-color:#d4b776;box-shadow:inset 0 1px #ffffff20,0 7px 20px #19334938}.challenge-choice:focus-visible{outline-offset:4px;outline:3px solid #117ac0}.choice-layout{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:stretch;gap:clamp(10px,4cqw,42px);padding:clamp(12px,3.3cqw,36px);display:grid}.choice-board,.choice-info,.choice-heading{min-width:0}.choice-board{align-self:start}.choice-info{contain:size;flex-direction:column;gap:clamp(5px,1cqw,12px);min-height:0;display:flex}.challenge-choice .choice-heading{border:0;margin:0;padding:0;display:block}.challenge-choice .position-preview{width:100%;max-width:none}.challenge-choice .position-preview.compact .preview-wood{border-radius:0;padding:clamp(5px,1.1cqw,12px);box-shadow:inset 0 1px #ffe4b4,0 2px #b88143,0 5px 10px #0b202c55}.challenge-choice .file-labels,.challenge-choice .rank-labels{display:none}.challenge-choice .mini-board{aspect-ratio:1}.challenge-choice .mini-board>span{border-color:#65411e}.choice-heading h2{color:#fff9ec;-webkit-line-clamp:2;letter-spacing:.04em;overflow-wrap:anywhere;text-wrap:pretty;-webkit-box-orient:vertical;block-size:2.5em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:clamp(12px,3.8cqw,40px);font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.choice-heading time{color:#d6e3e9;font-variant-numeric:tabular-nums;letter-spacing:.015em;border-top:1px solid #c9a85b;margin-top:clamp(3px,.9cqw,10px);padding-top:clamp(3px,.8cqw,9px);font-family:Segoe UI,Yu Gothic,Meiryo,sans-serif;font-size:clamp(9px,1.6cqw,17px);font-weight:400;line-height:1.2;display:block}.choice-hands{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(5px,1cqw,12px);min-height:0;margin:0;display:grid}.choice-hand{grid-template-rows:auto minmax(0,1fr);gap:clamp(2px,.4cqw,4px);min-width:0;min-height:0;margin:0;display:grid}.choice-hand h3{color:#fff9ec;letter-spacing:.12em;margin:0;font:500 clamp(9px,1.7cqw,18px)/1.2 Yu Mincho,Hiragino Mincho ProN,serif}.choice-hand-surface{box-sizing:border-box;background:#e6bb85 url(/design/wood-grain-photo-v2.webp) 50%/cover;border:1px solid #b8874b;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1px,.35cqw,4px);width:100%;min-height:0;padding:clamp(2px,.5cqw,6px);display:grid;box-shadow:inset 0 1px #ffe4b4,0 2px #b88143,0 4px 6px #10283650}.choice-token{flex-direction:column;align-items:center;min-width:0;min-height:0;display:flex}.challenge-choice .choice-token .piece{flex:1 1 0;width:100%;height:0;min-height:0}.choice-count{color:#183c52;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0;flex:none;margin-top:0;font:500 clamp(8px,1.5cqw,16px)/1.1 Segoe UI,Yu Gothic,Meiryo,sans-serif;display:block}.choice-pending{aspect-ratio:1;color:#f8f1e1;text-align:center;background:#2a5167;border:1px solid #638397;place-content:center;padding:12px;font-size:clamp(12px,1.8cqw,18px);display:grid}@media (max-width:560px){.challenge-choices{gap:16px}.choice-layout{gap:10px}}@media (prefers-reduced-motion:reduce){.challenge-choice{transition:none}}.sora-match-card{color:#174864;background:linear-gradient(145deg,#fffdf7f5,#edf6faf5);border:1px solid #d9c6a3;border-radius:20px;max-width:560px;margin:24px auto 28px;padding:28px;overflow:hidden;box-shadow:0 8px 26px #214c5d16}.sora-match-intro{border-bottom:1px solid #dbc695;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.sora-match-intro h1{margin:6px 0 14px;font-size:clamp(24px,5.5vw,34px);line-height:1.4}.sora-match-intro p{margin:0;font-size:14px;line-height:1.9}.sora-match-intro .eyebrow{letter-spacing:.12em;color:#897141;font-size:12px}.sora-match-intro img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 4px 6px #1b486021);border-radius:16px;width:38%;max-width:190px}.sora-match-options{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.sora-match-options label{grid-template-rows:20px 46px;align-content:start;gap:9px;margin:0;font-size:13px;font-weight:600;line-height:20px;display:grid}.sora-match-options select{box-sizing:border-box;color:#174864;width:100%;height:46px;min-height:46px;font:inherit;background:#fff;border:1px solid #c6d6dd;border-radius:9px;margin:0;padding:10px 8px}.sora-match-start{justify-content:center;align-items:center;gap:24px;width:100%;min-height:52px;display:flex}.sora-match-resume{color:#174864;background:#ffffffa8;border:1px solid #c8d5d9;border-radius:10px;justify-content:center;gap:20px;margin-top:16px;padding:12px;text-decoration:none;display:flex}.sora-match-note{text-align:center;color:#6c7e88;margin:18px 0 0;font:12px/1.7 system-ui,sans-serif}.play-page .sora-thinking{letter-spacing:.05em;color:#537387;font-size:13px}body:has(.sora-preparation-card){background:radial-gradient(at 14% 82%,#7b57271b,#0000 48%),radial-gradient(at 83% 12%,#17638c36,#0000 54%),repeating-radial-gradient(at 88% 26%,#0000 0 138px,#b5996310 139px,#0000 140px 212px),#06111d}.sora-page:has(>.sora-preparation-card){box-sizing:border-box;max-width:1180px;min-height:100svh;box-shadow:none;background:0 0;border:0;flex-direction:column;gap:16px;margin:0 auto;padding:0 clamp(14px,3.5vw,40px) 20px;display:flex}.sora-page:has(>.sora-preparation-card)>.sora-preparation-card{flex:none;margin-top:auto;margin-bottom:auto}.sora-page:has(>.sora-preparation-card):before{content:none}.sora-page:has(>.sora-preparation-card)>.sora-header{box-shadow:none;background:0 0;border-bottom:1px solid #8299aa20;flex:none;margin:0;padding:12px 0}.sora-page:has(>.sora-preparation-card) .sora-header .brand-word{filter:brightness(0)invert();opacity:.91}.sora-page:has(>.sora-preparation-card) .sora-header>.history-back{color:#c2d4df}.sora-page:has(>.sora-preparation-card) .sora-header .sora-menu>button{color:#d0dfe7;box-shadow:none;background:#152b3c80;border-color:#7496aa42}.sora-page:has(>.sora-preparation-card)>.sora-footer{color:#7893a4;border-color:#8299aa20;flex:none;margin-top:0;padding-top:16px}.sora-page:has(>.sora-preparation-card)>.sora-footer a{color:#a7bdca}.sora-preparation-card{isolation:isolate;box-sizing:border-box;text-align:center;color:#eaf2f5;background:radial-gradient(at 100% 0,#18456245,#0000 56%),linear-gradient(150deg,#142b3ded,#091824f5 65%);border:1px solid #87a9bc32;border-radius:20px;width:100%;max-width:780px;margin:clamp(20px,3.5vh,36px) auto;padding:28px;position:relative;box-shadow:0 28px 80px #00000038,inset 0 1px #ffffff09}.sora-preparation-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#d0ae6e99,#0000);height:1px;position:absolute;top:-1px;left:16%;right:16%}.sora-preparation-heading{margin:0 0 24px}.sora-preparation-eyebrow{letter-spacing:.17em;color:#d7b87e;margin:0 0 10px;font-size:12px;line-height:1.6}.sora-preparation-card h1{color:#f3f0e7;letter-spacing:.08em;text-wrap:balance;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,Noto Serif CJK JP,serif;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.45}.sora-assembly{isolation:isolate;contain:layout paint;aspect-ratio:26/15;background:#0b2034;border:1px solid #8cacae52;border-radius:12px;width:100%;margin:0 auto 24px;position:relative;overflow:hidden;box-shadow:0 10px 28px #00000026}.sora-evolution-video video,.sora-evolution-video img{object-fit:cover;width:100%;height:100%;display:block}.sora-preparation-meter-heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.sora-preparation-number{color:#eff6f8;font-variant-numeric:tabular-nums;flex:none;margin:0;font:400 13px/1 system-ui,sans-serif}.sora-preparation-number strong{letter-spacing:-.04em;margin-right:5px;font:400 38px/1 system-ui,sans-serif}.sora-preparation-number>span{color:#a4bdcb}.sora-preparation-track{background:#5a7a8b40;border-radius:3px;width:100%;height:3px;margin:0;overflow:hidden}.sora-preparation-track>span{border-radius:inherit;background:linear-gradient(90deg,#3e8daa,#93d8e6 75%,#e4c78e);height:100%;transition:width .35s ease-out;display:block;box-shadow:0 0 12px #71c8e45e}.sora-preparation-status{color:#bfd2dc;text-align:left;align-items:center;gap:8px;margin:0;font:12px/1.7 system-ui,sans-serif;display:flex}.sora-preparation-status:before{content:"";background:#8ed7e5;border-radius:50%;flex:none;width:5px;height:5px;box-shadow:0 0 8px #72d0e46b}.sora-preparation-note{color:#a0b5c2;margin:20px 0 0;padding:0;font:11px/1.9 system-ui,sans-serif}@media (min-width:760px) and (max-height:820px){.sora-preparation-card{max-width:640px;margin:18px auto;padding:20px 24px}.sora-preparation-heading{margin-bottom:18px}.sora-preparation-card h1{font-size:27px}.sora-assembly{margin-bottom:18px}.sora-preparation-note{margin-top:16px}}@media (max-width:600px){.sora-preparation-card{border-radius:16px;margin:24px auto;padding:22px 0 20px}.sora-preparation-heading{margin-bottom:20px;padding:0 16px}.sora-preparation-eyebrow{font-size:11px}.sora-assembly{border-left:0;border-right:0;border-radius:0;margin-bottom:20px}.sora-preparation-details{padding:0 18px}.sora-preparation-number strong{font-size:34px}.sora-preparation-status{gap:6px;font-size:11px}.sora-preparation-note{margin:18px 18px 0;font-size:11px;line-height:1.8}}@media (prefers-reduced-motion:reduce){.sora-preparation-track>span{transition:none!important}}@media (max-width:480px){.sora-match-card{margin:16px 0 20px;padding:20px 18px}.sora-match-options{gap:12px}.sora-match-intro{gap:0}.sora-match-intro p{font-size:12px}.sora-match-intro h1{font-size:25px}}@media (min-width:1100px){.sora-page.play-page:not(.has-result){--desktop-board-width:max(400px,min(45vw,720px,calc((100svh - 250px)*.94)));--desktop-stand-width:clamp(216px,17vw,248px);max-width:1400px;padding:0 32px 24px}.play-page .workspace,.play-page .play-area{width:100%;max-width:none}.play-page .game-top{width:var(--desktop-board-width);margin:0 auto 18px}.play-page .game-arena{grid-template-columns:var(--desktop-stand-width) var(--desktop-board-width) var(--desktop-stand-width);grid-template-rows:auto;justify-content:center;align-items:stretch;gap:28px;width:100%;max-width:none;display:grid}.play-page .game-arena>.board-wrap{grid-area:1/2;align-self:start;width:100%;max-width:none}.play-page .game-arena>.player-panel{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;flex-direction:column;grid-row:1;align-items:stretch;gap:20px;padding:0;display:flex}.play-page .game-arena>.ai-panel{grid-column:1;justify-content:flex-start}.play-page .game-arena>.human-panel{grid-column:3;justify-content:flex-end}.play-page .ai-panel>.hand.koma-stand{order:0}.play-page .ai-panel>.player-card{order:1}.play-page .human-panel>.player-card{order:0}.play-page .human-panel>.hand.koma-stand{order:1}.play-page .player-panel>.hand.koma-stand{width:100%;margin:0;padding:0;display:block}.play-page .player-panel .stand-surface{aspect-ratio:1;width:100%;height:auto;margin:0;padding:12px;overflow:visible}.play-page .player-panel .stand-pieces{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));place-items:center;gap:2px;width:100%;height:100%;display:grid}.play-page .player-panel .stand-pieces .stand-token{width:100%;min-width:0;max-width:64px;height:100%;min-height:0;margin:0;padding:0}.play-page .player-panel .stand-piece-art{width:100%;height:61px}.play-page .player-panel .stand-token .stand-piece-art .piece{width:37px;height:45px;top:0;left:calc(50% - 18.5px)}.play-page .player-panel .stand-count{letter-spacing:0;-webkit-text-stroke:1px #f9e7c6;height:16px;font-size:15px;line-height:1;bottom:0;left:0;right:0}.play-page .player-panel .stand-empty{grid-area:1/1/-1/-1}.play-page .player-card .primary-actions button{gap:4px;font-size:11px}.play-page .player-card .primary-actions .play-icon{width:14px;height:14px}.play-page>.sora-footer{padding-top:20px;padding-bottom:16px}}
