/* 中高生モード専用。外部画像なし / SVG と CSS の盤面 */
.adv-game{--adv-gold:#f3cc7b;--adv-ink:#071322;--adv-red:#ff967a;--adv-blue:#7dcff7;background:linear-gradient(145deg,rgba(8,23,39,.97),rgba(13,20,34,.97));border:1px solid #bd98564d;border-radius:20px;padding:clamp(15px,3vw,30px);box-shadow:0 22px 65px #0008;color:#edf2f9;max-width:880px;margin:auto;font-family:"Yu Gothic",Meiryo,sans-serif;isolation:isolate;position:relative;overflow:hidden;box-sizing:border-box}
.adv-game *{box-sizing:border-box}.adv-game button{font:inherit;touch-action:manipulation}.adv-game button:focus-visible{outline:3px solid #fff;outline-offset:3px;z-index:3}.adv-header{margin-bottom:18px}.adv-eyebrow{font-size:10px;color:var(--adv-gold);letter-spacing:.2em}.adv-header h2{font-family:"Yu Mincho",serif;font-size:clamp(23px,4vw,34px);line-height:1.35;margin:12px 0 7px;letter-spacing:.04em}.adv-subtitle{font-size:12px;color:#a6b9ca;margin:0}.adv-rules{font-size:14px;line-height:1.9;background:#eef6ff06;border-left:2px solid #c3a268;padding:13px 16px;margin:0 0 20px}.adv-status{padding:12px 0 16px;color:#c4d4e1;font-size:13px;line-height:1.7}.adv-status b{color:var(--adv-gold);font-size:16px}.adv-btn{min-height:44px;border:1px solid #a4c3d149;border-radius:9px;background:linear-gradient(145deg,#203548,#122134);color:#eff4f9;padding:11px 16px;cursor:pointer;transition:background .2s,transform .15s;white-space:normal;max-width:100%}.adv-btn:hover:not(:disabled){background:#2c4860;border-color:#e2c589;transform:translateY(-1px)}.adv-btn:disabled{opacity:.35;cursor:default}.adv-btn small{display:block;color:#b4c7d7;font-size:10px;margin-top:4px}.adv-footer{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;border-top:1px solid #cad9ea24;margin-top:20px}.adv-footer .adv-btn{font-size:12px;flex:1 1 120px}.adv-notice{font-size:13px;line-height:1.7;min-height:1.7em;color:#e3ceaa;margin:15px 0 0}.adv-hint{border:1px solid #e9c78166;padding:15px;background:#d8ad4910;border-radius:10px;font-size:13px;line-height:1.8;margin-top:14px}.adv-hint b{color:var(--adv-gold)}.adv-hint p{margin-bottom:0}.adv-small{font-size:11px;line-height:1.8;color:#b5c8d9}.adv-red{color:var(--adv-red)!important}.adv-blue{color:var(--adv-blue)!important}.adv-rest{color:#bbc7d8}.adv-result{text-align:center;background:radial-gradient(ellipse,#c8982424,transparent 75%);padding:30px 10px;animation:adv-reveal .7s ease}.adv-result>span{font-size:76px;color:var(--adv-gold);display:block;text-shadow:0 0 35px #e9be62aa;animation:adv-breathe 4s ease-in-out infinite}.adv-result h3{font-family:"Yu Mincho",serif;font-size:26px}.adv-result p{font-size:13px;color:#b9c7d7;line-height:1.9}.adv-result .adv-btn{border-color:#d6af6d;min-width:200px;margin-top:14px}.adv-failure{padding:16px;background:#77372540;border:1px solid #e99d8566;color:#ffd6c1;border-radius:10px;margin-top:15px;font-size:14px;line-height:1.8}
.adv-memory{display:grid;grid-template-columns:repeat(var(--adv-cols),minmax(0,1fr));gap:8px;margin-bottom:18px}.adv-card{aspect-ratio:.76;border:1px solid #7897b362;border-radius:10px;background:linear-gradient(145deg,#1d354b,#111e31);color:#edce8d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 3px;cursor:pointer;position:relative;min-width:0;transition:background .3s;box-shadow:inset 0 0 20px #4c8ba713}.adv-card>span{font-size:15px;overflow-wrap:anywhere;line-height:1.4}.adv-card>small{font-size:9px;opacity:.6}.adv-card>span small{font-size:9px;opacity:.75}.adv-card.adv-open{background:linear-gradient(145deg,#77613c,#263040);color:#fff9ec;animation:adv-reveal .3s}.adv-card.adv-done{background:#103b3b;border-color:#6cc8b8;color:#b8f2df}.adv-card.adv-moving-row::after{content:'→';position:absolute;right:4px;bottom:2px;font-size:10px;color:#74bfff}.adv-clues{font-size:13px;line-height:1.8;background:#f1dfc808;padding:14px;border-radius:10px;border:1px solid #dcc6a728;margin-bottom:16px}.adv-clues summary{cursor:pointer;color:#e6c797}.adv-clues ul{padding-left:20px;margin-bottom:0}.adv-clues li{margin:5px 0}.adv-order{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 15px}.adv-order li{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px;border:1px solid #c7deef29;border-radius:8px;font-size:12px;background:#030d1a88}.adv-order b{font-family:Georgia,serif;color:#ebc67e;font-size:17px}.adv-pool{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.adv-pool .adv-btn{font-size:13px;flex:1 1 125px}
.adv-circuit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;max-width:440px;margin:5px auto 20px;padding:7px;border:1px solid #cdab653d;border-radius:14px;background:#050d17;box-shadow:0 0 55px #347fb21a}.adv-pipe{position:relative;aspect-ratio:1;border:1px solid #bdcfe818;border-radius:8px;background:#101e2f;color:#53677a;cursor:pointer;padding:0;overflow:hidden}.adv-pipe svg{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.adv-pipe svg path{stroke:currentColor;stroke-width:9;fill:none;stroke-linecap:round}.adv-pipe svg circle{fill:currentColor}.adv-pipe.adv-red,.adv-pipe.adv-blue{background:#182e42;filter:drop-shadow(0 0 4px currentColor)}.adv-pipe.adv-red path,.adv-pipe.adv-blue path{stroke-dasharray:8 3;animation:adv-flow 2s linear infinite}.adv-pipe .adv-guide{opacity:.6;color:#ffed9c}.adv-pipe .adv-guide path{stroke-width:2;stroke-dasharray:3 5}.adv-end{position:absolute;z-index:1;inset:0;display:grid;place-items:center;font-size:23px;text-shadow:0 0 5px #010711,1px 1px 2px #000}.adv-maze{display:grid;grid-template-columns:repeat(var(--adv-cols),minmax(0,1fr));gap:5px;max-width:400px;margin:auto;background:radial-gradient(ellipse at 50% 50%,#23495a44,transparent)}.adv-cell{aspect-ratio:1;min-height:40px;background:#152b3a;border:1px solid #7294ac50;border-radius:8px;color:#ccd9e7;font-size:17px;cursor:pointer;position:relative}.adv-cell.adv-wall{color:#384b5b;background:#091320;border-color:#263646}.adv-cell.adv-player{color:#ffda7c;background:#4a412b;box-shadow:0 0 22px #eac16744;font-size:25px;animation:adv-breathe 3s ease-in-out infinite}.adv-cell.adv-tide{background:repeating-linear-gradient(150deg,#206d8340 0 3px,#143247 4px 15px);color:#b3e5fa;animation:adv-water 4s linear infinite}.adv-next{outline:2px solid #ffe19b;outline-offset:1px}.adv-pad{text-align:center;display:grid;justify-content:center;gap:6px}.adv-pad>button:first-child{justify-self:center}.adv-pad>div{display:flex;gap:6px;justify-content:center}.adv-pad .adv-btn{min-width:47px}.adv-pad>button:last-child{margin-top:6px}.adv-score{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.adv-score>span{border:1px solid #d4deee30;border-radius:6px;padding:8px 2px;text-align:center;font-size:13px;background:#0a1829}.adv-score small{display:block;font-size:8px;opacity:.6;margin-top:3px}.adv-current{outline:2px solid #f0cf8e;outline-offset:1px;background:#37434e!important}.adv-score .adv-hit{background:#174037;border-color:#68bda3}.adv-score .adv-miss{background:#43262a;border-color:#a76f6f}.adv-rhythm-scene{height:170px;position:relative;display:grid;place-items:center;overflow:hidden}.adv-rhythm-scene svg{height:160px;width:100%;position:absolute;opacity:.35;fill:none;stroke:#97c6da;stroke-width:.7;animation:adv-breathe 3s infinite}.adv-rhythm-scene strong{font-size:49px;font-family:"Yu Mincho",serif;text-shadow:0 0 20px currentColor}.adv-lane{height:52px;border:1px solid #afc9e53b;border-radius:9px;background:#05101f;position:relative;overflow:hidden;margin:0 5px 16px}.adv-zone{position:absolute;left:50%;transform:translateX(-50%);height:100%;background:#e4c17a22;border-left:1px solid #e4c17a99;border-right:1px solid #e4c17a99}.adv-cursor{height:100%;width:3px;background:#ecfaff;position:absolute;left:0;box-shadow:0 0 15px #80deff}.adv-lane>span{position:absolute;width:100%;text-align:center;top:16px;color:#dabd80;font-size:11px;pointer-events:none}.adv-rhythm-buttons{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.adv-rhythm-buttons .adv-btn{flex:1;min-width:75px;min-height:56px}
.adv-resource-head,.adv-resources{display:grid;grid-template-columns:25px repeat(3,minmax(0,1fr));gap:7px;align-items:center;max-width:490px;margin:auto}.adv-resource-head{font-size:12px;text-align:center;margin-bottom:8px;color:#d7bd83}.adv-resource-head>span{font-size:8px}.adv-resource{background:linear-gradient(135deg,#26354780,#102338);border:1px solid #afc9e52b;text-align:center;border-radius:10px;padding:8px}.adv-resource>strong{font-size:25px;font-weight:normal;color:#ecd096;display:block;margin-bottom:6px}.adv-resource>div{display:flex;gap:4px;justify-content:center}.adv-resource .adv-btn{padding:7px 4px;min-width:0;flex:1;min-height:36px;font-size:15px}.adv-row-label{font-size:13px;color:#ccb98e}.adv-constraints{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:12px;margin:18px 0;line-height:1.65}.adv-constraints li{padding:5px 8px;color:#a7bbcd;background:#07111e66;border-radius:5px}.adv-constraints .adv-met{color:#efd393;background:#ad903724}.adv-dials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:15px 0 22px}.adv-dial{aspect-ratio:.76;position:relative;border:1px solid #b9cedb37;border-radius:50px 50px 20px 20px;background:radial-gradient(ellipse,#304251,#0a1929);color:#e4c185;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;cursor:pointer;min-width:0;padding:5px;overflow:hidden}.adv-dial strong{font-size:33px;position:relative;font-family:Georgia,serif}.adv-dial small{font-size:10px}.adv-dial>span:last-child{font-size:10px}.adv-ring{position:absolute;inset:10px;border:1px dashed #efd29540;border-radius:50%;pointer-events:none;transition:transform .4s}.adv-ring:before{content:'';width:6px;height:6px;border-radius:50%;position:absolute;top:0;left:50%;background:#ffe7b1}.adv-aligned{border-color:#c7a75f;box-shadow:inset 0 0 20px #daa44b30}.adv-links{text-align:center;color:#c9b992;font-size:15px;line-height:1.8}.adv-links small{font-size:11px}.adv-combat{display:flex;justify-content:space-around;align-items:center;gap:10px;padding:18px 0;background:radial-gradient(ellipse,#44638820,transparent 70%)}.adv-fighter{display:flex;flex-direction:column;gap:10px;width:35%;text-align:center}.adv-fighter>span{font-size:12px;color:#c1d1df}.adv-fighter strong{font-size:30px;font-family:Georgia,serif;color:#f0d09a}.adv-fighter small{font-size:15px;color:#8eabc3}.adv-fighter progress{width:100%;height:7px;accent-color:#d9b778}.adv-combat-sigil{font-size:55px;color:#9dd4e5;text-shadow:0 0 40px #6487df;animation:adv-orbit 14s linear infinite}.adv-intent{text-align:center;padding:15px;border:1px solid #ba99784d;border-radius:10px;background:#301c1120}.adv-intent small{display:block;color:#cfb58b;font-size:10px;letter-spacing:.14em;margin-bottom:8px}.adv-intent b{font-size:14px;font-weight:normal}.adv-future{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px}.adv-future span{font-size:10px;padding:6px 8px;border-radius:5px;background:#273c4d}.adv-future .adv-past{opacity:.3;text-decoration:line-through}.adv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adv-actions .adv-btn{font-size:14px;min-height:68px}.adv-log{font-size:11px;line-height:1.8;padding-left:23px;color:#b5c6d6}
@keyframes adv-flow{to{stroke-dashoffset:-44}}@keyframes adv-breathe{50%{opacity:.65;filter:brightness(1.2)}}@keyframes adv-water{to{background-position:28px 0}}@keyframes adv-orbit{to{transform:rotate(360deg)}}@keyframes adv-reveal{from{opacity:.1;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:500px){.adv-game{padding:15px 11px;border-radius:13px}.adv-rules{font-size:12px;line-height:1.8;padding:10px}.adv-header h2{font-size:24px}.adv-status{font-size:11px}.adv-status b{font-size:14px}.adv-memory{gap:4px}.adv-card{border-radius:6px}.adv-card>span{font-size:11px}.adv-card>span small{font-size:8px}.adv-card.adv-moving-row::after{font-size:8px}.adv-btn{padding:10px 10px;font-size:13px}.adv-score{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.adv-score>span{font-size:11px;padding:5px}.adv-score small{display:inline;margin-left:5px}.adv-rhythm-scene{height:145px}.adv-dials{gap:4px}.adv-dial{gap:6px;border-radius:35px 35px 15px 15px}.adv-dial strong{font-size:26px}.adv-dial small,.adv-dial>span:last-child{font-size:9px}.adv-ring{inset:4px}.adv-constraints{grid-template-columns:1fr;font-size:11px;gap:4px}.adv-resource-head,.adv-resources{grid-template-columns:18px repeat(3,minmax(0,1fr));gap:5px}.adv-resource{padding:7px 4px}.adv-resource .adv-btn{padding:4px;min-height:38px}.adv-resource-head{font-size:10px}.adv-clues{font-size:11px;padding:10px}.adv-order li{font-size:11px;padding:7px;gap:7px}.adv-order b{font-size:15px}.adv-actions{gap:7px}.adv-actions .adv-btn{font-size:13px}.adv-combat-sigil{font-size:38px}.adv-fighter strong{font-size:26px}.adv-fighter>span{font-size:11px}.adv-footer{gap:6px}.adv-footer .adv-btn{flex-basis:100px}.adv-result h3{font-size:22px}.adv-result>span{font-size:65px}}
@media(prefers-reduced-motion:reduce){.adv-game *,.adv-game *::before,.adv-game *::after{animation:none!important;transition:none!important}}
body.motion-off .adv-game *,body.no-motion .adv-game *,body[data-motion="off"] .adv-game *,.reduced-motion .adv-game *{animation:none!important;transition:none!important}
