:root{--bg:#f3f4f6;--ink:#111318;--muted:#5a6272;--panel:#ffffff;--stroke:#d9dee7;--brand:#0f766e;--brand-strong:#0a5751;--brand-soft:#e7f4f2;--danger:#b4232f;--danger-soft:#fff1f3}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans','Segoe UI',sans-serif;background:var(--bg);color:var(--ink);line-height:1.4}
main{max-width:900px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(28px + env(safe-area-inset-bottom))}
header{display:flex;align-items:center;justify-content:space-between;gap:clamp(10px,2vw,16px);margin-bottom:18px}
.brand{display:flex;align-items:center;gap:clamp(8px,1.4vw,12px);min-width:0;flex:1;text-decoration:none;color:inherit}
.brand-logo{width:clamp(30px,4.8vw,40px);height:clamp(30px,4.8vw,40px);min-width:clamp(30px,4.8vw,40px);border-radius:10px;object-fit:cover}
.brand-title{font-size:clamp(20px,3.6vw,27px);line-height:1.05;letter-spacing:.12px;font-weight:800;color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
h1{font-size:22px;letter-spacing:.2px;font-weight:800;color:var(--ink)}
h2{font-size:24px;line-height:1.2;font-weight:800;color:var(--ink)}
h3{font-size:18px;line-height:1.2;font-weight:700;color:var(--ink)}
section{background:var(--panel);border:1px solid var(--stroke);padding:16px;border-radius:16px}
section + section{margin-top:12px}
form{display:grid;gap:12px}
label{font-size:14px;font-weight:600;color:#2d3340}
input,select{border:1px solid #cdd3de;border-radius:12px;padding:12px 13px;font-size:16px;min-height:48px;width:100%;background:#ffffff;color:var(--ink)}
input:focus:not([type=checkbox]),select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #111318;outline-offset:1px}
input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px;height:18px;min-height:auto;padding:0;border:1px solid #8f98ac;border-radius:4px;background:#ffffff;position:relative}
input[type=checkbox]:checked{background:#16a34a;border-color:#12823c}
input[type=checkbox]:checked::after{content:'';position:absolute;width:7px;height:4px;border:2px solid #ffffff;border-top:none;border-right:none;transform:rotate(-45deg);top:5px;left:5px}
input[type=radio]{width:20px;height:20px;min-height:auto;padding:0;border:1px solid #8f98ac}
.radio-row{display:grid;grid-template-columns:1fr;gap:10px}
.radio-row label{display:flex;gap:10px;align-items:center;background:#f8fafc;border:1px solid #d8dce8;border-radius:12px;padding:12px}
button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:12px 14px;min-height:48px;width:100%;font-size:15px;font-weight:700;letter-spacing:.1px;cursor:pointer;text-decoration:none;transition:transform .08s ease,background-color .12s ease,color .12s ease,border-color .12s ease}
button,.button-link.btn-primary{background:var(--ink);color:#ffffff}
button:hover,.button-link.btn-primary:hover{transform:translateY(-1px)}
button:disabled{opacity:.55;transform:none;cursor:not-allowed}
.ghost-btn{background:#ffffff;color:var(--ink);border:1px solid #cfd6e2;box-shadow:none}
.success-btn{background:#15803d;color:#ffffff;border:1px solid #166534;box-shadow:none}
.success-btn:hover{background:#166534}
.danger-btn{background:var(--danger-soft);border:1px solid #eab9c1;color:var(--danger);box-shadow:none}
.btn-icon{width:18px;height:18px;display:inline-flex}
.hint{font-size:12px;color:var(--muted)}
.checkbox-label{font-size:14px;font-weight:600;color:#2d3340}
.error{font-size:14px;color:var(--danger);font-weight:600}
.stack{display:grid;gap:10px}
.screen-intro{margin-bottom:8px}
.link{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}
.top-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:999px;border:1px solid #cfd6e2;background:#f5f7fa}
.app-actions{display:grid;gap:10px}
.app-footer{margin-top:18px;text-align:center;font-size:11px;line-height:1.35;color:#7b8496}
.app-footer a{color:inherit;text-decoration:none}
.app-footer a:hover{color:#1f2a3d}
.button-row{display:grid;grid-template-columns:1fr;gap:10px}
.button-row-inline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.button-row-inline form{width:100%}
.button-row-inline form button,.button-row-inline > button{width:100%}
.action-link{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #cfd6e2;border-radius:14px;padding:13px 14px;background:#f7f8fa;color:#1b2230;text-decoration:none;font-size:15px;font-weight:700;min-height:52px}
.action-link-success{background:#15803d;border-color:#166534;color:#ffffff}
.action-link-success:hover{background:#166534}
.session-link{align-items:flex-start}
.archive-section{margin-top:8px}
.archive-summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:700;color:#1f2a3d}
.app-section-heading{cursor:default}
.archive-summary::-webkit-details-marker{display:none}
.archive-indicator{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #1f2a3d;transition:transform .18s ease}
.archive-section[open] .archive-indicator{transform:rotate(90deg)}
.archive-content{display:grid;gap:8px;margin-top:8px}
.archive-meta-line{font-size:11px;line-height:1.3;color:#233146}
.archive-meta-line strong{font-weight:800}
.archive-player-list{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:top}
.archive-player-name{font-size:11px;font-weight:500;color:#243347}
.archive-player-name-red{color:#b4232f}
.archive-player-name-green{color:#15803d}
.archive-player-name-blue{color:#1d4ed8}
.session-link-main{display:grid;gap:8px;min-width:0;flex:1}
.session-link-title{font-size:15px;font-weight:800;color:#1f2a3d}
.session-pills{display:flex;gap:6px;flex-wrap:wrap}
.session-meta-row{align-items:center;width:100%}
.session-meta-date{margin-left:auto;font-size:10px;line-height:1;color:#6b7487;white-space:nowrap}
.session-pills-teams{display:flex;gap:6px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:500;line-height:1.2;min-height:24px;border:1px solid transparent}
.player-pill{background:#111318;border-color:#111318;color:#ffffff;min-width:34px;padding:4px 0}
.team-pill{background:#111318;border-color:#111318;color:#ffffff;min-height:24px;min-width:56px;flex:0 0 auto;padding:4px 10px;font-size:11px}
.mode-pill{background:#e8f6f4;border-color:#b8e3dd;color:#0c4b46}
.cost-pill{background:#eef2ff;border-color:#c8d2ff;color:#243a7d}
.round-text{font-size:12px;font-weight:400;color:#111111;display:inline-flex;align-items:center}
.play-pills{display:grid;gap:6px}
.round-pills-compact{display:flex;flex-wrap:wrap;gap:6px}
.round-pills-one-row{display:flex;flex-wrap:nowrap;gap:4px;width:100%}
.round-pills-one-row .round-pill{flex:0 1 auto;width:clamp(14px,calc((100% - (var(--round-pill-count,1) - 1) * 4px) / var(--round-pill-count,1)),40px);min-width:0;min-height:clamp(20px,5.5vw,30px);padding:0;font-size:clamp(8px,2.1vw,11px)}
.round-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid #111318;background:#ffffff;color:#111318;text-decoration:none;font-size:12px;font-weight:700;min-width:40px}
.round-pill-active{background:#111318;color:#ffffff}
.play-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:0;width:100%;padding:4px 8px;border-radius:999px;background:#111318;color:#ffffff;border:1px solid #111318;font-size:clamp(11px,2.5vw,14px);font-weight:700;white-space:nowrap;text-decoration:none}
.play-pill-active{box-shadow:0 0 0 2px #ffffff,0 0 0 4px #111318}
.play-pill-inactive{opacity:.45;filter:grayscale(1)}
.play-team-pill{min-width:0}
.game-screen{gap:8px}
.game-toast{position:fixed;left:10px;right:10px;top:calc(env(safe-area-inset-top) + 10px);z-index:40;display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:0;border:1px solid #000000;background:#ffffff;color:#000000;font-size:14px;line-height:1.35;font-weight:400;text-align:center;pointer-events:none;transition:opacity .2s ease}
.game-toast-hide{opacity:0;visibility:hidden}
.game-card{padding:10px}
.game-card-head{position:sticky;top:calc(env(safe-area-inset-top) + 6px);z-index:20;background:#ffffff;transform:translateZ(0)}
.game-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.game-head-title{display:flex;flex-direction:column;gap:4px;min-width:0}
.play-meta-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.play-meta-pill{font-size:10px;min-height:18px;padding:2px 6px;line-height:1.1;font-weight:700;align-items:center}
.play-meta-pill .pill-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px}
.play-meta-pill-rounding{gap:4px}
.play-meta-pill-rounding .pill-icon{width:auto;letter-spacing:.1em;font-weight:800}
.play-meta-pill-rounding-on{background:#e8f8ef;border-color:#bfe7ce;color:#0f6b39}
.play-meta-pill-rounding-off{background:#eef2f6;border-color:#cfd6e2;color:#4b5563}
.play-meta-pill-gegen{background:#fde8ea;border-color:#f3bcc3;color:#8a1f2a}
.monitor-title-wrap{position:relative;display:inline-flex;align-items:center;min-width:0}
.monitor-live-pill{position:absolute;left:0;top:0;transform:translateY(calc(-100% - 4px));display:inline-flex;align-items:center;justify-content:center;min-height:16px;padding:0 7px;border-radius:999px;background:#d8222a;color:#ffffff;font-size:9px;font-weight:800;line-height:1;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .2s ease}
.overview-row-label-live{text-align:center}
.overview-row-label-live .monitor-live-pill{position:static;transform:none;margin:0 auto}
.monitor-live-pill-active{opacity:1;animation:monitorLivePulse 1.25s ease-in-out infinite}
.monitor-live-pill-settled{background:#15803d}
.monitor-live-pill-settled.monitor-live-pill-active{animation:none;box-shadow:none}
@keyframes monitorLivePulse{0%{box-shadow:0 0 0 0 rgba(216,34,42,.55)}70%{box-shadow:0 0 0 8px rgba(216,34,42,0)}100%{box-shadow:0 0 0 0 rgba(216,34,42,0)}}
.monitor-last-updated{font-size:10px;line-height:1.2;color:#0f1116;opacity:.72;margin:6px 2px 0}
.monitor-page .game-title{font-size:clamp(20px,4.8vw,30px);line-height:1.12}
.monitor-page .monitor-last-updated{font-size:clamp(10px,2.2vw,12px);line-height:1.25}
.monitor-page .compact-overview-card{padding:10px}
.monitor-page .overview-table th,.monitor-page .overview-table td{padding:clamp(8px,1.8vw,14px) clamp(6px,1.4vw,10px)}
.monitor-page .overview-row-label{font-size:clamp(12px,2.8vw,18px);white-space:normal;line-height:1.15;width:auto;min-width:96px}
.monitor-page .overview-pill{font-size:clamp(11px,2.6vw,16px);min-height:clamp(24px,5vw,34px);padding:0 clamp(8px,1.8vw,12px)}
.monitor-page .overview-value{font-size:clamp(14px,3.2vw,22px);min-width:0}
.monitor-page .settlement-summary-card h3{font-size:clamp(20px,4.8vw,30px);line-height:1.12}
.monitor-page .settlement-summary-card .hint{font-size:clamp(11px,2.8vw,14px);line-height:1.25}
.game-head-actions{display:flex;align-items:center;gap:6px}
.game-home{width:30px;min-width:30px;height:30px;flex:0 0 30px}
.game-title{font-size:17px;line-height:1.15;font-weight:800;margin:0}
.round-picker-form{display:grid;gap:4px}
.round-picker-form select{min-height:36px;padding:8px 10px;font-size:13px}
.game-card .screen-intro h3{font-size:15px;line-height:1.15}
.round-line{display:flex;align-items:center;gap:6px}
.round-line-pills{max-height:none;overflow:visible;align-items:flex-start;flex-wrap:nowrap;width:100%}
.round-line .hint{font-size:12px}
.round-line-pills .round-pills-compact{align-items:center;flex:1}
.round-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:1px 8px;border-radius:999px;border:1px solid #111318;background:#111318;color:#ffffff;font-size:11px;font-weight:600}
.score-table-wrap{overflow-x:hidden;-webkit-overflow-scrolling:touch;border:1px solid #d9dfeb;border-radius:12px;background:#ffffff}
.score-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed}
.score-table th,.score-table td{border-bottom:1px solid #e6ebf3;padding:clamp(8px,2.5vw,10px) clamp(6px,2vw,8px);min-height:40px;height:40px;white-space:nowrap}
.score-table thead th{font-size:clamp(10px,3vw,12px);font-weight:700;color:#384860;background:#f6f8fc}
.score-row-selectable{cursor:pointer}
.score-row-selectable:hover th,.score-row-selectable:hover td{background:#f8fafc}
.score-row-selectable:focus-visible{outline:2px solid #111318;outline-offset:-2px}
.score-row-selected th,.score-row-selected td{background:#f8fafc}
.score-head{text-align:center}
.score-cell{text-align:center;font-size:clamp(13px,4vw,16px);font-weight:700;color:#111318;background:#ffffff}
.score-value-link{color:#111318;text-decoration:none;display:inline-block;min-width:24px}
.score-flag-pills{display:inline-flex;align-items:center;gap:3px;margin-left:4px;vertical-align:middle}
.score-flag-pill{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;border-radius:999px;font-size:9px;font-weight:800;line-height:1;color:#111318;border:1px solid #b7c0cf;background:#edf1f7}
.score-flag-pill-m{border-color:#f5b342;background:#fff5d6}
.score-flag-pill-s{border-color:#9ec5ff;background:#eaf3ff}
.score-flag-pill-g{border-color:#f3b0b5;background:#ffe6e8;color:#8a1f2a}
.score-value-played{color:#16a34a;font-weight:800}
.score-value-negative{color:#b4232f;font-weight:800}
.score-value-empty{color:#a3acb9;font-weight:700}
.score-color{text-align:left;font-size:clamp(12px,3.5vw,14px);font-weight:700;color:#202b3d;width:40%}
.score-color-link{display:inline-flex;align-items:center;gap:6px;color:#202b3d;text-decoration:none;padding:2px 0}
.score-color-link-active{font-weight:800;color:#111318}
.score-color-lock{opacity:.6}
.score-table tfoot th,.score-table tfoot td{background:#f6f8fc;border-top:1px solid #dbe3f0;border-bottom:none}
.score-sum-label{text-align:left;font-size:clamp(12px,3.5vw,14px);font-weight:800;color:#243144}
.score-sum-value{text-align:center;font-size:clamp(13px,4vw,16px);font-weight:800;color:#111318}
.score-sum-value-negative{color:#b4232f}
.stoeck-wrap-disabled{opacity:.55}
.score-table tbody tr:last-child th,.score-table tbody tr:last-child td{border-bottom:none}
.overview-toggle-card{padding:7px 10px}
.overview-toggle-link{display:inline-flex;align-items:center;gap:6px;color:#1a2b42;text-decoration:none;font-size:12px;font-weight:700}
.compact-overview-card{padding:8px}
.round-history-accordion{display:grid;gap:8px}
.round-history-summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer}
.round-history-summary::-webkit-details-marker{display:none}
.round-history-summary h3{margin:0}
.round-history-title-compact{font-size:12px;line-height:1.2;color:#000000}
.round-history-indicator{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #1f2a3d;transition:transform .18s ease}
.round-history-accordion[open] .round-history-indicator{transform:rotate(90deg)}
.round-history-content{padding-top:2px}
.play-overview-followup{gap:4px}
.round-log-list{list-style:none;display:grid;gap:0;margin:0;padding:2px 0 0;font-family:'Consolas','Courier New',monospace;font-size:11px;line-height:1.25;color:#000000}
.round-log-row{display:grid;grid-template-columns:1.3fr 1.2fr .7fr .9fr;gap:8px;padding:4px 0;border-bottom:1px solid #e6ebf3;color:#000000}
.round-log-row:last-child{border-bottom:none}
.round-log-head{font-weight:700;color:#000000}
.round-log-col{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.round-log-raw,.round-log-calculated{text-align:right}
.overview-wrap{width:100%;overflow:hidden}
.overview-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid #dbe3f0;border-radius:10px;overflow:hidden}
.overview-table th,.overview-table td{padding:clamp(4px,1vw,6px) clamp(2px,0.5vw,4px);border-bottom:1px solid #e8edf5}
.overview-table tbody tr:last-child th,.overview-table tbody tr:last-child td{border-bottom:none}
.overview-table tfoot th,.overview-table tfoot td{background:#f6f8fc;border-top:1px solid #dbe3f0;border-bottom:none}
.overview-row-label{text-align:left;font-size:clamp(10px,2.8vw,12px);font-weight:700;color:#2a3a51;white-space:nowrap;width:72px}
.overview-col{text-align:center}
.trumpf-table-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.trumpf-table-label-icon-only{justify-content:center;min-width:22px}
.trumpf-table-name{font-size:12px;font-weight:700;line-height:1.1;color:#1f2a3d}
.trumpf-table-icon{display:inline-block;width:22px;height:22px;object-fit:contain;vertical-align:middle}
.trumpf-table-icon-disabled{opacity:.35;filter:grayscale(1)}
.trumpf-table-label-disabled .trumpf-table-name{color:#9aa3b2}
.overview-pill{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(18px,4vw,22px);padding:0 clamp(3px,1vw,6px);border-radius:999px;border:1px solid #111318;background:#111318;color:#ffffff;font-size:clamp(9px,2.4vw,11px);font-weight:700;line-height:1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-overview-pill-red{background:#fde8ea;border-color:#f3bcc3;color:#a61e2e}
.archive-overview-pill-green{background:#e8f8ef;border-color:#bfe7ce;color:#0f6b39}
.archive-overview-pill-blue{background:#eaf1ff;border-color:#c4d5ff;color:#1849a9}
.overview-state-cell{text-align:center}
.money-cell{text-align:right}
.money-value{display:flex;width:100%;justify-content:flex-end;text-align:right}
.overview-value{display:inline-flex;align-items:center;justify-content:center;font-size:clamp(11px,3vw,13px);font-weight:700;line-height:1;min-width:16px}
.overview-value-link{text-decoration:none}
.overview-value-points{color:#16a34a}
.overview-value-negative{color:#b4232f}
.overview-value-empty{color:#a3acb9}
.play-overview-table .overview-row-label{font-size:clamp(12px,2.8vw,18px);line-height:1.15;white-space:nowrap;width:auto}
.play-overview-table .overview-pill{font-size:clamp(11px,2.6vw,16px);min-height:clamp(24px,5vw,34px);padding:0 clamp(8px,1.8vw,12px)}
.play-overview-table .overview-value{font-size:clamp(14px,3.2vw,22px);line-height:1.08}
.play-overview-table th,.play-overview-table td{padding:clamp(6px,1.2vw,11px) clamp(4px,0.8vw,8px)}
.overview-value-impact{animation:overviewImpact .9s cubic-bezier(.16,.84,.24,1)}
@keyframes overviewImpact{0%{transform:scale(1);opacity:1;background:transparent}26%{transform:scale(1.16);font-size:2em;color:#0a0d13;background:#fff2a8}58%{transform:scale(1.03);opacity:1}100%{transform:scale(1);opacity:1;background:transparent}}
.matsch-splash{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.25);opacity:0;pointer-events:none;z-index:60;font-family:'Consolas','Courier New',monospace;font-size:clamp(40px,11vw,120px);font-weight:900;letter-spacing:.08em;color:#c81d25;text-shadow:0 10px 28px rgba(200,29,37,.5),0 2px 0 rgba(0,0,0,.18)}
.matsch-splash-active{animation:matschSplashZoom 1.2s cubic-bezier(.12,.72,.2,1) forwards}
@keyframes matschSplashZoom{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}12%{opacity:1;transform:translate(-50%,-50%) scale(.85)}36%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.9)}}
.gegenmatsch-splash{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.22);opacity:0;pointer-events:none;z-index:60;font-family:'Consolas','Courier New',monospace;font-size:clamp(34px,10vw,110px);font-weight:900;letter-spacing:.06em;color:#b4232f;text-shadow:0 12px 30px rgba(180,35,47,.45),0 2px 0 rgba(0,0,0,.18)}
.gegenmatsch-splash-active{animation:gegenmatschSplashZoom 1.3s cubic-bezier(.14,.7,.2,1) forwards}
@keyframes gegenmatschSplashZoom{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}14%{opacity:1;transform:translate(-50%,-50%) scale(.9)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.1)}}
.round-done-card{background:#fff8e8;border-color:#f2d392}
.round-done-card .hint{color:#70521b}
.settlement-summary-card .overview-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.settlement-matrix{width:100%;min-width:100%;table-layout:fixed}
.settlement-matrix .overview-row-label{width:auto;min-width:96px;font-size:clamp(12px,2.8vw,18px);white-space:normal;line-height:1.15}
.settlement-matrix .overview-pill{font-size:clamp(11px,2.6vw,16px);min-height:clamp(24px,5vw,34px);padding:0 clamp(8px,1.8vw,12px)}
.settlement-matrix th,.settlement-matrix td{padding:clamp(8px,1.8vw,14px) clamp(6px,1.4vw,10px)}
.settlement-matrix .overview-value{font-size:clamp(14px,3.2vw,22px);min-width:0;white-space:nowrap}
.settlement-matrix .archive-player-name{font-size:clamp(14px,3.2vw,22px);font-weight:600;line-height:1.08}
.archive-page .settlement-matrix .overview-row-label{font-size:clamp(11px,2.2vw,14px);min-width:68px;line-height:1.2}
.archive-page .settlement-matrix .overview-pill{font-size:clamp(9px,1.9vw,11px);min-height:clamp(20px,3.6vw,24px);padding:0 clamp(5px,1vw,7px)}
.archive-page .settlement-matrix th,.archive-page .settlement-matrix td{padding:clamp(5px,1.2vw,8px) clamp(4px,.9vw,7px)}
.archive-page .settlement-matrix .overview-value{font-size:clamp(11px,2.2vw,14px);line-height:1.15;white-space:nowrap}
.archive-page .settlement-matrix .archive-player-name{font-size:clamp(11px,2.2vw,14px);font-weight:600;line-height:1.15}
.archive-page .compact-overview-card .overview-wrap{overflow-x:hidden;-webkit-overflow-scrolling:auto;touch-action:pan-y}
.archive-page .play-overview-table .overview-row-label{font-size:clamp(11px,2.2vw,14px);min-width:68px;line-height:1.2}
.archive-page .play-overview-table .overview-pill{font-size:clamp(9px,1.9vw,11px);min-height:clamp(20px,3.6vw,24px);padding:0 clamp(5px,1vw,7px)}
.archive-page .play-overview-table th,.archive-page .play-overview-table td{padding:clamp(5px,1.2vw,8px) clamp(4px,.9vw,7px)}
.archive-page .play-overview-table .overview-value{font-size:clamp(11px,2.2vw,14px);line-height:1.15;white-space:nowrap}
.archive-page .play-overview-table .overview-value-link{pointer-events:none;cursor:default;text-decoration:none}
.score-table .settlement-total-label{font-size:clamp(12px,2.8vw,18px);white-space:normal;line-height:1.15;color:#2a3a51;font-weight:700}
.settlement-summary-card h3{font-size:clamp(20px,4.8vw,30px);line-height:1.12}
.settlement-summary-card .hint{font-size:clamp(11px,2.8vw,14px);line-height:1.25}
.settlement-summary-card{background:#f8fafc}
.settlement-list{list-style:none;display:grid;gap:6px;margin:0;padding:0}
.settlement-list li{font-size:13px;color:#1f2a3d;padding:6px 8px;border-radius:8px;background:#ffffff;border:1px solid #e2e8f0}
.entry-top-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:start;gap:8px}
.entry-left-meta{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.play-pill-inline{width:auto;min-width:0;min-height:30px;padding:3px 10px;font-size:12px;justify-self:start}
.trumpf-label{font-size:15px;font-weight:800;color:#111318;white-space:nowrap}
.trumpf-label-inline{white-space:nowrap}
.trumpf-icon{display:inline-block;width:32px;height:32px;object-fit:contain;border-radius:8px}
.trumpf-input-wrap{display:grid;gap:4px;justify-self:end;align-self:start;width:130px}
.trumpf-input-wrap input{text-align:left}
.trumpf-input-wrap label{font-size:12px}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;right:0;top:52px;background:#ffffff;border:1px solid var(--stroke);border-radius:14px;padding:8px;display:grid;gap:6px;min-width:240px;z-index:30}
.menu-link{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#1f2a3d;text-decoration:none;font-weight:600;min-height:44px}
.menu-link:hover{background:#f3f5f8}
.menu-link-disabled{opacity:.45;pointer-events:none;cursor:not-allowed}
.menu-divider{height:1px;background:#e4e8ef;margin:2px 4px}
.icon-btn{border:1px solid #cfd6e2;background:#ffffff;color:#1f2634;border-radius:999px;min-height:clamp(44px,5.2vw,52px);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 clamp(10px,1.5vw,14px)}
.menu-label{font-size:clamp(13px,2.1vw,15px);font-weight:700}
.otp-row{display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:8px;align-items:center}
.otp-input{width:100%;text-align:center;font-size:20px;font-weight:700;padding:12px 0;min-height:52px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.icon-circle{border:1px solid #d5dbe6;background:#ffffff;color:#1a2432;border-radius:50%;width:40px;min-width:40px;height:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0;cursor:pointer;flex:0 0 40px}
.icon-circle-danger{background:var(--danger-soft);border-color:#eab9c1;color:var(--danger)}
.profile-close-row{display:flex;justify-content:flex-start;margin-bottom:8px}
.session-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;border:1px solid #b7d8d2;background:#eef6f4;color:#0f645f;font-size:13px;font-weight:700;text-decoration:none}
.player-row{display:grid;grid-template-columns:minmax(0,1fr) 52px 52px;align-items:end;gap:8px}
.player-row .stack{min-width:0;max-width:100%}
.row-icon-btn{width:52px;min-width:52px;height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1}
.row-icon-btn svg{width:22px;height:22px}
.row-icon-btn[data-add-player]{background:#ffffff;border:2px solid #111318;color:#111318}
.row-icon-btn[data-remove-player]{background:transparent;border:none;color:var(--danger)}
.team-box{border:1px dashed #d2d8e3;border-radius:14px;padding:12px;display:grid;gap:10px;background:#ffffff}
.confirm-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;border:1px solid var(--stroke);border-radius:16px;padding:16px;max-width:420px;width:calc(100% - 28px);max-height:calc(100% - 28px);overflow:auto}
.confirm-dialog::backdrop{background:rgba(11,13,15,0.4)}
@media (min-width:700px){main{padding:26px 18px 34px}header{align-items:center}h1{font-size:26px}.radio-row{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{display:flex;flex-wrap:wrap}.button-row > *{width:auto}.app-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}