:root{color-scheme:light;--paper:#f3f1e7;--ink:#132632;--muted:#657472;--teal:#1dcbb0;--pink:#f06483;--line:#d4dbd1;--yellow:#ecd866;font-family:Arial,"Yu Gothic UI","Meiryo",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);overflow:hidden}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #078974;outline-offset:4px}button{transition:transform .15s,background .15s,box-shadow .15s}button:active{transform:translateY(2px)}[hidden]{display:none!important}#app{height:100dvh;min-height:580px;display:flex;flex-direction:column}.topbar{height:74px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);gap:20px;background:var(--paper);z-index:4}.brand{color:var(--ink);font-size:23px;letter-spacing:-1.5px;font-weight:950;text-decoration:none;display:flex;align-items:center;gap:5px}.brand>span:not(.brand-icon){color:#168d7c}.brand-icon{display:grid;place-items:center;background:var(--ink);color:var(--teal);border-radius:8px;width:33px;height:35px;font-size:37px;margin-right:6px}.brand small{font-size:9px;letter-spacing:1px;border-left:1px solid #b4bdb4;margin-left:13px;padding-left:14px;font-weight:700}.arena-label{font-size:10px;letter-spacing:1.6px;font-weight:800;display:flex;align-items:center;gap:9px}.arena-label>span:last-child{color:var(--muted);letter-spacing:0;font-weight:500}.live-dot,.eyebrow i{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--teal)}.top-actions{display:flex;gap:9px}.small-button{font-size:10px;letter-spacing:1px;font-weight:700;background:transparent;border:1px solid #bcc5bb;border-radius:5px;padding:9px 12px}.small-button:hover{background:#e2e8dd}#stage{flex:1;position:relative;min-height:0;overflow:hidden;background:#cad5cb}#game-canvas{display:block;width:100%;height:100%;outline:none;cursor:crosshair;touch-action:none}.stage-corner{position:absolute;bottom:20px;font-size:9px;letter-spacing:1.7px;font-weight:800;pointer-events:none;color:#47605b}.corner-left{left:25px}.corner-left span{margin-left:15px;font-weight:500}.corner-right{right:25px}.overlay{position:absolute;inset:0;z-index:10}.home-screen{display:flex;align-items:center;padding:26px 5%;background:linear-gradient(90deg,rgba(233,236,222,.96) 0%,rgba(233,236,222,.90) 26%,rgba(233,236,222,.4) 49%,rgba(30,55,50,.04) 100%)}.home-card{width:470px;flex-shrink:0}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;font-weight:800}h1{font-family:"Arial Black",Impact,sans-serif;font-size:98px;line-height:.80;letter-spacing:-7px;margin:24px 0 21px;transform:skew(-5deg);font-weight:1000}h1>span{color:#149b85}.title-dot{color:var(--pink)}.tagline{font-size:28px;line-height:1.38;letter-spacing:1px;font-weight:900;margin:0 0 15px}.intro{font-size:12px;color:#4e625c;line-height:1.9;margin:0 0 18px}.home-meta{display:flex;gap:24px;font-size:12px;font-weight:900;margin-bottom:23px}.home-meta b{font-size:10px;font-weight:500;margin-left:7px;color:var(--muted)}.selection-label{display:flex;justify-content:space-between;font-size:10px;margin-bottom:9px;font-weight:700}.selection-label>span:last-child{color:var(--muted);font-weight:500}.weapon-options{display:flex;gap:8px}.weapon-card{flex:1;min-width:0;text-align:left;border:1px solid #bfcabf;border-radius:9px;padding:10px;background:#f5f6eea8;color:var(--ink)}.weapon-card:hover{background:white;transform:translateY(-2px)}.weapon-card.selected{border:2px solid #159880;padding:9px;background:#e1f5e9;box-shadow:0 3px 0 #159880}.weapon-card svg{display:block;height:32px;width:82px;fill:var(--ink);margin-bottom:5px}.weapon-card strong{display:block;font-size:11px;white-space:nowrap}.weapon-card small{display:block;font-size:9px;margin-top:3px;color:var(--muted)}.difficulty-row{display:flex;align-items:center;justify-content:space-between;margin:16px 0 13px;font-size:10px}.difficulty-row label{font-weight:700}.difficulty-row select{font-size:10px;color:#456457;border:0;border-bottom:1px solid #b5c8b8;background:transparent;padding:5px;max-width:75%;cursor:pointer}.primary-button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:17px 23px;border:0;border-radius:7px;background:var(--ink);color:var(--paper);font-size:17px;font-weight:800;box-shadow:0 4px 0 #90b3a2}.primary-button>span:last-child{color:var(--teal);font-size:24px;line-height:1}.primary-button:hover{background:#1c4350;box-shadow:0 5px 0 #62a990;transform:translateY(-1px)}.practice-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 1px 4px;background:transparent;border:0;font-size:11px;color:#3d5b4e}.practice-button span{font-weight:800}.home-footnote{font-size:9px;color:#758374;margin:12px 0 0}.home-callout{margin-left:auto;align-self:center;margin-right:5%;transform:rotate(-6deg);padding-bottom:60px;text-shadow:0 2px 14px #d9e8d6}.callout-badge{font-size:10px;font-weight:800;letter-spacing:2px;background:var(--yellow);padding:9px 13px;display:inline-block;box-shadow:4px 4px 0 #142c33}.home-callout>strong{display:block;font-size:clamp(32px,3.5vw,55px);line-height:1.5;letter-spacing:2px;margin-top:23px}.home-callout em{font-style:normal;color:#008e77}.home-callout p{font-size:12px;line-height:1.9;font-weight:700}.callout-controls{display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:1px;margin-top:24px}.callout-controls kbd{background:var(--paper);padding:10px 14px;font-size:17px;border:1px solid #456356;box-shadow:2px 2px 0 #244638;border-radius:5px}#home-footer{height:68px;flex-shrink:0;display:flex;align-items:center;gap:40px;padding:0 35px;font-size:11px}#home-footer b{color:#158f7d;font-size:11px;margin-right:10px}#home-footer small{margin-left:auto;font-size:9px;letter-spacing:1.3px;color:#7b857c}#match-hud{position:absolute;left:50%;top:20px;transform:translateX(-50%);pointer-events:none;z-index:3}.scoreboard{display:grid;grid-template-columns:140px 200px 140px;background:#f8f8eedf;backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 4px 22px #223d331f;padding:13px 22px 12px;gap:4px;border:1px solid #ffffff9e}.team-score{text-align:center}.team-score>span,.clock>span{font-size:9px;letter-spacing:1.2px;font-weight:800;display:block}.team-score>strong{font-size:29px;letter-spacing:-1px;display:block;margin-top:3px;font-variant-numeric:tabular-nums}.team-score small{font-size:14px}.teal{color:#009780}.coral{color:#db4268}.clock{text-align:center}.clock>strong{font-size:39px;line-height:1.15;letter-spacing:-2px;font-variant-numeric:tabular-nums;display:block}.clock>span:last-child{letter-spacing:0;font-size:9px;font-weight:500;margin-top:4px}.clock.urgent>strong{color:#de4567;animation:pulse 1s infinite}.roster{display:flex;justify-content:center;gap:5px;margin:4px 0 1px}.roster i{height:5px;width:13px;border-radius:2px;background:currentColor}.roster i.down{opacity:.2}.coverage-bar{height:5px;border-radius:3px;overflow:hidden;display:flex;grid-column:1/-1;margin-top:7px}.coverage-bar i{height:100%;transition:width .3s}#coverage-a{background:var(--teal)}#coverage-b{background:var(--pink)}#coverage-neutral{background:#cdd4c7}#announcer{position:absolute;top:160px;left:50%;transform:translateX(-50%) translateY(-6px);padding:11px 22px;background:var(--ink);color:white;font-size:14px;font-weight:800;border-radius:6px;opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;white-space:nowrap;z-index:12;box-shadow:0 4px 0 #1ac7a9}#announcer.show{opacity:1;transform:translateX(-50%) translateY(0)}#announcer.countdown{top:42%;font-size:70px;min-width:120px;text-align:center;box-shadow:6px 6px 0 var(--teal);transform:translate(-50%,-50%) rotate(-5deg)}#killfeed{position:absolute;right:24px;top:25px;display:flex;flex-direction:column;gap:7px;pointer-events:none;z-index:4}.feed-item{background:#112c32dd;color:#f5f6e9;font-size:11px;border-radius:4px;padding:8px 12px;animation:feed-in .2s ease}.feed-item b{color:#4be2bb}.feed-item.enemy b{color:#ff91a8}#respawn{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);background:#152b35e8;color:white;text-align:center;padding:25px 35px;border-radius:14px;z-index:5}#respawn>span,#respawn>small{display:block;font-size:11px;color:#c3d7cf}#respawn>strong{display:block;font-size:30px;margin:10px}#respawn b{color:var(--teal)}.centered{display:grid;place-items:center;background:#10282a77;backdrop-filter:blur(8px);padding:20px}.dialog{width:460px;max-width:100%;padding:38px;background:var(--paper);border-radius:15px;box-shadow:10px 10px 0 #102c2d66}.dialog h2{font-size:30px;letter-spacing:-1px;margin:24px 0 14px}.dialog p{font-size:12px;line-height:1.9;color:#526b61;margin-bottom:25px}.dialog .primary-button{font-size:15px}.secondary-button{padding:13px;width:100%;margin-top:13px;border:1px solid #b6c6b7;background:transparent;border-radius:6px;font-size:12px;font-weight:700;color:var(--ink)}.text-button{padding:15px 0 0;display:block;margin:auto;background:transparent;border:0;color:#547665;font-size:11px}.result-dialog{width:520px;text-align:center}.result-dialog .eyebrow{justify-content:center}.result-dialog h2{font-family:"Arial Black",Impact,sans-serif;font-size:56px;color:#119b81;transform:rotate(-4deg);margin-bottom:0}.result-dialog h2.loss{color:#dc5174}.result-score{display:flex;align-items:center;justify-content:space-around;margin:25px 0;border-block:1px solid #cfdbc9;padding:22px 0}.result-score>div>span{display:block;font-size:9px;letter-spacing:1px;font-weight:700}.result-score strong{font-size:38px;letter-spacing:-2px}.result-score>span{font-size:14px;color:#8b9b8b}.result-stats{display:flex;justify-content:space-around}.result-stats strong{display:block;font-size:26px}.result-stats span{display:block;font-size:10px;color:#6a7e6d;margin-top:5px}.result-dialog #result-tip{font-size:11px;margin:23px 0}#game-footer{height:98px;flex-shrink:0;display:flex;align-items:center;padding:0 28px;gap:27px;border-top:1px solid #c1cfbf;background:var(--paper);z-index:4}.player-panel{display:flex;gap:12px;align-items:center;min-width:192px}.avatar{display:grid;place-items:center;width:46px;height:48px;border-radius:10px;background:var(--ink);color:var(--teal);font-size:48px;border-bottom:4px solid #17b197}.player-info{flex:1}.player-info>strong{font-size:12px;display:block}.player-info>strong>span{font-size:9px;font-weight:500;margin-left:10px}.health-track{height:5px;border-radius:2px;background:#d4dccd;margin-top:7px;overflow:hidden}.health-track>i{height:100%;background:#178d78;display:block;transition:width .1s}.player-info>small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.ink-panel{width:230px;flex-shrink:1}.meter-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px}.meter-label>span{color:#15967d;font-weight:800}.ink-track{height:11px;background:#cfdace;border-radius:3px;overflow:hidden;margin:7px 0}.ink-track>i{display:block;height:100%;background:var(--teal);transition:width .1s}.ink-panel>small{font-size:9px;color:#71836f;white-space:nowrap}kbd{font:inherit;border:1px solid #adbcae;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;background:#e7ebdf}.ability{display:flex;gap:11px;align-items:center;border-left:1px solid #cad5c5;padding-left:24px;min-width:156px}.ability>kbd{width:32px;height:34px;display:grid;place-items:center;font-size:16px;box-shadow:0 3px 0 #b8c8b6;background:#eaf0e3}.ability>div>strong{display:block;font-size:10px}.ability>div>span{display:block;font-size:10px;letter-spacing:1px;color:#768b78;margin-top:6px}.blast-ability{min-width:166px}.blast-track{height:3px;background:#d3dccb;margin-top:5px}.blast-track>i{height:100%;display:block;background:#159981}.ability.ready>kbd{background:var(--yellow);border-color:#c0aa41;box-shadow:0 3px 0 #9b8c40}.ability.ready>div>span{color:#127d66;font-weight:900}.ability.ready.blast-ability{animation:pulse 1.1s infinite}.control-hint{margin-left:auto;display:flex;flex-direction:column;gap:9px;font-size:9px;color:#59715e;white-space:nowrap}.control-hint kbd{margin-right:4px}.low-ink .ink-track>i{background:var(--pink)}.low-ink #ink-hint{color:#d34664;font-weight:700}.diving .avatar{background:#149b82;color:white}.diving #ink-hint{color:#098c6f;font-weight:800}.playing .stage-corner{opacity:.5}@keyframes pulse{50%{opacity:.6}}@keyframes feed-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@media(min-height:950px){.home-card{width:500px}h1{font-size:120px}.tagline{font-size:33px}.home-meta{margin-bottom:27px}.weapon-card{padding:13px}.weapon-card.selected{padding:12px}.home-screen{padding-left:7%}}
@media(max-height:850px){.home-screen{padding-top:17px;padding-bottom:17px}.home-card{width:435px}h1{font-size:77px;margin:18px 0 16px}.tagline{font-size:23px;margin-bottom:10px}.intro{font-size:11px;margin-bottom:12px}.home-meta{margin-bottom:15px}.home-meta b{font-size:9px}.weapon-card svg{height:24px}.weapon-card{padding:8px}.weapon-card.selected{padding:7px}.difficulty-row{margin:12px 0 9px}.primary-button{padding:13px 19px}.home-footnote{margin-top:9px}.home-callout{margin-right:3%}.topbar{height:62px}#home-footer{height:53px}.eyebrow{font-size:9px}#game-footer{height:87px}.scoreboard{transform:scale(.9);transform-origin:top center}#announcer{top:145px}}
@media(max-width:1150px){.topbar{padding:0 20px}.brand small{display:none}.home-screen{padding-left:4%}.home-callout{margin-right:0}.home-callout>strong{font-size:35px}#home-footer{gap:20px;padding:0 20px}#home-footer small{display:none}#game-footer{gap:18px;padding:0 18px}.control-hint{display:none}.ink-panel{flex:1}.ability{padding-left:18px;min-width:140px}.player-panel{min-width:180px}#killfeed{top:145px;right:15px}}
@media(max-width:760px){body{overflow:auto}#app{min-height:720px}.topbar{height:60px}.brand{font-size:20px}.arena-label{display:none}.home-screen{background:#e7ecdfef;justify-content:center;padding:20px}.home-card{width:440px;max-width:100%}.home-callout{display:none}h1{font-size:77px}.tagline br{display:none}.tagline{font-size:22px}.intro br{display:none}.home-meta{margin:12px 0}.weapon-card strong{font-size:10px}.home-footnote{font-size:8px}#home-footer{height:48px;font-size:9px;gap:12px}#home-footer>span:nth-child(3){display:none}#game-footer{height:140px;flex-wrap:wrap;gap:8px 16px;padding:12px 16px}.player-panel{width:40%;min-width:0}.ink-panel{width:50%;flex:1}.ability{width:44%;border:0;padding-left:0}.ability>kbd{height:27px}.scoreboard{grid-template-columns:100px 135px 100px;padding:12px 10px;transform:scale(.92)}#match-hud{top:12px}.clock>strong{font-size:32px}.team-score>strong{font-size:24px}.clock>span{font-size:8px}.stage-corner{display:none}#announcer{font-size:11px;max-width:95%;white-space:normal;text-align:center;top:130px}#killfeed{top:175px;font-size:9px}.dialog{padding:27px}.result-dialog h2{font-size:46px}.result-score strong{font-size:30px}.top-actions{gap:5px}.small-button{font-size:9px;padding:8px}.health-track{margin-top:4px}}
.centered{grid-template-rows:minmax(0,1fr)}.dialog{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
@media(max-height:850px){.result-dialog{padding:25px}.result-dialog h2{font-size:47px;margin-top:17px}.result-dialog p{margin-bottom:17px}.result-score{margin:17px 0;padding:15px 0}.result-dialog #result-tip{margin:16px 0}.result-stats strong{font-size:23px}}
/* The scoreboard sits above the arena so it never hides a playable lane. */
@media(min-width:761px){.playing .topbar{height:118px}.playing .arena-label{display:none}.playing #match-hud{position:fixed;top:7px;z-index:6}.playing .scoreboard{transform:scale(.9);transform-origin:top center}.playing .topbar .brand{font-size:20px}.playing .brand small{display:none}.playing #announcer{top:20px}.playing #announcer.countdown{top:42%}.playing #killfeed{top:24px}}
@media(max-width:760px){.playing #stage{border-top:111px solid var(--paper)}.playing #match-hud{position:fixed;top:65px;z-index:6}.playing #announcer{top:12px}.playing #announcer.countdown{top:42%}.playing #killfeed{top:57px}}
@media(max-height:700px){.home-screen{align-items:flex-start;overflow-y:auto}.home-callout{align-self:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* --- タッチ操作（スマホ・タブレット） --- */
body.touch{overflow:auto;overscroll-behavior:none;-webkit-text-size-adjust:100%}
body.touch #app{min-height:0}
body.touch.playing{overflow:hidden;position:fixed;inset:0;width:100%}
#touch-controls{position:absolute;inset:0;z-index:5;pointer-events:none}
body:not(.playing) #touch-controls{display:none}
#touch-controls .touch-column{position:absolute;right:calc(9px + env(safe-area-inset-right));bottom:calc(11px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px}
.touch-button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;width:66px;height:66px;padding:0;border-radius:50%;border:2px solid #14303b52;background:#f4f8e7d4;color:#14303b;display:grid;place-items:center;line-height:1;box-shadow:0 3px 0 #14303b30;transition:none}
.touch-button>span{font-size:23px}
.touch-button>small{font-size:9px;font-weight:800;margin-top:2px}
.touch-button.touch-dive{width:82px;height:82px}
.touch-button.touch-dive>span{font-size:29px}
.touch-button.ready{border-color:#0f8e77;background:#e7f7ecdb}
.touch-button.ready>small{color:#0c7a63}
.touch-button.held{background:#1fcbabe6;border-color:#0a6c5c;color:#06343a;box-shadow:none;transform:translateY(2px)}
.touch-button.touch-small{position:absolute;top:calc(7px + env(safe-area-inset-top));right:calc(9px + env(safe-area-inset-right));width:42px;height:42px;font-size:14px;font-weight:800}
body.touch #app.playing .topbar,body.touch #app.playing #home-footer{display:none}
body.touch #app.playing #stage{border-top:0}
body.touch #app.playing #match-hud{position:absolute;top:calc(5px + env(safe-area-inset-top));z-index:4}
body.touch #app.playing .scoreboard{transform:scale(.8);transform-origin:top center}
body.touch #app.playing .stage-corner{display:none}
body.touch #app.playing #announcer{top:calc(104px + env(safe-area-inset-top));max-width:82vw;white-space:normal;text-align:center}
body.touch #app.playing #announcer.countdown{top:40%}
body.touch #app.playing #killfeed{top:calc(104px + env(safe-area-inset-top));right:calc(60px + env(safe-area-inset-right))}
body.touch #app.playing #game-footer{position:absolute;top:calc(5px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));width:min(198px,40vw);height:auto;flex-direction:column;align-items:stretch;gap:7px;padding:8px 11px 9px;border:1px solid #ffffff96;border-top:0;border-radius:11px;background:#f7f8eed1;backdrop-filter:blur(9px);pointer-events:none;z-index:4}
body.touch #app.playing #game-footer .ability,body.touch #app.playing .control-hint{display:none}
body.touch #app.playing .player-panel{min-width:0;gap:9px}
body.touch #app.playing .avatar{width:30px;height:32px;font-size:31px;border-bottom-width:3px}
body.touch #app.playing .ink-panel{width:auto;flex:none}
body.touch #app.playing .ink-track{height:9px;margin:5px 0}
body.touch #app.playing .ink-panel>small{white-space:normal;line-height:1.5}
body.touch #respawn{padding:18px 24px}
@media(max-height:560px){body.touch .home-screen{padding:12px 18px;align-items:flex-start}body.touch h1{font-size:37px;letter-spacing:-3px;margin:2px 0 7px}body.touch .tagline{font-size:15px;line-height:1.3;margin-bottom:9px}body.touch .tagline br{display:none}body.touch .intro,body.touch .home-meta,body.touch .home-news,body.touch .home-callout,body.touch #home-footer,body.touch .home-footnote,body.touch .home-card .eyebrow{display:none}body.touch .home-card{width:min(430px,54vw)}body.touch .topbar{height:50px}body.touch .weapon-card svg{height:20px;width:60px}body.touch .weapon-card{padding:7px}body.touch .weapon-card.selected{padding:6px}body.touch .difficulty-row{margin:9px 0 7px}body.touch .primary-button{padding:11px 17px;font-size:15px}body.touch .practice-button{padding:9px 1px 2px}body.touch #app.playing #game-footer{width:min(178px,34vw)}}
@media(max-width:430px){.touch-button{width:60px;height:60px}.touch-button>span{font-size:21px}.touch-button.touch-dive{width:74px;height:74px}body.touch #app.playing #killfeed{display:none}}
@media(orientation:portrait){body.touch #app.playing #game-footer{top:calc(96px + env(safe-area-inset-top));left:calc(9px + env(safe-area-inset-left));right:calc(9px + env(safe-area-inset-right));width:auto;flex-direction:row;align-items:center;gap:15px;padding:9px 13px}body.touch #app.playing .player-panel{width:auto;flex-shrink:0}body.touch #app.playing .player-info>strong>span{display:block;margin:3px 0 0}body.touch #app.playing .ink-panel{flex:1;min-width:0}body.touch #app.playing #announcer{top:calc(172px + env(safe-area-inset-top))}body.touch #app.playing #killfeed{top:calc(172px + env(safe-area-inset-top))}}
#rotate-hint{display:none;position:absolute;left:50%;bottom:calc(190px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:4;padding:8px 14px;border-radius:20px;background:#14303bd4;color:#f2f6e6;font-size:11px;font-weight:700;white-space:nowrap;pointer-events:none;animation:hint-fade 9s forwards}
@media(orientation:portrait){body.touch.playing #rotate-hint{display:block}}
@keyframes hint-fade{0%,72%{opacity:1}100%{opacity:0}}
/* --- コントローラー（Gamepad API） --- */
.pad-badge{font-size:10px;letter-spacing:1px;font-weight:800;color:#0b7f6a;border:1px solid #9fd3c3;border-radius:5px;padding:9px 12px;background:#e3f5ec;white-space:nowrap}
/* Focus moved by a stick never counts as keyboard focus, so the ring is forced on. */
body.gamepad button:focus,body.gamepad select:focus{outline:3px solid #078974;outline-offset:4px}
body.gamepad #game-canvas{cursor:none}
body.touch #app.playing .pad-badge{display:none}
/* --- 更新情報（タイトル画面） --- */
.home-news{display:flex;align-items:center;gap:9px;margin:-8px 0 16px;padding:7px 10px;border:1px solid #c9d6c8;border-radius:7px;background:#f6f8eeb8;font-size:11px;min-width:0}
.news-badge{font-size:8px;letter-spacing:1.5px;font-weight:900;background:var(--yellow);padding:4px 6px;border-radius:3px;flex-shrink:0}
.news-date{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.news-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.news-more{flex-shrink:0;background:transparent;border:0;padding:2px 0;color:#0f8e77;font-size:11px;font-weight:800;white-space:nowrap}
.news-more:hover{text-decoration:underline}
.news-dialog{width:520px}
.news-list{max-height:min(52vh,430px);overflow-y:auto;overscroll-behavior:contain;margin:0 0 22px;padding-right:6px}
.news-entry{padding:13px 0;border-top:1px solid #d9e1d3}
.news-entry:first-child{border-top:0;padding-top:0}
.news-entry time{font-size:10px;color:var(--muted);letter-spacing:.5px;font-variant-numeric:tabular-nums}
.news-entry strong{display:block;font-size:14px;margin:3px 0 6px}
.news-entry.latest strong::after{content:"NEW";font-size:8px;letter-spacing:1px;background:var(--yellow);padding:2px 5px;border-radius:3px;margin-left:8px;vertical-align:middle}
.news-entry ul{margin:0;padding-left:18px;font-size:11px;line-height:1.85;color:#3f5a50}
@media(max-height:850px){.home-news{margin:-4px 0 12px;padding:6px 9px}}
@media(max-width:760px){.news-date{display:none}.news-dialog{padding:24px}}
/* --- コントローラーの確認 --- */
.pad-dialog{width:560px}
.pad-dialog #pad-summary{margin-bottom:14px}
.pad-report{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.pad-row{padding:10px 12px;border:1px solid #cfdac9;border-radius:8px;background:#f7f9f0}
.pad-row strong{display:block;font-size:12px}
.pad-row small{display:block;font-size:9px;color:var(--muted);margin:3px 0 6px;word-break:break-all}
.pad-row code{display:block;font-size:11px;font-family:Consolas,Menlo,monospace;color:#1b3c3a;white-space:pre-wrap}
.pad-tips{margin:0 0 12px;padding-left:18px;font-size:10px;line-height:1.8;color:#4e625c}
.pad-env{display:block;font-size:9px;color:#8b9b8b;word-break:break-all;margin-bottom:16px}
/* A phone-width top bar has no room for the full label, so it gets a SOUND ON style short one. */
.pad-badge-narrow{display:none}
@media(max-width:760px){.pad-badge-wide{display:none}.pad-badge-narrow{display:inline}}
