:root{font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#202d40;background:#f3f6fb;font-size:15px}*{box-sizing:border-box}body{margin:0}header{padding:14px max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#14243e;color:white;min-height:60px}header .brand{letter-spacing:.08em;font-weight:800}header .brand span{font-size:10px;color:#95adc6;font-weight:500;margin-left:9px}main{max-width:1180px;margin:auto;padding:24px 18px 60px}.toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.toolbar h1{font-size:24px;margin:0}.muted{color:#69778b;font-size:13px}.panel{background:white;border:1px solid #dfe6f0;border-radius:16px;padding:18px;box-shadow:0 4px 20px #1b314a0a}.panel h2{margin:0 0 12px;font-size:17px}.layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:12px}.teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}.score{padding:16px;border-radius:14px;text-align:center;background:#eaf2ff}.score.b{background:#fff0e6}.score .points{font-size:35px;font-weight:800}.score small{color:#617083}.roster{display:grid;grid-template-columns:1fr 1fr;gap:14px}.roster-col{display:grid;gap:7px}.person{display:flex;gap:8px;align-items:center;border:1px solid #e4eaf2;border-radius:11px;padding:8px;background:#fff;min-height:58px}.person.selected{border:2px solid #3277db;background:#f0f6ff}.person.disabled{background:#f4f6f9;border-color:#cbd5e1}.person .details:disabled{opacity:1;background:transparent}.person .name{font-size:13px;font-weight:700}.person .job{color:#758298;font-size:11px}.person .details{flex:1;min-width:0}.person .meta{font-size:11px;color:#586a82;white-space:nowrap}.pill{border-radius:20px;background:#eef2f8;color:#4c5f77;font-size:11px;padding:4px 9px;display:inline-block}.pill.warn{background:#fff0d9;color:#704000;font-size:13px;font-weight:800;border:1px solid #b87916}.pill.ok{background:#e5f8ed;color:#198654}button{font:inherit;cursor:pointer;border:1px solid #d2dce9;border-radius:10px;background:white;color:#263851;padding:10px 12px;font-weight:700;transition:background .1s}button:hover:not(:disabled){background:#eef5ff}button:disabled{opacity:.35;cursor:not-allowed}.primary{background:#276de0;color:white;border-color:#276de0}.primary:hover:not(:disabled){background:#1c59bd}.danger{background:#fff5f4;border-color:#ffd9d5;color:#c13b34}.danger:hover:not(:disabled){background:#ffe6e2}.wide{width:100%}.tiny{padding:6px 10px;font-size:13px}.tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.active-tab{background:#273d5b;color:white}.log{max-height:260px;overflow:auto;display:grid;gap:8px}.event{border-bottom:1px solid #eaf0f6;padding:7px 0;font-size:12px}.event .when{color:#8a97a7;font-size:11px}.note{font-size:12px;color:#758196;line-height:1.65}.hint{background:#f3edff;border:1px solid #ded3ff;border-radius:12px;padding:14px}.pending{border:1px solid #f0d79b;background:#fffbef;border-radius:12px;padding:14px}.self{background:#eaf4ff;border:1px solid #d1e5ff;padding:14px;border-radius:12px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}label{display:grid;gap:5px;font-size:12px;font-weight:600;color:#66768d}input,select{padding:10px;border:1px solid #cbd6e4;border-radius:9px;max-width:100%;background:white;color:#23364e;font:inherit;min-width:0}.rule{display:block;text-align:left;border:none;background:transparent;color:#325bb0;font-size:12px;padding:2px 0;text-decoration:underline;text-decoration-color:#b8c7e1}.rule:hover{background:transparent}.modal-back{position:fixed;inset:0;background:#101a2ab9;display:flex;align-items:center;justify-content:center;padding:15px;z-index:10}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:white;border-radius:16px;padding:20px;box-shadow:0 18px 65px #0005}.modal h2{margin-top:0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#263851;color:white;padding:12px 18px;border-radius:10px;z-index:20;max-width:92vw}.answer{display:flex;gap:8px}.answer>button{flex:1}.scroll{overflow-x:auto}.badge-line{display:flex;gap:5px;flex-wrap:wrap}.separator{height:1px;background:#edf1f6;margin:12px 0}details summary{cursor:pointer;color:#345f9b;font-weight:700}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:7px 6px;border-bottom:1px solid #e9edf5;text-align:left}@media(max-width:820px){.layout{grid-template-columns:1fr}.roster{gap:8px}.person{flex-wrap:wrap;padding:8px}.person .meta{width:100%}main{padding:18px 10px 55px}.panel{padding:13px}.score .points{font-size:29px}.toolbar h1{font-size:20px}}@media(max-width:380px){.roster{grid-template-columns:1fr}} 

/* Private oracle card reveal: generated from the authenticated team's hint only. */
.oracle-deck{width:110px;height:150px;margin:16px auto 24px;border:4px double #baa0e3;border-radius:12px;background:#34234f;color:#eadbff;box-shadow:5px 5px 0 #79618f,9px 9px 0 #c5b6d5;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:48px}.oracle-deck span{font-size:10px;letter-spacing:.14em;margin-top:12px}.oracle-cards{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0}.oracle-flip{width:190px;height:240px;perspective:900px}.oracle-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:oracle-reveal 1.1s ease-in-out both;animation-delay:var(--card-delay,0ms)}.oracle-card-back,.oracle-card-front{position:absolute;inset:0;backface-visibility:hidden;border:3px double #b29acb;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center}.oracle-card-back{background:#34234f;color:#eadbff;font-size:64px}.oracle-card-front{background:#faf5ff;color:#35204e;transform:rotateY(180deg);flex-direction:column;gap:20px;box-shadow:0 8px 22px #34234f22}.oracle-card-front span{font-size:13px;color:#66497b}.oracle-card-front strong{font-size:22px;overflow-wrap:anywhere;max-width:100%}@keyframes oracle-reveal{0%,25%{transform:translateY(10px) rotateY(0)}100%{transform:translateY(0) rotateY(180deg)}}@media(prefers-reduced-motion:reduce){.oracle-flip-inner{animation:none;transform:rotateY(180deg)}}

.revealed-track{background:#edf4ff;border:1px solid #b8cce9;border-left:5px solid #326bc0;border-radius:10px;padding:12px 15px;margin-bottom:12px;overflow-wrap:anywhere}.revealed-track strong{display:block;font-size:21px;margin:5px 0}.revealed-track>div:last-child{font-size:14px}

.revealed-track .revealed-track-line{font-size:15px;line-height:1.7;margin-top:4px}.revealed-track .revealed-track-line strong{display:inline;font-size:24px;font-weight:800;color:#14243e;margin:0}.revealed-track-line span{color:#40516b}

.revealed-track .revealed-track-year{font-size:15px;font-weight:400;color:#40516b}.revealed-track .revealed-track-tiein{font-size:14px;color:#40516b;margin-top:4px;line-height:1.6}

.revealed-track{min-width:0;max-width:100%}.revealed-track-details{min-width:0}.revealed-track .revealed-track-line{display:flex;align-items:baseline;gap:2px;white-space:nowrap;min-width:0;max-width:100%;list-style:none;cursor:pointer}.revealed-track-line::-webkit-details-marker{display:none}.revealed-track .revealed-track-line strong{font-size:clamp(16px,2.4vw,24px);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revealed-track .revealed-track-year{flex:none;font-size:14px}.revealed-track-full{font-size:14px;color:#40516b;line-height:1.6;padding-top:6px;white-space:normal;overflow-wrap:anywhere}.revealed-track-details summary:focus-visible{outline:2px solid #276de0;outline-offset:3px}.layout>*,.stack>*{min-width:0}

.shield-badge{background:#e3f0ff;color:#194e87;border:1px solid #80a9d7;font-weight:800;white-space:nowrap}.skill-result{background:#f3edff;border:1px solid #cdbce6;border-left:5px solid #7953aa;border-radius:12px;padding:13px 15px;margin-bottom:12px;font-size:14px;line-height:1.7}.skill-result strong{font-size:16px;color:#41235f}.skill-cutin{position:fixed;left:50%;top:35%;transform:translate(-50%,-50%);width:min(520px,90vw);background:#252b46f5;color:#fff;border:1px solid #a7aed6;border-radius:16px;padding:22px;text-align:center;box-shadow:0 14px 40px #0004;z-index:30;pointer-events:none;animation:skill-cutin-show 1.8s ease both}.skill-cutin>div{font-size:14px;color:#d8d9f5;margin-bottom:8px}.skill-cutin strong{display:block;font-size:clamp(18px,3vw,25px);overflow-wrap:anywhere}@keyframes skill-cutin-show{0%{opacity:0;transform:translate(-50%,-40%)}15%,80%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-55%)}}@media(prefers-reduced-motion:reduce){.skill-cutin{animation:none}}

.target-job{display:block;font-size:12px;font-weight:500;line-height:1.5;margin-top:3px}button[data-target],button[data-replace]{text-align:left;overflow-wrap:anywhere}

.question-score-summary{display:grid;gap:6px;margin:7px 0 10px;padding:9px;background:#f2f5fa;border-radius:8px}.question-score-summary>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px}.question-score-summary b{margin-right:auto}.question-score-summary span{font-size:12px;color:#44546b}.question-score-summary strong{font-size:17px;min-width:48px;text-align:right}.question-score-summary .positive{color:#126338}.question-score-summary .negative{color:#a02125}.question-score-summary .neutral{color:#344459}

.question-score-summary .question-score-standing{padding-bottom:7px;margin-bottom:2px;border-bottom:1px solid #cbd6e5}.question-score-standing b{font-size:15px;color:#203d60}

.skill-cutin .cutin-final-score{margin:12px 0 0;font-size:16px;color:#fff;line-height:1.6}

.match-finished{border:2px solid #467259;border-radius:14px;background:#edf8f1;padding:20px;margin-bottom:14px;text-align:center;color:#193f2b}.match-finished h2{font-size:26px;margin:0 0 8px}.match-finished>strong{font-size:23px;display:block}.match-finished>div{font-size:19px;font-weight:700;margin-top:10px}.match-finished p{font-size:12px;margin-bottom:0}.match-finish-ready{background:#fff4d5;border:1px solid #b88c22;border-radius:10px;padding:12px;margin-bottom:12px;font-weight:700;color:#624400}

.match-waiting{background:#edf4ff;border:1px solid #9eb9df;border-radius:12px;padding:16px;margin-bottom:12px;color:#203d60;text-align:center}.match-waiting strong{display:block;font-size:21px;margin-bottom:6px}.match-waiting>div{font-size:16px;font-weight:700}.match-waiting p{font-size:13px;line-height:1.6;margin-bottom:0}
