:root{--ink:#1f1a16;--muted:#766b61;--paper:#f7f1e7;--paper-2:#fffaf1;--wood:#d9a760;--wood-dark:#8d5729;--red:#9b2d2d;--red-dark:#6f1f20;--gold:#d1a34a;--green:#315747;--line:#dfd3c4;--shadow:0 18px 50px rgba(53,37,21,.12);--radius:20px;--font-serif:"Yu Mincho","Hiragino Mincho ProN",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,241,231,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(141,87,41,.15)}.header-inner{width:min(1180px,calc(100% - 32px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px}.brand span{display:flex;flex-direction:column;line-height:1.2}.brand strong{font-family:var(--font-serif);font-size:1.25rem;letter-spacing:.08em}.brand small{color:var(--muted);font-size:.68rem;margin-top:4px}.main-nav,.admin-header nav{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.92rem}.main-nav a:hover,.admin-header a:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff!important;padding:10px 18px;border-radius:999px}.inline-form{display:inline-flex;margin:0}.nav-button{border:0;background:transparent;color:inherit;font-weight:700;padding:0}.site-main{width:min(1180px,calc(100% - 32px));margin:0 auto;min-height:calc(100vh - 190px)}.site-footer{margin-top:90px;background:#211b17;color:#e8ded0}.footer-inner{width:min(1180px,calc(100% - 32px));margin:auto;min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner nav{display:flex;gap:22px}.footer-inner a{color:#e8ded0}.footer-inner p{color:#b8aa9a}.hero{min-height:690px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:40px;padding:65px 0 80px}.hero-copy h1{font-family:var(--font-serif);font-size:clamp(2.8rem,5.5vw,5.7rem);line-height:1.08;letter-spacing:-.04em;margin:10px 0 26px}.hero-copy h1 span{color:var(--red)}.hero-copy>p:not(.eyebrow){max-width:670px;font-size:1.08rem;color:#5f554d}.eyebrow{font-size:.76rem!important;letter-spacing:.22em;font-weight:800;color:var(--red);text-transform:uppercase;margin:0 0 8px}.hero-actions{display:flex;gap:12px;margin:34px 0 22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;padding:11px 19px;font-weight:800;line-height:1.3;transition:.18s ease}.button:hover{transform:translateY(-1px);filter:brightness(.98)}.button.primary{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(155,45,45,.2)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.danger{background:#8f2929;color:#fff}.button.ghost{background:transparent;border-color:#d9b7b7;color:#8f2929}.button.large{padding:15px 26px;border-radius:14px}.button.full{width:100%}.button.tiny{font-size:.78rem;padding:7px 10px;border-radius:8px}.hero-points{display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:0;list-style:none;color:var(--muted);font-size:.88rem}.hero-points li:before{content:"✓";color:var(--green);font-weight:900;margin-right:6px}.hero-visual{position:relative}.hero-visual:before{content:"";position:absolute;inset:13% -4% -5% 12%;background:radial-gradient(circle,#d8bf98 0,transparent 68%);filter:blur(20px);z-index:-1}.section{padding:85px 0}.section-heading{text-align:center;margin-bottom:40px}.section-heading h2,.split-section h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1.25;margin:8px 0}.feature-grid{display:grid;gap:20px}.feature-grid.three{grid-template-columns:repeat(3,1fr)}.feature-card{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 8px 30px rgba(61,39,20,.05)}.feature-card h2,.feature-card h3{font-family:var(--font-serif);font-size:1.45rem;margin:16px 0 10px}.feature-card p{color:var(--muted);margin-bottom:0}.feature-number{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#efe0c7;color:var(--red);font-weight:900}.feature-card.linked{transition:.2s}.feature-card.linked:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.split-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.split-section>div>p{color:var(--muted)}.text-link{font-weight:800;color:var(--red)}.level-road{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.level-road:before{content:"";height:4px;background:linear-gradient(90deg,#c7a26b,var(--red));position:absolute;left:5%;right:5%;z-index:-1}.level-road span,.level-road strong{width:58px;height:58px;display:grid;place-items:center;background:#fff;border:2px solid #d1b58c;border-radius:50%;box-shadow:0 5px 14px rgba(75,51,28,.12)}.level-road strong{width:76px;height:76px;background:var(--red);border-color:var(--red);color:#fff}.notice-list{display:grid;gap:12px;max-width:900px;margin:auto}.notice{display:grid;grid-template-columns:120px 1fr;gap:24px;background:#fff;padding:22px 26px;border-radius:14px;border:1px solid var(--line)}.notice time{color:var(--muted);font-size:.85rem}.notice h3{margin:0}.notice p{margin:4px 0 0;color:var(--muted)}.page-header,.dashboard-hero,.admin-page-header{padding:62px 0 34px;display:flex;justify-content:space-between;align-items:end;gap:30px}.page-header h1,.dashboard-hero h1,.profile-hero h1,.admin-page-header h1{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,4rem);line-height:1.2;margin:4px 0 9px}.page-header p,.dashboard-hero p,.admin-page-header p{margin:0;color:var(--muted)}.page-header.compact{padding-bottom:20px}.dashboard-hero{align-items:center}.current-record{background:#fff;border:1px solid var(--line);padding:14px 20px;border-radius:14px}.current-record strong{color:var(--red);font-size:1.3rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 26px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{font-family:var(--font-serif);font-size:2rem;margin:4px 0}.action-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px}.action-card{min-height:180px;background:#2c2520;color:#fff;padding:25px;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s}.action-card.main-action{background:linear-gradient(135deg,var(--red-dark),var(--red))}.action-card:hover{transform:translateY(-3px)}.action-card span{font-size:.72rem;letter-spacing:.15em;color:#dfc7ad}.action-card h2{font-family:var(--font-serif);font-size:1.35rem;margin:8px 0}.action-card p{margin:0;color:#d9cfc5;font-size:.88rem}.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:25px}.panel{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 25px rgba(52,35,20,.04);padding:28px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-header h2{font-family:var(--font-serif);margin:0;font-size:1.4rem}.panel-header a{font-weight:700;color:var(--red);font-size:.88rem}.compact-list{display:grid;margin-top:16px}.compact-list a{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.compact-list time{color:var(--muted);font-size:.8rem}.compact-notices article{padding:13px 0;border-bottom:1px solid var(--line)}.compact-notices time{font-size:.75rem;color:var(--muted)}.compact-notices h3{margin:3px 0;font-size:1rem}.compact-notices p{margin:0;color:var(--muted);font-size:.87rem}.empty-state{text-align:center;color:var(--muted);padding:34px}.auth-shell{min-height:720px;display:grid;place-items:center;padding:60px 0}.auth-shell.wide .auth-card{max-width:760px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.auth-card h1{font-family:var(--font-serif);font-size:2.5rem;margin:4px 0}.auth-card>p{color:var(--muted)}.stack-form{display:grid;gap:17px;margin-top:25px}.stack-form label,.admin-cpu-form label{display:grid;gap:7px;font-weight:750}.stack-form label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfc1b0;border-radius:11px;background:#fffdf8;color:var(--ink);padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(155,45,45,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important}.check-row input{width:auto}.auth-links{display:flex;justify-content:space-between;margin-top:20px;font-size:.9rem}.auth-links a{color:var(--red);font-weight:700}.alert{border-radius:12px;padding:13px 16px;margin:16px 0}.alert.error{background:#fff0f0;border:1px solid #e8bcbc;color:#782323}.alert.success{background:#edf8f2;border:1px solid #bcd9c9;color:#24543d}.alert ul{margin:0;padding-left:20px}.success-mark{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:#e6f5eb;color:#246542;font-size:2rem;margin:auto}.recovery-card{text-align:center}.recovery-code{font-size:1.35rem;font-weight:900;letter-spacing:.1em;background:#211b17;color:#fff;padding:18px;border-radius:12px;margin:24px 0;word-break:break-all}.question-box{background:#f4eadb;padding:16px;border-radius:12px;display:flex;flex-direction:column;margin-top:20px}.question-box span{font-size:.75rem;color:var(--muted)}.solo-setup{max-width:850px;margin:0 auto}.solo-form{display:grid;gap:28px}.level-selector{background:linear-gradient(145deg,#2b241f,#1b1714);color:#fff;border-radius:18px;padding:30px}.level-display{text-align:center}.level-display span{font-size:.75rem;letter-spacing:.2em;color:#cdbba8}.level-display strong{display:block;font-family:var(--font-serif);font-size:4.8rem;line-height:1}.level-display p{margin:4px 0 20px;color:#e5d8ca}.level-selector input[type=range]{padding:0;accent-color:#c94141}.level-milestones{display:flex;justify-content:space-between;text-align:center;font-weight:800;margin-top:10px}.level-milestones small{font-weight:400;color:#ac9c8c}.side-selector{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.side-selector legend{font-weight:800;margin-bottom:10px}.side-selector label{position:relative}.side-selector input{position:absolute;opacity:0}.side-selector span{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;padding:17px;border-radius:13px}.side-selector small{color:var(--muted)}.side-selector input:checked+span{border-color:var(--red);box-shadow:0 0 0 3px rgba(155,45,45,.12)}.setup-note{background:#f3eadc;padding:17px 20px;border-radius:13px}.setup-note h2{font-size:1rem;margin:0}.setup-note p{margin:5px 0 0;color:var(--muted)}.table-panel{overflow:hidden}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.78rem;color:var(--muted);letter-spacing:.05em}td a{color:var(--red);font-weight:700}.result-badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.result-badge.win{background:#e7f4eb;color:#226040}.result-badge.loss{background:#f8e7e7;color:#8c2d2d}.result-badge.draw{background:#eee8df;color:#63594f}.rank-cell{font-weight:900;font-size:1.1rem}.table-subtext{display:block;color:var(--muted);margin-top:3px}.profile-hero{padding:60px 0 30px;display:flex;align-items:center;gap:22px}.profile-avatar,.player-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ead1a7,#bd8650);border:2px solid #8d5729;font-family:var(--font-serif);font-weight:900}.profile-avatar{width:90px;height:90px;font-size:2rem}.document{max-width:860px;margin:auto}.document h2{font-family:var(--font-serif);font-size:1.55rem;margin-top:32px}.document p{color:#554c45}.coming-soon{text-align:center;max-width:720px;margin:auto;padding:60px}.coming-soon>span{color:var(--red);font-weight:800;letter-spacing:.15em}.coming-soon h2{font-family:var(--font-serif);font-size:2rem}.coming-soon p{color:var(--muted)}.error-page{min-height:650px;display:grid;place-content:center;text-align:center}.error-page>span{font-size:4rem;font-family:var(--font-serif);color:#c3ae96}.error-page h1{font-family:var(--font-serif);font-size:2.5rem;margin:0}.error-page code{background:#2b2520;color:#f3e6d8;padding:10px 14px;border-radius:8px;margin:10px auto;max-width:100%;overflow:auto}.setup-error p{max-width:720px}.game-page .site-header,.game-page .site-footer{display:none}.game-page .site-main{width:100%;max-width:none;min-height:100vh}.game-shell{min-height:100vh;background:#181410;color:#eee4d9;padding:12px}.game-topbar{height:52px;display:flex;align-items:center;justify-content:space-between;max-width:1380px;margin:auto}.game-topbar>div{display:flex;gap:10px;align-items:baseline}.game-topbar span{color:#ae9c8d;font-size:.8rem}.back-link{color:#dacbbd}.icon-button{width:38px;height:38px;border-radius:50%;border:1px solid #5f5147;background:#27211d;color:#fff}.game-layout{display:grid;grid-template-columns:220px minmax(420px,820px) 270px;gap:18px;max-width:1380px;margin:8px auto 0;align-items:start}.player-panel{display:flex;gap:12px;align-items:center;background:#26201c;border:1px solid #463a32;border-radius:15px;padding:14px}.player-avatar{width:54px;height:54px;flex:0 0 54px;color:#3c2918}.cpu-avatar{font-family:var(--font-sans);font-size:.7rem;background:linear-gradient(145deg,#d7d7d7,#7f8285)}.player-panel span,.player-panel p{font-size:.75rem;color:#a99889;margin:0}.player-panel h2{font-size:1rem;margin:1px 0}.board-area{min-width:0}.hand-area{min-height:58px;display:flex;align-items:center;gap:13px;background:#211c18;border:1px solid #43372f;border-radius:12px;padding:8px 12px;margin:7px 0}.hand-label{font-size:.68rem;color:#a99889;white-space:nowrap}.hand-list{display:flex;gap:7px;flex-wrap:wrap}.hand-piece{border:1px solid #7a5f42;background:#d8aa6f;color:#21150e;min-width:38px;height:38px;border-radius:6px;font-family:var(--font-serif);font-weight:900}.hand-piece.selected{box-shadow:0 0 0 3px #e1bd5f}.hand-piece:disabled{opacity:.45}.board-frame{position:relative;width:min(100%,720px);margin:auto;filter:drop-shadow(0 20px 24px rgba(0,0,0,.35))}.shogi-board{width:100%;aspect-ratio:1/1;user-select:none;touch-action:manipulation}.shogi-board svg{display:block;width:100%;height:100%}.board-square{cursor:pointer}.board-square.legal{fill:rgba(65,117,78,.3)}.board-square.selected{fill:rgba(210,167,60,.45)}.board-square.last{fill:rgba(151,45,45,.23)}.piece-group{cursor:pointer;transition:transform .12s}.piece-group:hover{filter:brightness(1.04)}.thinking-layer{position:absolute;inset:0;background:rgba(20,16,13,.76);display:grid;place-content:center;text-align:center;border-radius:5px;backdrop-filter:blur(2px)}.thinking-layer[hidden]{display:none}.thinking-piece{width:70px;height:78px;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:#d7a566;color:#2b1d12;display:grid;place-items:center;margin:auto;font-family:var(--font-serif);font-size:2rem;animation:think 1.2s ease-in-out infinite}.thinking-layer p{font-weight:800}.turn-message{text-align:center;min-height:30px;color:#e0caa6;font-weight:800}.game-sidebar{display:grid;gap:12px}.move-panel{background:#26201c;border:1px solid #463a32;border-radius:15px;padding:14px}.move-list{list-style:none;padding:0;margin:10px 0 0;max-height:440px;overflow:auto}.move-list li{display:grid;grid-template-columns:34px 1fr;padding:8px;border-bottom:1px solid #40352e;font-size:.88rem}.move-list li span{color:#9d8a7b}.game-actions{display:grid;gap:9px}.promotion-dialog,.result-dialog{position:fixed;inset:0;z-index:60;background:rgba(11,8,6,.78);display:grid;place-items:center;padding:20px}.promotion-dialog[hidden],.result-dialog[hidden]{display:none}.dialog-card{background:#fffaf2;color:var(--ink);border-radius:20px;padding:30px;width:min(430px,100%);text-align:center;box-shadow:var(--shadow)}.dialog-card h2{font-family:var(--font-serif);font-size:1.8rem}.dialog-card>div{display:flex;justify-content:center;gap:10px}.result-card .result-actions{display:grid;grid-template-columns:1fr 1fr}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#fff;color:#352a22;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow);z-index:80}.toast[hidden]{display:none}@keyframes think{50%{transform:translateY(-7px) rotate(2deg)}}.replay-layout{display:grid;grid-template-columns:minmax(380px,720px) 300px;gap:30px;max-width:1050px;margin:auto}.replay-controls{display:flex;justify-content:center;gap:7px;margin-top:15px}.replay-controls button{width:48px;height:42px;border:1px solid var(--line);background:#fff;border-radius:9px}.replay-status{text-align:center;margin-top:10px}.replay-status span{margin-left:10px;color:var(--muted)}.replay-list{max-height:650px}.replay-list li{border-color:var(--line);cursor:pointer}.replay-list li.active{background:#efe0c7}.admin-body{background:#eeeae4}.admin-header{min-height:65px;background:#1e1a17;color:#fff;padding:0 max(24px,calc((100% - 1400px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-header nav{font-size:.83rem}.admin-main{width:min(1400px,calc(100% - 34px));margin:auto;padding-bottom:60px}.admin-login{min-height:100vh;display:grid;place-items:center}.admin-stats{grid-template-columns:repeat(4,1fr)}.cpu-admin-list{display:grid;gap:10px}.cpu-admin-card{padding:0;overflow:hidden}.cpu-admin-card summary{padding:18px 22px;display:flex;justify-content:space-between;cursor:pointer}.cpu-admin-card summary span{color:var(--muted)}.admin-cpu-form{border-top:1px solid var(--line);padding:22px;display:grid;gap:17px}.inline-edit{display:flex;gap:7px;align-items:center}.inline-edit select{min-width:110px;padding:7px}.form-panel{max-width:900px}.db-status>div{display:flex;align-items:center;gap:14px}.db-status strong{font-size:2.5rem;color:var(--red)}@media(max-width:1050px){.main-nav{gap:12px}.main-nav a{display:none}.main-nav a.nav-cta,.main-nav a[href$="/login"],.inline-form{display:inline-flex}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:30px}.hero-visual{max-width:650px;margin:auto}.action-grid{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.game-layout{grid-template-columns:1fr minmax(400px,720px);max-width:940px}.game-layout>.opponent{grid-column:1}.board-area{grid-column:2;grid-row:1/4}.game-sidebar{grid-column:1}.replay-layout{grid-template-columns:1fr 260px}.form-grid.four{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:1fr 1fr}}@media(max-width:760px){.site-main{width:min(100% - 22px,1180px)}.header-inner{width:calc(100% - 22px);min-height:66px}.brand small{display:none}.main-nav a[href$="/login"]{display:none}.hero{padding:35px 0}.hero-copy h1{font-size:2.85rem}.hero-actions{display:grid}.hero-points{gap:10px}.section{padding:55px 0}.feature-grid.three,.split-section,.stat-grid,.side-selector,.form-grid{grid-template-columns:1fr}.split-section{gap:35px}.level-road span{width:42px;height:42px;font-size:.8rem}.level-road strong{width:58px;height:58px}.notice{grid-template-columns:1fr;gap:5px}.footer-inner{flex-direction:column;justify-content:center;text-align:center}.footer-inner nav{flex-wrap:wrap;justify-content:center}.page-header,.dashboard-hero,.admin-page-header{align-items:flex-start;flex-direction:column;padding-top:38px}.action-grid{grid-template-columns:1fr}.action-card{min-height:140px}.auth-card{padding:26px 20px}.auth-shell{padding:30px 0}.game-shell{padding:4px}.game-topbar{padding:0 8px}.game-layout{display:flex;flex-direction:column;gap:6px}.game-layout>.opponent{order:1;width:100%}.board-area{order:2;width:100%}.game-sidebar{order:3;width:100%}.game-sidebar>.self{display:none}.move-panel{display:none}.board-frame{width:100%}.hand-area{margin:3px 0;min-height:50px}.hand-label{display:none}.hand-piece{min-width:34px;height:34px}.game-actions{grid-template-columns:1fr 1fr}.site-footer{margin-top:50px}.replay-layout{grid-template-columns:1fr;padding:12px}.replay-layout aside{display:none}.admin-header{align-items:flex-start;padding:14px;flex-direction:column}.admin-header nav{overflow:auto;width:100%;padding-bottom:4px}.admin-main{width:calc(100% - 20px)}.admin-stats{grid-template-columns:1fr 1fr}.form-grid.four{grid-template-columns:1fr}.cpu-admin-card summary{flex-direction:column}.profile-hero{padding-top:40px}.result-card .result-actions{grid-template-columns:1fr}.solo-setup{padding:18px}.level-milestones small{display:none}}@media(max-width:430px){.hero-copy h1{font-size:2.4rem}.stat-grid,.admin-stats{grid-template-columns:1fr}.page-header h1,.dashboard-hero h1{font-size:2.4rem}.game-actions{grid-template-columns:1fr}.level-display strong{font-size:4rem}}

/* v1.1.0 settings / replay / CPU selection */
.level-quick-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 16px}.level-select-label{font-weight:800}.level-selector select{width:100%;min-height:52px;font-size:1rem}.form-help{display:block;margin-top:7px;color:var(--muted);font-size:.88rem}.empty-hand{opacity:.55;font-size:.8rem}.game-cpu-error{margin:10px auto;max-width:760px}.piece-enter{animation:piece-enter .16s ease-out}@keyframes piece-enter{from{opacity:.35}to{opacity:1}}#retry-cpu-button{margin-top:8px}.shogi-board svg[data-board-theme="night"] .board-square.legal{fill:rgba(255,224,122,.34)}.shogi-board svg[data-board-theme="sakura"] .board-square.legal{fill:rgba(168,31,85,.18)}.cpu-test-form{display:grid;gap:14px}.cpu-test-result ol{max-height:260px;overflow:auto}.cpu-test-result li{padding:4px 0}.test-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:700px){.test-match-grid{grid-template-columns:1fr}.level-quick-buttons{justify-content:flex-start}}

/* v1.2.0 resume, account safety, separated ratings, mobile navigation */
.resume-game-card{margin:0 0 28px;padding:22px 26px;border:1px solid rgba(155,45,45,.24);border-left:5px solid var(--red);border-radius:var(--radius);background:linear-gradient(120deg,#fffaf2,#f5e6d4);box-shadow:0 12px 34px rgba(53,37,21,.08);display:flex;align-items:center;justify-content:space-between;gap:22px}.resume-game-card span{display:inline-block;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.12em}.resume-game-card h2{font-family:var(--font-serif);margin:5px 0 2px}.resume-game-card p{margin:0;color:var(--muted)}.action-grid.three-actions{grid-template-columns:repeat(3,1fr)}.record-action{font-weight:800;color:var(--red);white-space:nowrap}.coming-soon-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.form-note{color:var(--muted);font-size:.88rem;margin:14px 0 0}.reset-restart-form{margin-top:10px}.mobile-bottom-nav{display:none}
@media(max-width:1050px){.main-nav.authenticated-nav{display:none}.main-nav.guest-nav a{display:inline-flex}.has-mobile-navigation{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.has-mobile-navigation .site-footer{margin-bottom:0}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:70px;padding:6px max(7px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:rgba(255,250,241,.98);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(53,37,21,.12);backdrop-filter:blur(14px)}.mobile-bottom-nav>a,.mobile-more-menu>summary{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;color:var(--muted);font-size:.7rem;font-weight:800;line-height:1.2;list-style:none}.mobile-bottom-nav>a span,.mobile-more-menu>summary span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:.92rem;font-family:var(--font-serif);font-weight:900}.mobile-bottom-nav>a.current{color:var(--red);background:rgba(155,45,45,.08)}.mobile-bottom-nav>a.current span{background:var(--red);color:#fff}.mobile-more-menu{min-width:0;position:relative}.mobile-more-menu>summary{height:100%;cursor:pointer}.mobile-more-menu>summary::-webkit-details-marker{display:none}.mobile-more-menu[open]>summary{color:var(--red);background:rgba(155,45,45,.08)}.mobile-more-panel{position:fixed;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:min(310px,calc(100vw - 24px));padding:10px;background:#fffaf2;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:grid;gap:3px}.mobile-more-panel a,.mobile-more-panel button{width:100%;border:0;border-radius:10px;background:transparent;padding:13px 14px;text-align:left;color:var(--ink);font-weight:800}.mobile-more-panel a:hover,.mobile-more-panel button:hover{background:#f1e5d5}.mobile-more-panel form{margin:0;border-top:1px solid var(--line);padding-top:3px}.mobile-more-panel button{color:var(--red)}.toast{bottom:calc(88px + env(safe-area-inset-bottom))}.action-grid.three-actions{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.resume-game-card{align-items:flex-start;flex-direction:column;padding:19px}.resume-game-card .button{width:100%}.action-grid.three-actions{grid-template-columns:1fr}.main-nav.guest-nav a:first-child{display:none}.coming-soon-actions{display:grid}.coming-soon-actions .button{width:100%}}

/* v1.3.0 campaign, training, analysis, accessibility */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #2368c4;outline-offset:3px;box-shadow:0 0 0 5px rgba(255,255,255,.9)}
.shogi-board [data-board-cell="1"]:focus .board-square{stroke:#075bb8;stroke-width:7;filter:drop-shadow(0 0 5px rgba(255,255,255,.95))}.legal-move-marker circle{fill:rgba(255,255,255,.75);stroke:#16652e;stroke-width:5}.legal-move-marker path{fill:none;stroke:#16652e;stroke-width:6;stroke-linecap:round}.shogi-board svg{overflow:visible}.cpu-line{margin:8px 0 0;padding:8px 10px;border-left:3px solid var(--gold);font-size:.82rem;color:var(--muted);background:rgba(255,255,255,.55)}
.current-record{display:grid;gap:2px}.current-record small{color:var(--muted)}.home-actions{grid-template-columns:1.4fr repeat(4,1fr)}
.campaign-header{align-items:center}.campaign-map{position:relative;min-height:760px;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.72),rgba(224,201,161,.8)),linear-gradient(145deg,#d9c197,#b9905d);border:8px solid #6e492a}.campaign-map:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(80,113,62,.35) 0 8%,transparent 9%),radial-gradient(circle at 75% 65%,rgba(74,100,56,.32) 0 11%,transparent 12%),linear-gradient(30deg,transparent 48%,rgba(79,122,158,.22) 49% 52%,transparent 53%);pointer-events:none}.campaign-region{position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);z-index:2}.campaign-region-marker{width:64px;height:64px;border-radius:50% 50% 48% 48%;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--font-serif);font-size:1.4rem;font-weight:900;border:5px solid #f7e2b4;box-shadow:0 8px 18px rgba(46,28,14,.3);cursor:pointer}.campaign-region.locked .campaign-region-marker{background:#766d63}.campaign-region.conquered .campaign-region-marker{background:var(--green)}.campaign-region-card{position:absolute;left:74px;top:-25px;width:285px;background:rgba(255,250,241,.97);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.campaign-region:hover .campaign-region-card,.campaign-region:focus-within .campaign-region-card{opacity:1;visibility:visible;transform:none}.campaign-region-card h2{font-family:var(--font-serif);margin:0}.campaign-region-card p{margin:5px 0}.campaign-conditions{display:grid;gap:5px;margin:10px 0}.campaign-conditions div{display:grid;grid-template-columns:80px 1fr;font-size:.82rem}.campaign-conditions dt{color:var(--muted)}.campaign-conditions dd{margin:0;font-weight:700}.campaign-cleared{color:var(--green);font-weight:900}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;flex-direction:column}.stats-grid strong{font-size:1.7rem;font-family:var(--font-serif)}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filter-tabs a{padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:750}.filter-tabs a.active{background:var(--red);color:#fff;border-color:var(--red)}.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.training-card{display:flex;flex-direction:column}.training-card h2{font-family:var(--font-serif);margin:12px 0}.training-card .button{margin-top:auto}.training-card-top{display:flex;justify-content:space-between;color:var(--red);font-size:.78rem;font-weight:900}.training-solve-layout{display:grid;grid-template-columns:minmax(320px,600px) 1fr;gap:34px;align-items:start}.training-explanation{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.admin-grid.two-columns{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);gap:18px}.admin-form{display:grid;gap:13px}.admin-form label{display:grid;gap:6px;font-weight:750}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-item{border-bottom:1px solid var(--line);padding:11px 0}.admin-item summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer}.admin-item summary span{color:var(--muted);font-size:.85rem}.admin-item[open] summary{margin-bottom:14px}.narrow-panel{max-width:760px;margin:auto}.button-row{display:flex;align-items:center;gap:9px}.button-row.wrap{flex-wrap:wrap}.replay-actions-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-top:20px}.evaluation-chart{width:100%;height:260px;background:linear-gradient(#f5dfdf 0 50%,#e4e8f5 50%);border:1px solid var(--line);border-radius:14px}.evaluation-chart line{stroke:#756d66;stroke-width:.5;stroke-dasharray:2 2}.evaluation-chart polyline{fill:none;stroke:var(--red);stroke-width:2;vector-effect:non-scaling-stroke}.analysis-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.analysis-cards article{border:1px solid var(--line);background:#fff;padding:17px;border-radius:14px}.analysis-cards span{display:inline-block;margin:8px 0;padding:3px 8px;border-radius:999px;background:#efe1c8;color:var(--red);font-size:.76rem;font-weight:900}.analysis-table-wrap{overflow:auto}.analysis-table{width:100%;border-collapse:collapse}.analysis-table th,.analysis-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.move-grade{display:inline-block;padding:3px 8px;border-radius:999px;font-weight:900;font-size:.75rem}.move-grade.best{background:#daf0df;color:#18552d}.move-grade.good{background:#e2edf7;color:#205480}.move-grade.inaccuracy{background:#fff0bf;color:#6d5200}.move-grade.mistake{background:#f6d4bc;color:#7c3d11}.move-grade.blunder{background:#f3c4c4;color:#7c1d1d}.result-dialog.champion .dialog-card{background:radial-gradient(circle at 50% 0,#fff7c8,#fffaf1 48%,#f0d59a);border:5px double #b8860b}.result-dialog.champion:before,.result-dialog.champion:after{content:"盤上の覇者";position:absolute;top:12%;color:#f5d66e;font-family:var(--font-serif);font-size:clamp(1.5rem,5vw,4rem);font-weight:900;text-shadow:0 3px 14px #4e2100;animation:champion-rise 1.2s ease-out}.result-dialog.champion:after{content:"完全攻略";top:auto;bottom:12%}@keyframes champion-rise{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@media(max-width:1050px){.home-actions{grid-template-columns:repeat(2,1fr)}.training-grid{grid-template-columns:repeat(2,1fr)}.admin-grid.two-columns,.training-solve-layout,.replay-actions-grid{grid-template-columns:1fr}.campaign-map{min-height:auto;display:grid;gap:14px;padding:20px}.campaign-region{position:relative;left:auto;top:auto;transform:none;display:grid;grid-template-columns:64px 1fr;gap:14px}.campaign-region-card{position:static;width:auto;opacity:1;visibility:visible;transform:none}.campaign-map:before{opacity:.35}}
@media(max-width:650px){.home-actions,.training-grid,.stats-grid,.analysis-cards{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.button-row{flex-wrap:wrap}.button-row .button{flex:1}.evaluation-chart{height:190px}.campaign-region{grid-template-columns:48px 1fr}.campaign-region-marker{width:48px;height:48px}.admin-item summary{flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.piece-enter{animation:none!important}.result-dialog.champion:before,.result-dialog.champion:after{animation:none!important}}

.cpu-avatar:has(img){overflow:hidden;padding:0;background:#fff}.cpu-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.admin-cpu-form textarea[name=portrait_svg]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.45}
.analysis-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0}.analysis-metrics div{background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.analysis-metrics dt{font-size:.72rem;color:var(--muted)}.analysis-metrics dd{margin:0;font-weight:800}.missed-mate-panel{border-color:#b54a42;background:#fff6f1}.analysis-table td:nth-child(5),.analysis-table td:nth-child(6){white-space:nowrap;font-weight:700}
.page-notice-stack{display:grid;gap:10px;margin:20px 0 0}.page-notice{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:14px 18px}.page-notice.importance-important{border-left-color:#b86a26}.page-notice.importance-urgent{border-left-color:var(--red);background:#fff5f2}.page-notice p{margin:4px 0 0;color:var(--muted)}

/* v1.3.0 admin security, announcements, campaign, training, analysis and accessibility */

.reward-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.reward-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.reward-list small{color:var(--muted);white-space:nowrap}.reward-collection{margin-top:18px}@media(max-width:640px){.reward-list li{align-items:flex-start;flex-direction:column;gap:4px}.reward-list small{white-space:normal}}

.training-weakness{margin:18px 0}.weakness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.weakness-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);display:grid;gap:5px}.weakness-grid strong{font-size:1.45rem}.weakness-grid small{color:var(--muted)}.accuracy-meter{height:7px;border-radius:999px;background:var(--line);overflow:hidden}.accuracy-meter i{display:block;height:100%;background:currentColor;border-radius:inherit}.training-step{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;border-radius:10px;background:var(--surface-soft)}.training-restart{margin-top:10px}

/* v1.3.1 Web setup and database update */
.setup-body{min-height:100vh;background:linear-gradient(145deg,#f7f1e7 0,#eee2d0 100%)}
.setup-header{min-height:68px;padding:0 max(22px,calc((100% - 1040px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(141,87,41,.18);background:rgba(255,250,241,.9);backdrop-filter:blur(12px)}
.setup-header a{display:flex;align-items:baseline;gap:12px}.setup-header strong{font-family:var(--font-serif);font-size:1.28rem}.setup-header small,.setup-header>span{color:var(--muted);font-size:.78rem}.setup-main{width:min(1040px,calc(100% - 32px));margin:auto;padding:48px 0 80px}.setup-shell{display:grid;gap:22px}.setup-heading{text-align:center;padding:18px 0}.setup-heading h1{font-family:var(--font-serif);font-size:clamp(2.15rem,5vw,4rem);line-height:1.2;margin:5px 0 10px}.setup-heading>p:last-child{margin:0;color:var(--muted)}.setup-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.setup-status-card{padding:22px}.setup-status-card>span{display:block;color:var(--muted);font-size:.82rem;font-weight:800}.setup-status-card>strong{display:block;font-family:var(--font-serif);font-size:1.75rem;margin:5px 0}.setup-status-card>p{margin:0;color:var(--muted);font-size:.88rem}.setup-status-card .status-ok{color:var(--green)}.setup-status-card .status-error{color:var(--red)}.setup-form-panel,.setup-guide,.setup-migration-list,.setup-history{width:min(760px,100%);margin:auto;padding:28px}.setup-form-panel h2,.setup-guide h2,.setup-migration-list h2{font-family:var(--font-serif);font-size:1.65rem;margin:0 0 6px}.setup-form-panel>p,.setup-guide>p{color:var(--muted);margin-top:0}.setup-form-panel small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.setup-form-panel code,.setup-guide code,.setup-migration-list code{background:#2b2520;color:#f3e6d8;padding:2px 6px;border-radius:5px}.setup-migration-list ol{margin:14px 0 0;padding-left:24px}.setup-migration-list li{padding:5px 0}.setup-history summary{cursor:pointer;font-weight:800}.setup-history .responsive-table{margin-top:16px}.setup-error .button{margin:18px auto 5px}.setup-error .form-help{margin-top:18px}.admin-login .form-help a{color:var(--red);font-weight:800}
@media(max-width:760px){.setup-main{width:calc(100% - 20px);padding-top:25px}.setup-status-grid{grid-template-columns:1fr}.setup-header{padding:0 12px}.setup-header small{display:none}.setup-form-panel,.setup-guide,.setup-migration-list,.setup-history{padding:20px}.setup-heading{text-align:left}.setup-heading h1{font-size:2.35rem}}

/* v1.4.0 進行中対局と待ったの案内 */
.alert.info{background:#eef4fb;border:1px solid #bfd0e3;color:#29465f}.alert.info .button{margin-left:12px}.game-notice{max-width:980px;margin:10px auto}.game-actions .form-help{margin:0 2px 3px;color:#b9aa9d;line-height:1.55}
@media(max-width:760px){.alert.info .button{display:flex;margin:10px 0 0;width:100%}.game-actions .form-help{grid-column:1/-1}}

/* v1.7.0 個人AI師匠・投稿問題・通信対局・競技機能 */
/* v1.8.0 CPU思考強化・1局3回の待った制限 */
.header-actions,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-subsection{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.mentor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mentor-summary>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.mentor-summary span,.daily-score span{display:block;color:var(--muted);font-size:.82rem;font-weight:700}.mentor-summary strong{display:block;margin-top:4px;font-family:var(--font-serif);font-size:2rem}.mentor-weakness-list{display:grid;gap:12px}.mentor-weakness-list article{display:grid;grid-template-columns:1fr minmax(110px,26%);align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.mentor-weakness-list article:last-child{border-bottom:0}.mentor-weakness-list p{margin:3px 0 0;color:var(--muted)}.mentor-weakness-list meter{width:100%;height:15px}.mentor-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mentor-task-grid article{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.mentor-task-grid h3{margin-top:0}.mentor-task-grid ul{padding-left:1.2rem}.mentor-task-grid small{color:var(--green);font-weight:700}.comparison-list{display:grid;gap:8px;margin:20px 0 0}.comparison-list>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.comparison-list dt{color:var(--muted)}.comparison-list dd{margin:0;font-weight:900}.opening-recommendation{padding:16px 0;border-bottom:1px solid var(--line)}.opening-recommendation:last-child{border-bottom:0}.opening-recommendation p{margin:5px 0 0;color:var(--muted)}
.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.community-layout>.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.author-ranking{position:sticky;top:96px}.author-ranking ol,.ranking-list,.comment-list{list-style:none;margin:0;padding:0}.author-ranking li,.ranking-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.author-ranking li{grid-template-columns:minmax(0,1fr) auto}.author-ranking li:last-child,.ranking-list li:last-child{border-bottom:0}.author-ranking span,.ranking-list em{color:var(--muted);font-size:.82rem;font-style:normal}.daily-problem{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff9eb,#f8e7c9)}.daily-problem h2{margin:4px 0}.problem-editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:22px;align-items:start}.piece-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 0}.piece-palette button{min-height:42px;padding:6px;border:1px solid var(--line);border-radius:9px;background:#fff}.piece-palette button.active{border-color:var(--red);box-shadow:0 0 0 2px rgba(155,45,45,.14)}.hand-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.hand-editor fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}.hand-editor label{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:8px;margin:7px 0}.hand-editor input{width:100%}.solution-tools,.solution-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.solution-actions{justify-content:flex-end;margin-top:14px}.comment-list li{padding:14px 0;border-bottom:1px solid var(--line)}.comment-list li:last-child{border-bottom:0}.comment-list p{margin:5px 0}.problem-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}
.correspondence-list{display:grid;gap:13px}.correspondence-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.correspondence-card h2{margin:0 0 4px}.correspondence-card p{margin:0;color:var(--muted)}.correspondence-game{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}.correspondence-game aside{display:grid;gap:15px}.correspondence-game .move-panel{max-height:520px;overflow:auto}.correspondence-game .hand-area{margin-top:12px}
.rush-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rush-mode-grid article{display:flex;flex-direction:column}.rush-mode-grid h2{margin:6px 0}.rush-mode-grid form{margin-top:auto}.rush-header{position:sticky;top:76px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:14px 20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,250,241,.96);box-shadow:0 10px 28px rgba(53,37,21,.08)}.rush-header>div{display:flex;gap:16px;flex-wrap:wrap}.rush-header time{font-size:1.6rem;font-weight:900;color:var(--red)}.ranking-list li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#efe2cf;font-weight:900}.result-hero{text-align:center;margin:40px auto;max-width:760px;padding:55px 30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);box-shadow:var(--shadow)}.result-hero.new-record{background:linear-gradient(145deg,#fff9df,#f5ddb2)}.result-hero>strong{display:block;font-family:var(--font-serif);font-size:clamp(3rem,8vw,6rem);color:var(--red)}.result-hero .button-row{justify-content:center}
.daily-challenge-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fffaf1,#f0e0c8)}.daily-challenge-hero h2{margin:4px 0}.daily-score{text-align:right}.daily-score strong{display:block;font-family:var(--font-serif);font-size:2.8rem;color:var(--red);line-height:1.1}.daily-score small{display:block;margin-top:5px;color:var(--muted)}.cpu-style-summary{margin-top:13px;padding:12px 14px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.09);text-align:left}.cpu-style-summary strong,.cpu-style-summary span{display:block}.cpu-style-summary strong{font-size:.92rem}.cpu-style-summary span{margin-top:3px;font-size:.76rem;line-height:1.5;opacity:.88}
@media(max-width:980px){.mentor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mentor-task-grid,.rush-mode-grid{grid-template-columns:1fr}.community-layout,.problem-editor-layout,.correspondence-game{grid-template-columns:1fr}.community-layout>.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.author-ranking{position:static}.correspondence-game aside{grid-template-columns:repeat(2,minmax(0,1fr))}.correspondence-game aside #match-note{grid-column:1/-1}}
@media(max-width:680px){.header-actions,.daily-problem,.daily-challenge-hero{align-items:stretch;flex-direction:column}.header-actions .button,.daily-problem .button,.daily-challenge-hero .button,.daily-challenge-hero form{width:100%}.mentor-summary,.mentor-task-grid,.community-layout>.training-grid,.hand-editor{grid-template-columns:1fr}.mentor-weakness-list article{grid-template-columns:1fr}.correspondence-card{grid-template-columns:1fr}.correspondence-game aside{grid-template-columns:1fr}.rush-header{top:68px;align-items:flex-start}.rush-header>div{gap:9px}.piece-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-score{text-align:left}.problem-editor-layout{gap:14px}}
