.game-log{margin:26px 0;border:1px solid #d4d4d4;border-radius:14px;overflow:hidden}.game-log>summary{padding:14px 18px;display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700}.game-log>summary:before{content:'＋';font:20px monospace}.game-log[open]>summary:before{content:'−'}.game-log #history{max-height:420px;overflow:auto;padding:0 14px 14px}.game-log summary span{font-size:12px;color:#777;margin-left:auto}
.fate-table{grid-column:1/-1;display:grid;grid-template-columns:70px minmax(0,190px);justify-content:center;align-items:center;gap:18px;padding:24px 10px;background:radial-gradient(ellipse,#ddd6,transparent 70%);border:1px solid #ddd;border-radius:18px;position:relative}.fate-table-caption{grid-column:1/-1;text-align:center;font-size:12px;margin:0}.fate-zero{font:70px Georgia,serif;text-align:center;padding:35px 15px;border:2px dashed #ccc;border-radius:14px;color:#aaa}.fate-deck{height:110px;background:repeating-linear-gradient(45deg,#151515,#151515 5px,#333 5px,#333 6px);color:white;border:4px double #ddd;border-radius:9px;box-shadow:-3px 3px 0 #aaa,-6px 6px 0 #ddd;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.fate-deck b{font:27px monospace}.fate-deck small{font-size:10px}
.fate-seats{display:flex;gap:7px;overflow:auto;margin:14px 0;padding:5px}.fate-seat{min-width:85px;flex:1;border:1px solid #ddd;padding:10px 8px;border-radius:9px}.fate-seat b,.fate-seat span{display:block;font-size:11px;overflow-wrap:anywhere}.fate-seat span{color:#777;margin-top:4px}.fate-seat.current{border-color:#111;box-shadow:0 0 0 2px #111}
#extra-panel[data-kind="angel"] #extra-hand{display:flex;overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x proximity;padding:18px 6px 24px;gap:14px}#extra-panel[data-kind="angel"] #extra-hand .fate-card{flex:0 0 145px;scroll-snap-align:center;min-height:198px}#extra-panel[data-kind="angel"] #extra-hand .fate-unavailable{border-style:dashed;box-shadow:0 3px 0 #ddd;filter:contrast(.75);opacity:.62}#extra-panel[data-kind="angel"] #extra-hand .fate-unavailable:disabled{opacity:.62;filter:contrast(.75)}
.fate-target select{font-size:16px}.fate-choice-panel{flex-basis:100%;padding:16px;border:2px solid #222;border-radius:12px;background:#f4f4f4;display:flex;gap:8px;flex-wrap:wrap}.fate-choice-panel>b,.fate-choice-panel>p{flex-basis:100%}.fate-choice-panel button{min-height:50px}.fate-blind{background:repeating-linear-gradient(45deg,#191919,#191919 5px,#333 5px,#333 6px);color:#fff;border:3px double #aaa;border-radius:9px;font:20px Georgia,serif;min-width:55px;height:80px}.fate-duel{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-column:1/-1;border-top:1px solid #ccc;padding-top:18px}.fate-duel>b,.fate-duel>p{grid-column:1/-1;font-size:13px}.fate-duel .fate-card{min-width:0}
.turn-scene{position:fixed;inset:0;z-index:65;display:grid;align-items:center;pointer-events:none;padding:20px;overflow:hidden}.turn-scene-panel{position:relative;max-width:470px;width:100%;margin:auto;background:#131313f5;color:white;border:1px solid #fff7;box-shadow:0 15px 80px #0005;padding:28px 24px;isolation:isolate;overflow:hidden}.turn-scene-panel:before,.turn-scene-panel:after{content:'';position:absolute;width:180px;height:180px;right:-40px;top:-50px;border:1px solid #fff2;border-radius:50%;z-index:-1}.turn-scene-panel:after{width:240px;height:240px;right:-70px;top:-80px}.turn-scene-panel small{display:block;font:10px monospace;letter-spacing:.25em;color:#aaa}.turn-scene-panel>b{display:block;font-size:clamp(23px,7vw,34px);line-height:1.3;margin:10px 0;overflow-wrap:anywhere}.turn-scene-panel p{font-size:12px;line-height:1.6;margin:8px 0;color:#ddd}.turn-scene-symbol{float:right;font:48px Georgia,serif;margin-left:12px}.turn-scene-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:white;transform-origin:left}
@media(prefers-reduced-motion:no-preference){.turn-scene-line{animation:scene-line 1.6s linear forwards}.turn-scene-symbol{animation:scene-symbol 1.6s ease-out forwards}.fate-seat.current{animation:seat-glow 2s ease-in-out infinite}@keyframes scene-line{to{transform:scaleX(0)}}@keyframes scene-symbol{from{transform:rotate(-70deg) scale(.5);opacity:0}30%,80%{transform:rotate(0) scale(1);opacity:1}to{transform:rotate(30deg) scale(1.2);opacity:0}}@keyframes seat-glow{50%{box-shadow:0 0 0 4px #1112}}}
@media(max-width:360px){#extra-panel[data-kind="angel"]{padding:12px}.fate-table{grid-template-columns:55px minmax(0,155px);gap:12px}.turn-scene-panel{padding:24px 18px}}
