.field-hint{margin:-4px 0 2px;font-size:.78rem;line-height:1.5;color:var(--text-secondary)}
.small-area{min-height:84px}
.adv-options{display:grid;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.adv-options summary{cursor:pointer;font-weight:800;font-size:.86rem}
.adv-options[open] summary{margin-bottom:6px}
.result-summary{margin:0 0 12px;font-weight:700;color:var(--text-primary)}
.result-summary:empty{display:none}
.notice-list{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.notice-list:empty{display:none}
.notice-list li{padding:9px 12px;border-radius:var(--radius-sm);font-size:.88rem;line-height:1.55}
.notice-error li{border:1px solid #dc2626;background:rgba(220,38,38,.08);color:var(--text-primary)}
.notice-warn li{border:1px solid #d97706;background:rgba(217,119,6,.08);color:var(--text-primary)}
.team-card h3 small{font-weight:600;color:var(--text-secondary)}
.team-meta{margin:0 0 8px;font-size:.84rem;color:var(--text-secondary)}
.team-card li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.badge-captain{padding:1px 7px;border-radius:999px;background:var(--team-color);color:#fff;font-size:.72rem;font-weight:800}
.skill-tag{font-size:.78rem;color:var(--text-secondary)}
.copy-row{margin-top:14px}
.copy-row .btn{min-width:180px}
#copy-fallback{margin-top:10px;min-height:140px}
.team-article h3{margin-top:26px;margin-bottom:6px;font-family:var(--font-display)}
.team-article>p{max-width:760px}
.code-sample{max-width:760px;margin:10px 0;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-hover);overflow-x:auto}
.code-sample code{font-family:var(--font-mono);font-size:.88rem;line-height:1.7;white-space:pre}
.table-wrap{max-width:560px;margin:12px 0;overflow-x:auto}
.snake-table{width:100%;border-collapse:collapse;font-size:.9rem}
.snake-table caption{margin-bottom:6px;text-align:left;font-weight:800}
.snake-table th,.snake-table td{padding:7px 10px;border:1px solid var(--color-border);text-align:left}
.seat-only{display:grid;gap:8px}
.seat-only.hidden{display:none}
.copy-row{display:flex;flex-wrap:wrap;gap:10px}
.copy-row .btn.hidden{display:none}
.print-only{display:none}
.seat-board{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.seat-board .team-card ol{display:grid;gap:6px;padding-left:24px;color:var(--text-secondary)}
@media(max-width:760px){.seat-board{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media print{
    @page{margin:12mm}
    body,body[data-theme]{background:#fff !important;color:#000 !important}
    .app-background,.app-header,.solo-panel,.team-article,.game-guide,.stage-status,.copy-row,#copy-fallback,#settings-modal,#problems,.modal-overlay{display:none !important}
    .app-container{display:block;padding:0;max-width:none}
    .solo-main{display:block}
    .solo-stage{padding:0;border:0;box-shadow:none;background:none;backdrop-filter:none}
    .print-only{display:block;margin:0 0 6mm;font-size:16pt;color:#000}
    .result-summary{color:#000;font-size:10pt;margin:0 0 4mm}
    .notice-list li{border:1px solid #000;background:none;color:#000;font-size:9pt;padding:3px 6px}
    .team-board,.seat-board{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}
    .team-card{break-inside:avoid;page-break-inside:avoid;padding:3mm;background:none;border:1px solid #444;border-top:3px solid var(--team-color);color:#000}
    .team-card h3{font-size:12pt;margin:0 0 2mm;color:#000}
    .team-card h3 small,.team-card ul,.team-card ol,.team-meta,.skill-tag{color:#000}
    .team-card li{font-size:11pt}
    .badge-captain{color:#000;background:none;border:1px solid #000}
}
