:root{
    --bg:#f0f2f5;--panel:#fff;--text:#12151b;--muted:#495264;
    --border:#c3c9d2;--accent:#3f8f2f;--accent2:#2f6f23;--field:#f7f8fa;
    --red:#e0483b;--blue:#3f7fdf;
  }
  html.dark{
    --bg:#10131a;--panel:#1b202b;--text:#e8eaed;--muted:#9aa3b0;
    --border:#2c3340;--accent:#6fcf4f;--accent2:#58b53d;--field:#232936;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;height:100%;width:100%;}
  html.game-active,html.game-active body{overflow:hidden;touch-action:none;}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    background:var(--bg);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased;}
  #game{position:fixed;inset:0;display:block;z-index:1;pointer-events:none;
    visibility:hidden;opacity:0;width:100%;height:100%;}
  body.in-game #game{pointer-events:auto;z-index:20;visibility:visible;opacity:1;
    width:100% !important;height:100% !important;}

  /* screens — chrome altında başlar, üst menüyü kapatmaz */
  :root{--chrome-h:56px;}
  .screen{position:fixed;top:var(--chrome-h);left:0;right:0;bottom:0;display:none;
    align-items:flex-start;justify-content:center;padding:12px 16px 28px;overflow:auto;z-index:10;}
  .screen.active{display:flex;}
  #screen-settings{padding:12px 16px 28px;align-items:flex-start;justify-content:center;}
  #screen-settings .card{
    max-width:none;width:min(98vw,1200px);margin:0 auto;padding:28px 32px;
    align-self:flex-start;flex-shrink:0;
  }
  #settings-card:not([data-panel="training"]) .settings-home-header{display:none}
  #settings-card:not([data-panel="training"]){padding-top:20px}
  #panel-organize > h2:first-child,
  #panel-settings > h2:first-child,
  #panel-help > h2:first-child,
  #panel-license > h2:first-child{margin-top:0}
  #panel-settings .settings-section:last-child{margin-bottom:0}
  #screen-report{padding:12px 16px 28px;align-items:flex-start;justify-content:center;background:var(--panel);}
  #screen-report .card.full{
    max-width:1680px;width:min(98vw,1680px);margin:0 auto;
    align-self:flex-start;flex:none;
    min-height:auto;padding:24px 28px 32px;overflow:visible;
    border:1px solid var(--border);border-radius:16px;box-shadow:none;background:var(--panel);
  }
  #screen-summary{padding:12px 16px 28px;align-items:flex-start;justify-content:center;background:var(--panel);}
  #screen-summary .card.wide{
    max-width:1200px;width:min(96vw,1200px);margin:0 auto;
    align-self:flex-start;flex:none;
    padding:24px 28px 32px;
    border:1px solid var(--border);border-radius:16px;box-shadow:none;background:var(--panel);
  }
  #analiz-compare,#analiz-progress{min-width:0}
  .card{background:var(--panel);border:1px solid var(--border);border-radius:16px;
    padding:24px 28px;width:100%;max-width:560px;box-shadow:0 12px 40px rgba(0,0,0,.18);}
  .card.wide{max-width:min(96vw,1200px);}
  .card.full{max-width:min(98vw,1680px);}

  h1{margin:0 0 4px;font-size:22px;font-weight:800;}
  h2{margin:18px 0 6px;font-size:12px;font-weight:700;color:var(--muted);
    text-transform:uppercase;letter-spacing:.7px;}
  .sub{color:var(--muted);font-size:13px;margin-bottom:16px;}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;}
  @media(max-width:640px){.grid{grid-template-columns:1fr}}
  .field{display:flex;flex-direction:column;gap:4px;}
  .field.full{grid-column:1/-1;}
  label{font-size:12px;color:var(--muted);font-weight:700;}
  input[type=text],input[type=number],input[type=email],input[type=tel],select{
    background:var(--field);border:1px solid var(--border);border-radius:9px;
    padding:8px 10px;font-size:14px;color:var(--text);width:100%;}
  input[type=color]{width:100%;height:36px;background:var(--field);
    border:1px solid var(--border);border-radius:9px;padding:3px;cursor:pointer;}
  input:focus,select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);}
  select option{background:var(--panel);}

  /* ülke seçicili telefon alanı */
  .phone-wrap{position:relative;display:flex;gap:6px;}
  .phone-wrap input[type=tel]{flex:1;min-width:0;}
  .phone-cc{flex:0 0 auto;display:flex;align-items:center;gap:4px;background:var(--field);
    border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:14px;
    color:var(--text);cursor:pointer;white-space:nowrap;}
  .phone-cc:hover{border-color:var(--accent);}
  .phone-panel{position:absolute;z-index:60;top:calc(100% + 4px);left:0;width:min(320px,90vw);
    background:var(--panel);border:1px solid var(--border);border-radius:10px;
    box-shadow:0 8px 24px rgba(0,0,0,.45);padding:8px;}
  .phone-search{width:100%;background:var(--field);border:1px solid var(--border);
    border-radius:8px;padding:7px 9px;font-size:13px;color:var(--text);margin-bottom:6px;}
  .phone-list{max-height:240px;overflow-y:auto;}
  .phone-item{padding:7px 9px;border-radius:7px;font-size:13px;cursor:pointer;
    display:flex;align-items:center;gap:6px;}
  .phone-item:hover,.phone-item.sel{background:var(--field);}
  .phone-dial{margin-left:auto;color:var(--muted);}

  /* participant tabs */
  .ptabs{display:flex;gap:6px;margin-bottom:14px;}
  .ptab{flex:1;padding:9px;border:1px solid var(--border);border-radius:10px;
    background:var(--field);color:var(--muted);font-size:13px;font-weight:700;
    cursor:pointer;transition:.15s;text-align:center;}
  .ptab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
  .ptab:hover:not(.active){background:var(--border);}

  /* participant info card */
  .pinfo{background:var(--field);border:1px solid var(--border);border-radius:10px;
    padding:10px 12px;margin-top:8px;font-size:12px;color:var(--muted);display:none;}
  .pinfo.show{display:block;}
  .pinfo strong{color:var(--text);}

  /* toggle */
  .row-toggle{display:flex;align-items:center;gap:10px;}
  .switch{position:relative;display:inline-block;width:44px;height:24px;flex:none;cursor:pointer;}
  .switch input{opacity:0;width:0;height:0;position:absolute;}
  .slider{position:absolute;inset:0;background:var(--border);border-radius:99px;transition:.2s;}
  .slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;
    background:#fff;border-radius:50%;transition:.2s;}
  .switch input:checked+.slider{background:var(--accent);}
  .switch input:checked+.slider:before{transform:translateX(20px);}

  /* buttons */
  .btn{background:var(--accent);color:#fff;border:none;border-radius:10px;
    padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;width:100%;
    margin-top:18px;transition:.15s;}
  .btn:hover{background:var(--accent2);}
  .btn.sec{background:transparent;color:var(--text);border:1px solid var(--border);}
  .btn.sec:hover{background:var(--field);}
  .btn.danger{background:var(--red);border-color:var(--red);}
  .btn-row{display:flex;gap:10px;flex-wrap:wrap;}
  .btn-row .btn{margin-top:0;flex:1 1 120px;}
  .data-calib-title{font-size:13px;font-weight:700;margin:0;color:var(--muted)}
  .err{color:var(--red);font-size:12px;margin-top:8px;min-height:14px;}

  /* tables */
  .tbl-wrap,.table-wrap{overflow-x:auto;margin-top:6px;}
  table,.data-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;}
  th,td,.data-table th,.data-table td{text-align:center;padding:5px 7px;border-bottom:1px solid var(--border);}
  th,.data-table th{color:var(--muted);font-weight:700;background:var(--field);position:sticky;top:0;}
  td.l,.data-table td.l,.data-table th.l{text-align:left;}
  tr.avg-row td{font-weight:700;background:var(--field);}
  .badge{display:inline-block;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700;}

  /* clickable training rows */
  .tbl-hint{font-size:11px;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;}
  #h-run-tbody tr{cursor:pointer;transition:background .1s;}
  #h-run-tbody tr:hover td{background:var(--field);}
  #h-run-tbody tr.run-selected td{background:var(--accent)!important;color:#fff;}
  #h-run-tbody tr.run-selected .badge{background:rgba(255,255,255,.22);color:#fff;}
  .badge-seq{background:#e3f0ff;color:#1565c0;}
  .badge-rnd{background:#e8f5e9;color:#2e7d32;}
  html.dark .badge-seq{background:#1a2a40;color:#90caf9;}
  html.dark .badge-rnd{background:#1b3320;color:#81c784;}

  /* result screen */
  .res-title{font-size:20px;font-weight:800;margin:0 0 3px;}
  .res-sub{color:var(--muted);font-size:13px;margin-bottom:14px;}
  .tbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;}
  .tbox{background:var(--field);border:1px solid var(--border);border-radius:10px;
    padding:10px 12px;text-align:center;}
  .tbox .v{font-size:22px;font-weight:800;margin-bottom:2px;}
  .tbox .l{font-size:11px;color:var(--muted);}
  .tbox.ok .v{color:var(--accent);}
  .tbox.bad .v{color:var(--red);}
  .timing-section{margin:10px 0;}
  .timing-section h3{font-size:11px;font-weight:700;color:var(--muted);
    text-transform:uppercase;letter-spacing:.6px;margin:0 0 6px;}
  .tbox-row{display:flex;gap:6px;flex-wrap:wrap;}
  .tbox-sm{background:var(--field);border:1px solid var(--border);border-radius:8px;
    padding:7px 10px;text-align:center;min-width:80px;}
  .tbox-sm .v{font-size:16px;font-weight:800;}
  .tbox-sm .l{font-size:10px;color:var(--muted);}
  .tbox-sm.ok .v{color:var(--accent);}
  .tbox-sm.bad .v{color:var(--red);}
  .hint{text-align:center;color:var(--muted);font-size:12px;margin-top:14px;}

  /* fi */
  .fi-badge{display:inline-block;border-radius:10px;padding:4px 12px;
    font-size:13px;font-weight:700;}
  .fi-pos{background:#e8f5e9;color:#2e7d32;}
  .fi-neg{background:#fce8e6;color:#c62828;}
  .fi-zero{background:var(--field);color:var(--muted);}
  html.dark .fi-pos{background:#1b3320;color:#81c784;}
  html.dark .fi-neg{background:#3b1f1e;color:#ef9a9a;}

  /* charts */
  .chart{width:100%;height:160px;display:block;margin-top:4px;}
  .chart-sm{width:100%;height:130px;display:block;margin-top:2px;}

  /* summary stats row */
  .sum-stats-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 2px;}
  .sum-stats-row .tbox{flex:1 1 100px;}

  /* best game callout */
  .best-callout{display:flex;align-items:center;gap:10px;background:var(--field);
    border:1px solid var(--accent);border-radius:10px;padding:10px 14px;font-size:13px;}
  .best-callout .star{font-size:20px;}
  .best-callout strong{color:var(--accent);}

  /* date inputs */
  input[type=date]{
    background:var(--field);border:1px solid var(--border);border-radius:9px;
    padding:8px 10px;font-size:14px;color:var(--text);width:100%;}
  input[type=date]:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);}
  input[type=date].tt-date-native{
    position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;
    pointer-events:none;overflow:hidden;clip:rect(0,0,0,0);}
  .tt-date-field{position:relative;flex:1;min-width:0;}
  .series-row .tt-date-field{flex:0 1 130px;min-width:118px;}
  .date-range .tt-date-field{flex:1;min-width:0;}
  .tt-date-trigger{
    width:100%;text-align:left;background:var(--field);border:1px solid var(--border);
    border-radius:9px;padding:8px 10px;font-size:14px;color:var(--text);cursor:pointer;
    font-family:inherit;transition:border-color .15s;}
  .tt-date-trigger:hover,.tt-date-trigger:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0;}
  .tt-date-trigger.empty{color:var(--muted);}
  .series-row .tt-date-trigger,
  .date-range .tt-date-trigger{font-size:13px;padding:8px 6px}
  .tt-date-pop{
    position:absolute;left:0;top:calc(100% + 4px);z-index:120;min-width:268px;
    background:var(--panel);border:1px solid var(--border);border-radius:12px;
    padding:10px 12px 12px;box-shadow:0 12px 32px rgba(0,0,0,.35);}
  .tt-date-pop.tt-date-pop-portal{position:fixed;z-index:20000}
  .tt-date-pop.hidden{display:none!important;}
  .tt-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
  .tt-cal-title{font-size:13px;font-weight:700;flex:1;text-align:center;}
  .tt-cal-nav{
    width:28px;height:28px;border:1px solid var(--border);border-radius:8px;
    background:var(--field);color:var(--text);cursor:pointer;font-size:18px;line-height:1;}
  .tt-cal-nav:hover{border-color:var(--accent);}
  .tt-cal-hint{font-size:10px;line-height:1.4;margin:0 0 8px;color:var(--muted);}
  .tt-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;}
  .tt-cal-weekdays span{font-size:10px;text-align:center;color:var(--muted);font-weight:600;}
  .tt-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
  .tt-cal-day.pad{visibility:hidden;}
  .tt-cal-day{
    border:none;border-radius:8px;background:transparent;color:var(--text);
    font-size:12px;font-weight:600;height:30px;cursor:pointer;padding:0;}
  .tt-cal-day:hover{background:var(--border);}
  .tt-cal-day.today{box-shadow:inset 0 0 0 1px var(--accent);}
  .tt-cal-day.has-session{background:rgba(0,137,123,.38);color:#fff;}
  .tt-cal-day.has-session:hover{background:var(--accent);}
  .tt-cal-day.selected{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--accent);}
  .tt-cal-foot{margin-top:8px;display:flex;justify-content:flex-end;}
  .tt-cal-foot .btn{padding:4px 10px;font-size:11px;width:auto;}

  .divider{border:none;border-top:1px solid var(--border);margin:16px 0;}

  /* report tabs */
  .rtabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
  .rtab{padding:8px 18px;border:1px solid var(--border);border-radius:10px;
    background:var(--field);color:var(--muted);font-size:13px;font-weight:700;
    cursor:pointer;transition:.15s;}
  .rtab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
  .rtab:hover:not(.active){background:var(--border);}

  /* comparison */
  .cmp-checks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
  .cmp-check{display:flex;align-items:center;gap:6px;background:var(--field);
    border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;
    font-size:13px;transition:.1s;}
  .cmp-check:hover{border-color:var(--accent);}
  .cmp-check input{width:14px;height:14px;cursor:pointer;accent-color:var(--accent);}
  .cmp-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
  .cmp-legend-item{display:flex;align-items:center;gap:5px;font-size:12px;}
  .cmp-legend-item.cmp-legend-m2{opacity:.92}
  .cmp-legend-dash{width:18px;height:0;border-top:2.5px dashed;flex:none}
  .cmp-legend-dot{width:12px;height:12px;border-radius:50%;flex:none;}
  .chart-cmp{width:100%;height:min(38vh,380px);display:block;margin-top:8px;}

  /* series builder */
  .series-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;overflow:visible}
  .cmp-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
  .cmp-series-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}
  .cmp-series-hint{margin:4px 0 0;font-size:12px;line-height:1.35;max-width:520px}
  .series-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;
    background:var(--field);border:1px solid var(--border);border-radius:10px;overflow:visible}
  .series-dot{width:13px;height:13px;border-radius:50%;flex:none;}
  .series-row select.series-team{flex:0 1 140px;min-width:110px;max-width:200px}
  .series-row select.series-player{flex:1 1 160px;min-width:140px;max-width:280px}
  .series-row input[type=date]{flex:0 1 130px;min-width:118px;padding:8px 6px;font-size:13px;}
  .series-sep{color:var(--muted);font-size:12px;white-space:nowrap;}
  .btn-series-remove{background:none;border:1px solid var(--border);border-radius:7px;
    color:var(--muted);cursor:pointer;padding:5px 9px;font-size:14px;line-height:1;transition:.1s;}
  .btn-series-remove:hover{background:var(--red);color:#fff;border-color:var(--red);}
  .btn-series-add{background:transparent;border:1px solid var(--accent);color:var(--accent);
    border-radius:8px;padding:4px 12px;font-size:12px;font-weight:700;cursor:pointer;
    margin-left:6px;vertical-align:middle;transition:.1s;}
  .btn-series-add:hover{background:var(--accent);color:#fff;}

  /* compact filter bar */
  .filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px;}
  .filter-bar .field{flex:1 1 130px;}
  .filter-bar .field.wide{flex:2 1 200px;}
  .date-range{display:flex;align-items:center;gap:5px;}
  .date-range input[type=date]{flex:1;min-width:0;padding:8px 6px;font-size:13px;}
  .date-range .sep{color:var(--muted);font-size:12px;white-space:nowrap;}

  /* metric pills */
  .metric-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 6px;}
  .metric-bar-main{flex:1 1 280px;min-width:0;}
  .metric-bar-hint{margin:0 0 8px;font-size:11px;line-height:1.45}
  .metric-pills{display:flex;flex-wrap:wrap;gap:6px;}
  .cmp-order-select{flex:0 0 auto;width:auto;min-width:130px;max-width:180px;margin-top:22px;
    background:var(--field);border:1px solid var(--border);border-radius:9px;padding:7px 10px;
    font-size:13px;color:var(--text);}
  @media(max-width:720px){.cmp-order-select{margin-top:0;align-self:flex-end}}
  .mpill.active-2{background:#c87800;color:#fff;border-color:#c87800;}
  html:not(.dark) .mpill.active-2{background:#df8f00;border-color:#df8f00;}
  .mpill{padding:6px 13px;border:1px solid var(--border);border-radius:99px;
    background:var(--field);color:var(--muted);font-size:12px;font-weight:700;
    cursor:pointer;transition:.15s;position:relative}
  .mpill.active{background:var(--accent);color:#fff;border-color:var(--accent);}
  .mpill:hover:not(.active){background:var(--border);}
  .mpill[data-tip]::after{
    content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);
    min-width:180px;max-width:min(280px,70vw);padding:8px 10px;border-radius:10px;
    background:var(--panel);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.28);
    color:var(--text);font-size:11px;font-weight:500;line-height:1.45;text-align:left;
    white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s,visibility .12s;z-index:40}
  .mpill[data-tip]:hover::after,.mpill[data-tip]:focus-visible::after{opacity:1;visibility:visible}
  .mpill.active[data-tip]::after{border-color:var(--accent)}

  /* report header row */
  .report-header{display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:10px;margin-bottom:8px;}
  .report-header h1{margin:0;}
  .report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-wrap:wrap;margin-bottom:12px;}
  .report-toolbar .rtabs{margin-bottom:0;flex:0 1 auto;}
  .report-export-row{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;margin-left:auto}
  .report-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
    width:auto;margin-top:0;padding:8px 14px;font-size:13px;font-weight:700;white-space:nowrap}
  .report-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--muted)}
  .report-btn-icon svg{width:16px;height:16px;display:block}
  .report-btn-icon-excel{color:#1d6f42}
  html:not(.dark) .report-btn-icon-excel{color:#107c41}
  .btn-new-training{background:var(--accent);color:#fff;border:none;border-radius:10px;
    padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap;}
  .btn-new-training:hover{background:var(--accent2);}

  @media(max-width:900px){
    .report-toolbar{flex-direction:column;align-items:stretch}
    .report-export-row{margin-left:0;justify-content:flex-start}
    .cmp-series-head{flex-direction:column;align-items:stretch}
    .cmp-series-head .btn-series-add{align-self:flex-start;margin-left:0;margin-top:6px}
    .metric-bar{flex-direction:column;align-items:stretch}
    .cmp-order-select{align-self:flex-start;margin-top:4px}
  }

  #bulk-export-bar{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px 14px;align-items:end;margin-bottom:14px}
  #bulk-export-bar .field{margin:0}
  #bulk-export-bar .date-range{width:100%}

  .sum-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:720px){.sum-charts-grid{grid-template-columns:1fr}}

  /* lang toggle */
  #lang-toggle button:hover{opacity:1!important;}

  /* weekly progress */
  .progress-wrap{margin-top:6px}
  .progress-bar{height:8px;background:var(--field);border:1px solid var(--border);border-radius:99px;overflow:hidden}
  .progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .25s;width:0}
  .progress-label{font-size:12px;color:var(--muted);margin-top:4px}
  .club-only.hidden{display:none!important}
  .demo-only.hidden{display:none!important}
  .training-step{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--border)}
  .training-step:last-of-type{border-bottom:none}
  .training-step-title{font-size:15px;font-weight:800;margin:0 0 10px;letter-spacing:.02em}
  .training-step-num{color:var(--accent);margin-right:4px}
  .training-step-hint{margin:0 0 12px;line-height:1.5}
  .training-pick-grid{align-items:flex-end}
  #panel-training .grid{align-content:start}
  .training-subhead{font-size:13px;font-weight:700;color:var(--muted);margin:16px 0 10px;text-transform:uppercase;letter-spacing:.04em}
  .training-pick-grid{margin-bottom:0}
  .training-recent-label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}
  .training-recent-list{display:flex;flex-wrap:wrap;gap:6px}
  .training-after-pick.training-locked{opacity:.42;pointer-events:none;user-select:none}
  .training-start-row{margin:8px 0 20px}
  .training-start-row .btn{width:100%;margin-top:0}
  .training-start-row .btn + .btn{margin-top:10px}
  .training-start-row .btn:disabled{opacity:.45;cursor:not-allowed}
  .training-advanced{margin-top:8px;padding-top:16px;border-top:1px dashed var(--border)}
  .settings-section{margin-bottom:20px}
  .settings-section h3{font-size:15px;font-weight:700;margin:0 0 12px;color:var(--text)}
  .preset-manage-list{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
  .preset-manage-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;
    border:1px solid var(--border);border-radius:8px;background:var(--panel)}
  .preset-manage-item-text{flex:1;min-width:0}
  .preset-manage-item-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}
  .preset-manage-item-meta{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.35;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .preset-manage-del{width:auto!important;margin-top:0!important;padding:5px 10px!important;
    font-size:11px;flex-shrink:0;align-self:center}
  .preset-manage-empty{font-size:12px;color:var(--muted);margin:10px 0 0}
  .settings-mode-desc{margin:8px 0 0;line-height:1.55;font-size:12px}
  .team-bar{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
  .team-bar .field{flex:1;min-width:160px;margin:0}
  .team-bar .btn,.move-team-row .btn{margin-top:0;flex:none;padding:9px 12px;font-size:12px}
  .move-team-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
  .move-team-row .field{flex:1;min-width:160px;margin:0}
  .org-readonly{padding:8px 10px;background:var(--field);border:1px solid var(--border);border-radius:9px;font-size:14px;color:var(--text);min-height:36px;display:flex;align-items:center}
  .org-roster{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}
  .org-roster-team{margin-top:12px}
  .org-roster-head{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}
  .org-roster-head span{font-weight:500;color:var(--muted);font-size:12px}
  .org-roster-list{margin:0;padding-left:0;list-style:none;font-size:13px;color:var(--muted);line-height:1.7}
  .org-roster-code{font-size:11px;color:var(--accent);font-weight:700}
  .org-roster-meta{font-size:11px;color:var(--muted)}
  .org-roster-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:4px 0}
  .org-roster-name{flex:0 1 auto;min-width:0}
  .btn.org-roster-remote,.btn.org-roster-move{flex:0 0 44px;width:44px;padding:5px 0;font-size:13px;line-height:1;text-align:center}
  .org-move-hint{margin:-6px 0 10px}
  .move-current-field{min-width:140px}
  .move-current-pill{
    display:flex;align-items:center;width:100%;min-height:36px;padding:0 10px;
    background:var(--field);border:1px solid var(--border);border-radius:9px;
    font-size:14px;color:var(--text);font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #panel-training.hidden,#panel-organize.hidden,#panel-settings.hidden,#panel-help.hidden,#panel-license.hidden{display:none!important}
  .team-manage{margin:8px 0 12px;padding:10px 12px;background:var(--field);
    border:1px solid var(--border);border-radius:10px}
  .team-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
  .team-row:last-child{border-bottom:none}
  .team-row-main{flex:1;min-width:140px}
  .team-row-name{flex:1;font-size:13px;font-weight:700;display:block}
  .project-meta-line{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4;font-weight:400}
  .project-row{align-items:flex-start}
  .project-row .team-row-count{margin-top:4px}
  .team-row-count{font-size:11px;color:var(--muted);min-width:72px;text-align:right}
  .btn-xs{padding:4px 8px;font-size:11px;border-radius:6px;width:auto;margin-top:0;flex:0 0 auto}
  .recent-pill{padding:5px 12px;border:1px solid var(--border);border-radius:99px;background:var(--field);
    color:var(--text);font-size:12px;font-weight:700;cursor:pointer;transition:.12s}
  .recent-pill:hover{border-color:var(--accent);background:var(--panel)}
  .organize-link-row{margin:4px 0 10px}
  .org-danger-row{margin-top:12px}
  .data-actions{display:grid;gap:12px;margin-top:12px;grid-template-columns:1fr}
  @media(min-width:960px){.data-actions{grid-template-columns:repeat(3,1fr)}}
  .data-actions-elite{display:grid;gap:12px;margin-top:12px;grid-template-columns:1fr}
  @media(min-width:900px){.data-actions-elite{grid-template-columns:repeat(2,1fr)}}
  .data-actions-elite .data-panel,.data-actions .data-panel{margin-top:0}
  .data-panel{
    --panel-accent:var(--border);--panel-bg:var(--field);--panel-btn-bg:rgba(127,127,127,.12);--panel-btn-border:rgba(127,127,127,.35);
    border-radius:12px;padding:14px 16px;border:1px solid var(--border);
    border-left:4px solid var(--panel-accent);background:var(--panel-bg);margin-top:12px;
  }
  .data-actions .data-panel{margin-top:0}
  .data-panel-title{font-size:13px;font-weight:800;margin:0 0 6px;color:var(--text)}
  .data-panel-hint{margin:0 0 12px;font-size:11px;line-height:1.5}
  .data-panel-btn{
    margin-top:0;width:100%;background:var(--panel-btn-bg);border:1px solid var(--panel-btn-border);
    color:var(--text);font-weight:700;
  }
  .data-panel-btn:hover{filter:brightness(1.12)}
  .data-panel-btn-alt{opacity:.92}
  .data-panel-btn-stack{display:flex;flex-direction:column;gap:8px}
  .data-panel-btn-row{display:flex;flex-wrap:wrap;gap:8px}
  .data-panel-btn-row .data-panel-btn{flex:1 1 140px;width:auto}
  .data-panel-recover{
    --panel-accent:#df8f00;--panel-bg:rgba(223,143,0,.07);
    --panel-btn-bg:rgba(223,143,0,.16);--panel-btn-border:rgba(223,143,0,.45);
  }
  .data-panel-merge{
    --panel-accent:var(--accent);--panel-bg:rgba(63,159,63,.07);
    --panel-btn-bg:rgba(63,159,63,.18);--panel-btn-border:rgba(63,159,63,.45);
  }
  html.dark .data-panel-merge{--panel-bg:rgba(111,207,79,.08);--panel-btn-bg:rgba(111,207,79,.14);--panel-btn-border:rgba(111,207,79,.4)}
  .data-panel-support{
    --panel-accent:var(--blue);--panel-bg:rgba(63,127,223,.07);
    --panel-btn-bg:rgba(63,127,223,.16);--panel-btn-border:rgba(63,127,223,.42);
  }
  .data-panel-bridge{
    --panel-accent:#00909f;--panel-bg:rgba(0,144,159,.07);
    --panel-btn-bg:rgba(0,144,159,.14);--panel-btn-border:rgba(0,144,159,.4);
  }
  .data-panel-btn-phone{background:var(--accent);color:#fff;width:100%}
  .data-panel-btn-phone:hover{background:var(--accent2)}
  .data-panel-btn-tobii{
    --panel-btn-bg:rgba(63,127,223,.18);--panel-btn-border:rgba(63,127,223,.48);
  }
  .data-panel-btn-pupil{
    --panel-btn-bg:rgba(0,144,159,.2);--panel-btn-border:rgba(0,144,159,.5);
  }
  .data-panel-btn-mock{
    --panel-btn-bg:rgba(107,114,128,.14);--panel-btn-border:rgba(107,114,128,.4);color:var(--muted);
  }
  .bridge-status-panel{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--field)}
  .bridge-status-panel.ok{border-color:rgba(46,160,120,.45)}
  .bridge-status-panel.bad{border-color:rgba(220,80,80,.45)}
  .bridge-status-panel.warn{border-color:rgba(200,160,60,.45)}
  .bridge-status-main{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}
  .bridge-status-detail{font-size:12px;color:var(--muted);line-height:1.55}
  .bridge-status-detail > div + div{margin-top:4px}
  .bridge-status-hint{margin-top:8px;font-size:11px;color:var(--text);line-height:1.5}
  .data-panel-calib{
    --panel-accent:#7c5cff;--panel-bg:rgba(124,92,255,.07);
    --panel-btn-bg:rgba(124,92,255,.14);--panel-btn-border:rgba(124,92,255,.4);
  }
  .btn-link{background:none;border:none;padding:0;color:var(--accent);font-size:12px;font-weight:700;
    cursor:pointer;text-decoration:underline;text-underline-offset:2px}
  .btn-link:hover{opacity:.85}
  .pr-callout{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#1b3320,#1b202b);
    border:1px solid var(--accent);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:700;color:var(--accent)}
  .iti-big{font-size:72px;font-weight:800;fill:var(--text);text-anchor:middle;dominant-baseline:middle}
  .hidden{display:none!important}
  .main-nav{display:flex;gap:8px;margin:12px 0 16px;padding:4px;background:var(--field);border:1px solid var(--border);border-radius:12px}
  .main-nav-btn{flex:1;border:none;background:transparent;padding:10px 14px;border-radius:9px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:.12s}
  .main-nav-btn.active{background:var(--accent);color:#fff}
  .main-nav-btn:hover:not(.active){background:var(--border);color:var(--text)}
  .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:14px 0}
  .kpi-card{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}
  .kpi-v{font-size:20px;font-weight:800;color:var(--accent)}.kpi-l{font-size:10px;color:var(--muted);margin-top:4px;font-weight:600}
  .prog-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:12px}
  .prog-charts-grid.prog-charts-rlr{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  @media (min-width:900px){
    .prog-charts-grid.prog-charts-rlr{grid-template-columns:repeat(2,1fr)}
  }
  .prog-chart-wrap{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:12px}
  .prog-chart-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}
  .prog-chart{width:100%;height:min(26vh,200px)}
  @media (min-width:1400px){
    .prog-charts-grid{grid-template-columns:repeat(3,1fr)}
    #screen-report .chart-cmp{height:min(42vh,440px)}
  }
  .lit-section{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}
  .analysis-narrative-wrap{margin-top:16px;margin-bottom:8px}
  #prog-literature.analysis-narrative-wrap,
  #prog-gaze-ai.analysis-narrative-wrap,
  #prog-metrics-ai.analysis-narrative-wrap{margin-top:20px}
  .chart-card{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:12px}
  .chart-card .chart-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}
  .cmp-radar-wrap .radar-chart{height:min(36vh,360px)}
  .cmp-radar-series-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin:0 0 8px}
  .cmp-radar-dot{width:10px;height:10px;border-radius:50%;flex:none}
  .cmp-radar-axis-row{display:grid;grid-template-columns:minmax(100px,1fr) repeat(auto-fit,minmax(48px,1fr));gap:6px;align-items:center;font-size:11px;padding:4px 0;border-bottom:1px solid var(--border)}
  .cmp-radar-axis-row:last-child{border-bottom:none}
  .cmp-radar-axis-name{color:var(--muted);font-weight:600}
  .cmp-radar-val{text-align:right;font-weight:700}
  .cmp-ai-narrative .cmp-ai-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:99px;background:rgba(124,92,255,.18);border:1px solid rgba(124,92,255,.4);color:#c4b5fd;margin-left:8px;vertical-align:middle}
  .cmp-ai-narrative h2{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
  .detail-ai-narrative h2{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
  .detail-ai-narrative .param-ai-what,.detail-ai-narrative .param-ai-session{margin:6px 0;font-size:13px;line-height:1.5}
  .detail-ai-narrative .param-ai-stats{margin:4px 0 8px}
  .detail-ai-narrative .param-ai-lit{margin-top:8px;font-size:11px}
  .pupil-empty-note{line-height:1.5;color:var(--muted)}
  .analysis-narrative h2{font-size:15px;font-weight:800;margin:0 0 12px;color:var(--text)}
  .analysis-block{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px}
  .analysis-block:last-child{margin-bottom:0}
  .analysis-protocol-name{font-size:14px;font-weight:800;margin:0 0 8px;color:var(--text)}
  .analysis-sub-label{margin-top:12px}
  .analysis-param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:8px}
  .analysis-param{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
  .analysis-param-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
  .analysis-param-head strong{font-size:12px;color:var(--text)}
  .analysis-score{font-size:11px;font-weight:800;color:var(--accent);white-space:nowrap}
  .analysis-comments{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.65;color:var(--text)}
  .analysis-comments li{margin-bottom:8px}
  .analysis-comments li:last-child{margin-bottom:0}
  .rlr-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:8px}
  .rlr-kpi{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;text-align:center}
  .rlr-kpi-v{font-size:20px;font-weight:800;color:var(--text)}
  .rlr-kpi-l{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--accent);margin-top:4px;letter-spacing:.4px}
  .rlr-kpi-sub{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}
  .prog-charts-heading{font-size:14px;font-weight:800;margin:16px 0 4px}
  #prog-charts-head .prog-charts-heading{margin-top:16px}
  #prog-charts-head .chart-legend-note{margin:0 0 4px}
  .chart-legend-note{font-size:11px;color:var(--muted);margin:0 0 10px}
  .lit-note{font-size:12px;color:var(--muted);line-height:1.5}
  .lit-list{font-size:12px;color:var(--muted);padding-left:18px;line-height:1.6}
  .lit-cell{font-size:11px;color:var(--muted);max-width:220px}
  .prog-filters{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px 14px;align-items:end;margin-bottom:16px}
  .prog-filters .field{margin:0}
  .prog-filters .date-range{width:100%}
  html[data-app-mode="demo"] .prog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  @media(max-width:560px){
    html[data-app-mode="demo"] .prog-filters{grid-template-columns:1fr}
    .prog-filters{grid-template-columns:1fr}
  }
  .preset-desc{background:var(--field);border:1px solid var(--border);border-radius:12px;
    padding:14px 16px;margin:10px 0 14px;font-size:12px;line-height:1.55;color:var(--muted);
    max-height:min(42vh,280px);overflow-y:auto}
  .preset-desc-title{color:var(--text);font-size:14px;font-weight:800;margin-bottom:10px}
  .preset-desc-block{margin-top:10px}
  .preset-desc-block:first-of-type{margin-top:0}
  .preset-desc-label{color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}
  .preset-desc-block p{margin:0;color:var(--text);font-size:12px;line-height:1.55}
  .preset-desc-refs p{font-size:11px;color:var(--muted);line-height:1.65;white-space:pre-line}
  .radar-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
  #analiz-progress > .kpi-grid + .radar-section{border-top:none;margin-top:12px;padding-top:0}
  #prog-gaze-table .table-wrap,
  #prog-pupil-table .table-wrap,
  #prog-metrics-table .tbl-wrap{
    margin-top:8px;border:1px solid var(--border);border-radius:10px;
    overflow-x:auto;overflow-y:visible;background:var(--panel);
  }
  #prog-gaze-table table,
  #prog-pupil-table table,
  #prog-metrics-table table{margin:0}
  #prog-gaze-table th,
  #prog-pupil-table th,
  #prog-metrics-table th{background:var(--field)}
  .radar-wrap{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:20px;align-items:start}
  @media(max-width:900px){.radar-wrap{grid-template-columns:1fr}}
  .radar-chart{width:100%;height:320px;display:block}
  .radar-legend{display:grid;gap:6px;font-size:12px}
  .radar-leg-row{display:flex;align-items:center;gap:8px}
  .radar-leg-bar{flex:1;height:6px;background:var(--field);border-radius:99px;overflow:hidden}
  .radar-leg-fill{height:100%;background:var(--accent);border-radius:99px}

  /* ── App chrome (Pro) ── */
  .app-chrome{position:fixed;top:0;left:0;right:0;min-height:56px;z-index:10000;
    display:flex;align-items:center;gap:16px;padding:0 20px;
    background:linear-gradient(180deg,var(--panel) 0%,rgba(27,32,43,.97) 100%);
    border-bottom:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.22);
    pointer-events:auto;}
  html:not(.dark) .app-chrome{background:linear-gradient(180deg,#fff 0%,#f4f6f9 100%)}
  .app-chrome.hidden{display:none!important}
  .app-brand{display:flex;align-items:center;gap:12px;min-width:200px}
  .app-logo svg{width:100%;height:100%;display:block}
  .app-logo{width:36px;height:36px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));
    color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(63,143,47,.35)}
  .app-name{font-size:15px;font-weight:800;line-height:1.1}
  .app-tagline{font-size:10px;color:var(--muted);font-weight:600;margin-top:2px}
  .app-nav{display:flex;gap:4px;flex:1;overflow-x:auto;padding:4px;background:var(--field);
    border:1px solid var(--border);border-radius:11px;scrollbar-width:none}
  .app-nav::-webkit-scrollbar{display:none}
  .app-nav-btn{border:none;background:transparent;padding:8px 14px;border-radius:8px;
    font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;transition:.12s}
  .app-nav-btn.active{background:var(--accent);color:#fff}
  .app-nav-btn:hover:not(.active){background:var(--border);color:var(--text)}
  .app-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .license-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:99px;
    border:1px solid var(--border);background:var(--field);color:var(--muted);white-space:nowrap}
  .mode-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:99px;
    border:1px solid var(--border);white-space:nowrap}
  .mode-badge.mode-club{border-color:var(--accent);color:var(--accent);background:rgba(46,160,120,.1)}
  .mode-badge.mode-academic{border-color:var(--blue);color:var(--blue);background:rgba(96,140,220,.12)}
  .mode-badge.mode-demo{border-color:var(--muted);color:var(--muted);background:rgba(107,114,128,.12)}
  .card-mode-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
  .card-mode-row .mode-badge{flex-shrink:0}
  .license-badge.ok{border-color:var(--accent);color:var(--accent)}
  .license-badge.demo{border-color:var(--blue);color:var(--blue)}
  .license-badge.bad{border-color:var(--red);color:var(--red)}
  #lang-toggle{position:static!important;display:flex;gap:2px;align-items:center}
  #lang-toggle button{font-size:18px!important;padding:2px 5px!important}
  .app-footer{text-align:center;padding:16px 0 8px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);margin-top:20px}
  #screen-blocked{top:0;padding:24px;align-items:center;justify-content:center;text-align:center}
  #screen-blocked .card{max-width:480px}
  .blocked-icon{font-size:48px;margin-bottom:12px}
  .help-tabs{display:flex;gap:6px;margin:12px 0 16px;flex-wrap:wrap}
  .help-tab{padding:8px 14px;border:1px solid var(--border);border-radius:99px;background:var(--field);
    color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:.12s}
  .help-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
  .badge-st-assessment{background:rgba(159,111,223,.18);color:#b58fe8;border:1px solid rgba(159,111,223,.45)}
  .badge-st-training{background:rgba(63,159,111,.16);color:#5fbf8f;border:1px solid rgba(63,159,111,.4)}
  .badge-st-monitoring{background:rgba(223,143,0,.14);color:#df8f00;border:1px solid rgba(223,143,0,.4)}
  .dev-tier-box{margin:14px 0;padding:12px 14px;border-radius:10px;
    border:1px dashed rgba(223,143,0,.55);background:rgba(223,143,0,.06)}
  .dev-tier-box label{font-size:12px;font-weight:800;color:#df8f00}
  .help-pkg-badge{display:inline-block;font-size:12px;font-weight:700;padding:8px 14px;border-radius:10px;
    margin-bottom:16px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text)}
  .help-pkg-badge.club{border-color:rgba(63,127,223,.5)}
  .help-pkg-badge.academy{border-color:rgba(159,111,223,.55)}
  .help-pkg-badge.pro{border-color:var(--border)}
  .help-academy-teaser{margin-top:12px;padding:12px 14px;border-radius:10px;
    border:1px solid rgba(159,111,223,.45);background:rgba(159,111,223,.07)}
  .help-academy-teaser-title{font-size:13px;font-weight:800;margin-bottom:6px;color:#b58fe8}
  .help-academy-teaser p{font-size:12.5px;line-height:1.6;margin:0 0 6px}
  .help-section{margin-bottom:20px}
  .help-section h3{font-size:14px;font-weight:800;margin:0 0 8px;color:var(--text)}
  .help-section p,.help-section li{font-size:13px;line-height:1.65;color:var(--text)}
  .help-steps,.help-bullets{margin:8px 0 0;padding-left:20px}
  .help-refs{background:var(--field);border:1px solid var(--border);border-radius:10px;
    padding:12px 14px;font-size:11px;line-height:1.6;color:var(--muted);white-space:pre-wrap;
    overflow-x:auto;margin:8px 0 0}
  .help-device-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;
    background:var(--field);border:1px solid var(--border);border-radius:10px;margin-top:8px}
  .help-device-box code{font-size:16px;font-weight:800;letter-spacing:.08em;color:var(--accent)}
  .license-status{border-radius:12px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--border)}
  .license-status.license-ok{background:rgba(63,159,63,.08);border-color:rgba(63,159,63,.35)}
  .license-status.license-bad{background:rgba(224,72,59,.06);border-color:rgba(224,72,59,.25)}
  .license-status-title{font-size:15px;font-weight:800}
  .license-status-sub{font-size:12px;color:var(--muted);margin-top:4px}
  .license-id-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .license-id-row code{font-size:18px;font-weight:800;letter-spacing:.1em;color:var(--accent);
    padding:8px 12px;background:var(--field);border:1px solid var(--border);border-radius:8px}
  .license-grid{display:grid;gap:12px}
  .lic-email{color:#f5c542;font-weight:700;text-decoration:none}
  .lic-email:hover{color:#ffd966;text-decoration:underline}
  .setup-overlay{position:fixed;inset:0;z-index:9999;background:rgba(8,10,16,.88);
    display:flex;align-items:center;justify-content:center;padding:20px}
  .setup-overlay.hidden{display:none!important}
  .confirm-delete-card{max-width:440px;text-align:left}
  .confirm-delete-message{margin:12px 0 8px;font-size:14px;line-height:1.55;color:var(--text)}
  .confirm-delete-hint{margin:0 0 16px;font-size:12px;line-height:1.5;color:var(--muted)}
  .confirm-delete-actions{justify-content:flex-end;gap:10px;margin-top:0}
  .confirm-delete-actions .btn.danger{background:var(--red);color:#fff;border:none}
  .action-choice-card{max-width:440px;text-align:left}
  .action-choice-message{margin:12px 0 8px;font-size:14px;line-height:1.55;color:var(--text)}
  .action-choice-hint{margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--muted)}
  .action-choice-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}
  .action-choice-actions .btn{margin-top:0;width:100%}
  .action-choice-actions .btn.danger{background:var(--red);color:#fff;border-color:var(--red)}
  .undo-delete-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10001;
    display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;
    background:var(--panel);border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.45);
    max-width:min(560px,calc(100vw - 32px));font-size:13px}
  .undo-delete-banner.hidden{display:none!important}
  .error-report-banner{position:fixed;left:50%;top:72px;transform:translateX(-50%);z-index:10002;
    display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;
    background:#2a2418;border:1px solid #8a6a20;box-shadow:0 8px 32px rgba(0,0,0,.5);
    max-width:min(640px,calc(100vw - 32px));font-size:13px;line-height:1.45;color:#f5e6b8}
  .error-report-banner.hidden{display:none!important}
  .undo-dismiss{background:none;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
  .undo-dismiss:hover{color:var(--text)}
  .setup-card{max-width:420px;width:100%;margin:0}
  .help-video-grid{display:grid;gap:16px;margin-top:8px}
  @media(min-width:900px){.help-video-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}
  .help-video{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
  .help-video-title{font-size:13px;font-weight:800;margin-bottom:4px}
  .help-video-desc{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.5}
  .help-vid{width:100%;max-height:240px;border-radius:8px;background:#000;display:block}
  .help-vid.hidden{display:none}
  .help-video-missing{font-size:12px;margin:8px 0 0}
  .help-step-grid{display:grid;gap:16px;margin-top:8px}
  @media(min-width:720px){.help-step-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
  .help-step{position:relative;background:var(--field);border:1px solid var(--border);border-radius:12px;padding:12px;margin:0}
  .help-step-num{position:absolute;top:10px;left:10px;width:26px;height:26px;border-radius:50%;
    background:var(--accent);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
  .help-shot{width:100%;border-radius:8px;border:1px solid var(--border);display:block;margin-top:8px;background:var(--panel)}
  .help-shot.hidden{display:none}
  .help-step figcaption{font-size:12px;line-height:1.55;margin-top:8px;color:var(--text)}
  .help-shot-missing{font-size:11px;margin-top:6px}
  .help-param-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}
  .help-param-table th,.help-param-table td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
  .help-param-table th{background:var(--field);font-weight:800;width:28%}
  .help-param-table td{color:var(--text);line-height:1.55}
  .help-formula{background:var(--field);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:10px 0 0}
  .help-formula-name{font-size:12px;font-weight:800;margin-bottom:6px;color:var(--accent)}
  .help-formula-expr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.6;color:var(--text);white-space:pre-wrap}
  .help-formula-desc{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.55}
  .help-proto-group{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:18px 0 8px}
  .help-proto-group:first-child{margin-top:4px}
  .help-proto-card{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}
  .help-proto-title{font-size:14px;font-weight:800;margin:0 0 6px}
  .help-proto-type{font-size:11px;color:var(--muted);margin-bottom:8px}
  .help-proto-params{display:grid;gap:4px 16px;margin:8px 0;font-size:12px;line-height:1.5}
  @media(min-width:640px){.help-proto-params{grid-template-columns:1fr 1fr}}
  .help-proto-params dt{font-weight:700;color:var(--muted)}
  .help-proto-params dd{margin:0 0 4px}
  .help-proto-measures{font-size:12px;line-height:1.6;margin:8px 0 0}
  .help-proto-refs{font-size:10px;line-height:1.55;color:var(--muted);white-space:pre-wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
  @media(max-width:768px){
    .app-chrome{flex-wrap:wrap;padding:10px 12px}
    .app-brand{min-width:0}
    .app-nav{order:3;width:100%}
  }

  .gaze-glasses-hint.hidden{display:none!important}

  .localhost-gate{position:fixed;inset:0;z-index:9500;background:rgba(8,10,16,.94);
    display:flex;align-items:center;justify-content:center;padding:20px}
  .localhost-gate.hidden{display:none!important}
  .localhost-gate-card{max-width:420px;width:100%;padding:22px 24px}
  .localhost-gate-hint{font-size:11px;line-height:1.55;opacity:.9;margin-top:10px}
  .localhost-gate-actions{margin-top:16px}

  /* Göz takibi kalibrasyon */
  .gaze-overlay{position:fixed;inset:0;z-index:9000;background:#080a10;
    display:flex;align-items:stretch;justify-content:flex-end}
  .gaze-overlay.hidden{display:none!important}
  .gaze-overlay.gaze-grid-mode{justify-content:center}
  .gaze-overlay.gaze-grid-mode .gaze-sidebar{display:none!important}
  .gaze-grid-intro{position:fixed;inset:0;z-index:9020;display:flex;align-items:center;justify-content:center;
    background:#080a10;padding:24px}
  .gaze-grid-intro.hidden{display:none!important}
  .gaze-grid-intro-card{max-width:440px;text-align:center;padding:32px 28px}
  .gaze-grid-intro-icon{font-size:28px;color:var(--accent);margin:0 0 12px;line-height:1}
  .gaze-grid-intro-card .btn{margin-top:20px;width:100%}
  .gaze-grid-intro-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px;width:100%}
  .gaze-grid-intro-actions .btn{margin-top:0;width:100%}
  .gaze-grid-intro-tips{margin:14px 0 0;padding:0 0 0 18px;text-align:left;font-size:12px;line-height:1.65;color:var(--muted)}
  .gaze-grid-intro-tips.hidden{display:none!important}
  .gaze-calib-tier{display:inline-block;margin:0 0 12px;padding:8px 16px;border-radius:999px;
    font-size:14px;font-weight:800;letter-spacing:.02em}
  .gaze-calib-tier--good{background:rgba(63,159,63,.18);color:#6fcf6f;border:1px solid rgba(63,159,63,.35)}
  .gaze-calib-tier--low{background:rgba(212,160,23,.12);color:#e8c547;border:1px solid rgba(212,160,23,.35)}
  .gaze-calib-tier--none{background:rgba(200,80,80,.12);color:#e88;border:1px solid rgba(200,80,80,.35)}
  .gaze-calib-result-px{font-size:22px;font-weight:800;margin:0 0 10px;color:var(--text)}
  .gaze-calib-result-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
  .gaze-overlay.gaze-result-mode{justify-content:center;background:rgba(8,10,16,.94)}
  .gaze-overlay.gaze-result-mode .gaze-sidebar,
  .gaze-overlay.gaze-result-mode .gaze-calib-dot-el,
  .gaze-overlay.gaze-result-mode .gaze-calib-dot,
  .gaze-overlay.gaze-result-mode .gaze-grid-badge{display:none!important}
  .gaze-calib-result-ready{margin-top:10px;color:var(--text);font-weight:600}
  .gaze-retry-advice{margin:0 0 12px;padding:12px 14px;border-radius:10px;
    background:rgba(212,160,23,.08);border:1px solid rgba(212,160,23,.28)}
  .gaze-retry-advice.hidden{display:none!important}
  .gaze-retry-advice-lead{margin:0 0 8px;font-size:12px;line-height:1.55;color:var(--text)}
  .gaze-retry-advice-list{margin:0;padding:0 0 0 18px;font-size:12px;line-height:1.65;color:var(--muted)}
  #gaze-btn-continue{margin-bottom:8px;width:100%}
  #gaze-btn-continue:disabled{opacity:.45;cursor:not-allowed}
  .gaze-grid-badge{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:9012;
    font-size:13px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.04em;pointer-events:none}
  .gaze-grid-badge.hidden{display:none!important}
  .gaze-calib-dot{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9010;display:none}
  .gaze-calib-dot-el{position:fixed;left:0;top:0;width:28px;height:28px;border-radius:50%;
    background:#4fd399;border:3px solid #fff;box-shadow:0 0 0 5px rgba(79,211,153,.42);
    pointer-events:none;z-index:9011;opacity:0;visibility:hidden;will-change:transform;
    transition:opacity .12s}
  .gaze-calib-dot-el.visible{opacity:1;visibility:visible}
  .gaze-sidebar{width:min(360px,100vw);max-height:100vh;overflow-y:auto;margin:16px;border-radius:14px;
    z-index:9002;box-shadow:0 8px 32px rgba(0,0,0,.45);pointer-events:auto}
  .gaze-video-wrap{position:relative;border-radius:10px;overflow:hidden;background:#000;
    border:1px solid var(--border);aspect-ratio:4/3}
  .gaze-video-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
  .gaze-face-guide{position:absolute;inset:12%;border:2px dashed rgba(63,159,111,.55);border-radius:50%;pointer-events:none}
  .gaze-coach-list{list-style:none;padding:0;margin:12px 0;font-size:12px;line-height:1.7}
  .gaze-coach-list li.ok{color:var(--accent)}
  .gaze-coach-list li.bad{color:var(--muted)}
  .gaze-coach-list li.warn{color:#df8f00}
  .gaze-calib-mono-note{color:#df8f00;font-weight:700}
  .gaze-light-meter{margin:0 0 12px;padding:10px 12px;border-radius:10px;
    background:rgba(255,255,255,.03);border:1px solid var(--border)}
  .gaze-light-meter.hidden{display:none!important}
  .gaze-light-meter-head{display:flex;justify-content:space-between;align-items:center;
    font-size:11px;color:var(--muted);margin-bottom:8px;gap:8px}
  .gaze-light-meter-val{font-variant-numeric:tabular-nums;color:var(--text)}
  .gaze-light-meter-track{position:relative;height:8px;border-radius:99px;overflow:hidden;background:var(--field)}
  .gaze-light-meter-zone{position:absolute;top:0;bottom:0;opacity:.35}
  .gaze-light-meter-zone--low{left:0;width:33%;background:#3f7fdf}
  .gaze-light-meter-zone--ok{left:33%;width:34%;background:#3f9f6f}
  .gaze-light-meter-zone--high{left:67%;width:33%;background:#d4a017}
  .gaze-light-meter-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:#fff;border-radius:99px;
    opacity:.92;transition:width .2s}
  .gaze-light-meter-hint{margin:8px 0 0;font-size:11px;line-height:1.5;color:var(--blue)}
  .gaze-light-meter[data-level="dark"] .gaze-light-meter-fill{background:#3f7fdf}
  .gaze-light-meter[data-level="dim"] .gaze-light-meter-fill{background:#6eb5ff}
  .gaze-light-meter[data-level="good"] .gaze-light-meter-fill{background:#4fd399}
  .gaze-light-meter[data-level="bright"] .gaze-light-meter-fill{background:#e8c547}
  .gaze-light-meter[data-level="overbright"] .gaze-light-meter-fill{background:#e07070}
  .gaze-progress{height:6px;background:var(--field);border-radius:99px;overflow:hidden;margin:10px 0}
  .gaze-progress div{height:100%;width:0;background:var(--accent);transition:width .15s}
  .gaze-status.ok{color:var(--accent)}
  .gaze-status.gaze-status--dl{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
  .gaze-status.bad{color:var(--red)}
  .gaze-privacy{opacity:.85}
  .gaze-glasses-tip{color:var(--muted);opacity:.9}
  .gaze-glasses-hint{font-size:11px;line-height:1.55;color:var(--blue);margin:0 0 10px;padding:10px 12px;
    background:rgba(63,127,223,.08);border:1px solid rgba(63,127,223,.25);border-radius:10px}
  .gaze-glasses-hint.hidden{display:none!important}
  .gaze-quality-banner{padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:12px;line-height:1.55}
  .gaze-quality-banner.hidden{display:none!important}
  .gaze-quality-banner.tier-low{background:rgba(212,160,23,.12);border:1px solid rgba(212,160,23,.35);color:var(--text)}
  .gaze-quality-banner.tier-none{background:rgba(200,80,80,.1);border:1px solid rgba(200,80,80,.28);color:var(--text)}
  .gaze-head-banner{padding:10px 12px;border-radius:10px;margin:10px 0 0;font-size:12px;line-height:1.55}
  .gaze-head-banner.hidden{display:none!important}
  .gaze-head-banner.tier-moderate{background:rgba(212,160,23,.12);border:1px solid rgba(212,160,23,.35);color:var(--text)}
  .gaze-head-banner.tier-high{background:rgba(200,80,80,.1);border:1px solid rgba(200,80,80,.28);color:var(--text)}
  .gaze-phases-head{font-size:15px;margin:0 0 6px}
  .gaze-phases-lit{font-size:11px;line-height:1.55;margin:0 0 12px}
  .gaze-phase-table .gaze-phase-lit{font-size:10px;line-height:1.45;margin-top:4px;max-width:220px}
  .gaze-phases-block.hidden{display:none!important}
  #prog-gaze-section.gaze-tier-low .radar-wrap,
  #prog-gaze-section.gaze-tier-low #prog-gaze-charts{opacity:.58}
  #prog-gaze-section.gaze-tier-none .radar-wrap,
  #prog-gaze-section.gaze-tier-none #prog-gaze-table,
  #prog-gaze-section.gaze-tier-none #prog-gaze-phases,
  #prog-gaze-section.gaze-tier-none #prog-gaze-charts,
  #prog-gaze-section.gaze-tier-none #prog-gaze-viz{display:none}
  .gaze-viz-block.hidden{display:none!important}
  .gaze-viz-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:12px 0}
  .gaze-viz-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}
  .gaze-viz-select{min-width:120px;padding:6px 8px;font-size:12px}
  .gaze-viz-select--session{min-width:200px;max-width:min(100%,340px)}
  .gaze-viz-btn{padding:6px 12px;font-size:12px;width:auto}
  .gaze-viz-canvas-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--field);flex:1;min-width:0}
  .gaze-viz-canvas{display:block;width:100%;height:auto;max-height:min(62vh,720px)}
  .gaze-viz-stage{display:flex;gap:12px;align-items:flex-start}
  .gaze-viz-dist-panel{display:flex;flex-direction:column;flex-shrink:0;width:min(240px,32vw);min-width:200px;height:var(--gaze-viz-panel-h,auto);max-height:var(--gaze-viz-panel-h,none);min-height:0;border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow:hidden}
  .gaze-viz-dist-head{display:grid;grid-template-columns:52px repeat(3,1fr);gap:4px;padding:8px 10px;font-size:10px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);text-align:right;flex-shrink:0}
  .gaze-viz-dist-head span:first-child{text-align:left}
  .gaze-viz-dist-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;font-family:ui-monospace,Menlo,monospace;font-size:11px;line-height:1.45;-webkit-overflow-scrolling:touch}
  .gaze-viz-dist-line{display:grid;grid-template-columns:52px repeat(3,1fr);gap:4px;padding:3px 10px;color:var(--text);text-align:right;border-left:3px solid transparent}
  .gaze-viz-dist-line:nth-child(even){background:rgba(255,255,255,0.03)}
  .gaze-viz-dist-line.active{border-left-color:var(--accent);background:rgba(63,127,223,0.12)}
  .gaze-viz-dist-line.paused{background:rgba(184,134,11,0.18);border-left-color:#b8860b}
  .gaze-viz-dist-t{text-align:left;color:var(--muted)}
  .gaze-viz-dist-empty{padding:12px;font-size:11px;color:var(--muted);line-height:1.45}
  .gaze-viz-dist-hint{margin:6px 0 0;font-size:10px}
  @media(max-width:820px){.gaze-viz-stage{flex-direction:column}.gaze-viz-dist-panel{width:100%;max-width:none}}
  .gaze-viz-legend{display:flex;gap:14px;margin-top:8px;font-size:11px;color:var(--muted)}
  .gaze-viz-leg::before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c);margin-right:5px;vertical-align:middle}
  .gaze-deg-note{font-size:11px;color:var(--muted);margin:8px 0 0;line-height:1.5}
  .gaze-overlay.gaze-focus-mode .gaze-video-wrap,
  .gaze-overlay.gaze-focus-mode .gaze-coach-list,
  .gaze-overlay.gaze-focus-mode .gaze-face-guide{opacity:.15;pointer-events:none}
  .gaze-overlay.gaze-focus-mode .gaze-sidebar h2,
  .gaze-overlay.gaze-focus-mode #gaze-sub{font-size:14px;line-height:1.55}
  /* Açık tema düzeltmeleri — koyu temaya göre ayarlanmış renklerin okunur karşılıkları */
  html:not(.dark) .badge-st-assessment{color:#7c4dbe}
  html:not(.dark) .badge-st-training{color:#2f8f5f}
  html:not(.dark) .badge-st-monitoring{color:#b57400}
  html:not(.dark) .help-academy-teaser-title{color:#7c4dbe}
  html:not(.dark) .gaze-coach-list li.warn{color:#b57400}
  html:not(.dark) .gaze-calib-mono-note{color:#b57400}
  /* Literatür hücresi: nowrap genel kuralını ez, metin hücre içinde kalsın */
  .lit-cell{white-space:normal}
  /* Klavye erişilebilirliği — tüm etkileşimli öğelerde görünür odak halkası */
  .btn:focus-visible,.ptab:focus-visible,.rtab:focus-visible,.mpill:focus-visible,
  .app-nav-btn:focus-visible,.help-tab:focus-visible,.term-btn:focus-visible,
  .tier-card:focus-visible{outline:2px solid #3f7fdf;outline-offset:2px}

/* ── Ev antrenmanı — katılımcı (kiosk) modu ─────────────────────────── */
body.kiosk .app-nav,body.kiosk #backup-setup-overlay,body.kiosk .lang-switch{display:none !important}
#kiosk-root{position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:28px;background:var(--bg);padding:24px}
#kiosk-root.hidden{display:none}
.kiosk-brand{text-align:center}
.kiosk-logo{font-size:34px;font-weight:800;letter-spacing:6px;color:var(--accent)}
.kiosk-sub{font-size:14px;color:var(--muted);margin-top:4px}
.kiosk-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;
  padding:34px 40px;max-width:460px;width:100%;text-align:center;
  box-shadow:0 12px 40px rgba(0,0,0,.18)}
.kiosk-hello{font-size:15px;color:var(--muted)}
.kiosk-name{font-size:28px;font-weight:700;margin:6px 0 2px}
.kiosk-org{font-size:13px;color:var(--muted);margin-bottom:8px}
/* Deneme modu şeridi (App Store 3.2: davetsiz genel kitle kullanımı) */
.kiosk-demo-note{background:#2a2f1a;border:1px solid #6FCF4F;color:#dcecc9;border-radius:10px;
  padding:10px 12px;font-size:13px;line-height:1.45;margin-bottom:14px;text-align:left}
.kiosk-proto{display:flex;flex-direction:column;gap:4px;margin:20px 0 26px;
  padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--field)}
.kiosk-proto-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.kiosk-proto-name{font-size:17px;font-weight:600}
.kiosk-proto-info{font-size:13px;color:var(--muted)}
.kiosk-start{width:100%;padding:18px;font-size:20px;font-weight:700;border:none;
  border-radius:14px;background:var(--accent);color:#fff;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.kiosk-start:active{background:var(--accent2)}
.kiosk-start:disabled{opacity:.6}
.kiosk-status{margin-top:16px;font-size:13px;color:var(--muted);min-height:18px}
.pr-link-warn{font-size:12px;color:#d98a2b;margin:0 6px;cursor:help}
/* Telefon (kiosk): dar ekran sıkılaştırma + oyun sırasında dikey tutuşta uyarı */
#kiosk-rotate{display:none}
/* Başlatma öncesi döndürme kapısı: her yönelimde görünür (JS kaldırır) */
#kiosk-rotate-gate{position:fixed;inset:0;z-index:960;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;background:var(--bg);color:var(--text);
  font-size:19px;font-weight:600;text-align:center;padding:24px}
#kiosk-rotate-gate.hidden{display:none}
.kiosk-brief-nums{font-size:17px;font-weight:700;margin:6px 0 12px}
.kiosk-brief-steps{text-align:left;color:var(--muted);font-size:14px;line-height:1.7;
  margin:0 0 18px;padding-left:22px}
@media (orientation:portrait){
  body.kiosk-phone.in-game #kiosk-rotate{display:flex;position:fixed;inset:0;z-index:950;
    flex-direction:column;align-items:center;justify-content:center;gap:14px;
    background:var(--bg);color:var(--text);font-size:19px;font-weight:600;text-align:center;padding:24px}
  .kiosk-rotate-icon{font-size:44px}
}
@media (max-width:480px){
  #kiosk-root{padding:14px}
  .kiosk-card{padding:18px;border-radius:14px}
  .kiosk-logo{font-size:26px;letter-spacing:4px}
  .kiosk-name{font-size:22px}
  .kiosk-start{padding:15px;font-size:18px}
}
.kiosk-status-pending{color:#d98a2b}
.kiosk-error h2{color:#c0392b;margin-bottom:8px}
.kiosk-home{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:950;
  padding:14px 34px;font-size:17px;font-weight:600;border:none;border-radius:12px;
  background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.kiosk-home.hidden{display:none}

/* ── Ev antrenmanı — antrenör tarafı ───────────────────────────────── */
.badge-remote{background:#7b5cd6;color:#fff}
#remote-link-overlay{position:fixed;inset:0;z-index:960;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;padding:20px}
.remote-dialog{position:relative;background:var(--panel);border:1px solid var(--border);
  border-radius:16px;padding:26px 30px;max-width:520px;width:100%;max-height:92vh;overflow:auto}
.remote-close{position:absolute;top:10px;right:14px;border:none;background:none;
  font-size:26px;color:var(--muted);cursor:pointer;line-height:1}
.remote-name{font-size:18px;font-weight:600;margin:6px 0 14px}
.remote-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px}
.remote-field input,.remote-field select{padding:9px 10px;border:1px solid var(--border);
  border-radius:8px;background:var(--field);color:var(--text);font-size:14px}
.remote-row{display:flex;gap:12px}
.remote-row .remote-field{flex:1}
.remote-days{max-width:120px}
#remote-result{margin-top:16px;text-align:center}
#remote-result.hidden{display:none}
#remote-qr{display:block;margin:0 auto 12px;border:1px solid var(--border);border-radius:8px;
  max-width:100%}
#remote-qr.hidden{display:none}
#remote-link{width:100%;font-size:11px;font-family:monospace;padding:8px;
  border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--text);
  resize:none;word-break:break-all}
.remote-actions{margin:10px 0}
.remote-err{color:#c0392b;font-size:13px;min-height:16px;margin-top:8px}
.remote-toast{position:fixed;right:22px;bottom:22px;z-index:970;background:#7b5cd6;color:#fff;
  padding:13px 20px;border-radius:12px;font-size:14px;font-weight:600;
  box-shadow:0 8px 26px rgba(0,0,0,.3);opacity:0;transform:translateY(12px);
  transition:all .35s ease}
.remote-toast.show{opacity:1;transform:none}
.kiosk-exit{position:fixed;right:14px;bottom:12px;border:none;background:none;
  color:var(--muted);font-size:11px;cursor:pointer;opacity:.55;text-decoration:underline}

/* Oyun bazlı analiz — ilk/son karşılaştırma renkleri + antrenman seçici */
.prog-run-picker{max-width:420px;margin:0 0 14px}
.prog-fl-good{color:var(--accent);font-weight:600}
.prog-fl-bad{color:#d9622b;font-weight:600}

/* ── Antrenman Programı sekmesi ────────────────────────────────────── */
.pr-toolbar{margin:12px 0}
.pr-card{border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px;background:var(--panel)}
.pr-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pr-card-name{font-size:16px;font-weight:700}
.pr-card-meta{font-size:12px;color:var(--muted)}
.pr-card-blocks{font-size:13px;color:var(--muted);margin:6px 0 10px;font-family:monospace}
.pr-card-actions{display:flex;gap:8px}
.pr-editor-card{border:1px solid var(--accent);border-radius:12px;padding:18px;margin:12px 0;background:var(--panel)}
.pr-name-label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:12px}
.pr-name-label input{padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--text);font-size:14px;max-width:420px}
.pr-base,.pr-block{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px 12px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--field)}
.pr-base-label,.pr-block-no{font-size:12px;font-weight:700;color:var(--muted);grid-column:1/-1}
.pr-mini{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}
.pr-mini input,.pr-mini select{width:100%;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text)}
.pr-block-del{margin-left:auto}
.pr-editor-actions{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.pr-total{font-size:13px;color:var(--accent);font-weight:600;margin-right:auto}
.pr-roster{max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:8px;margin-bottom:10px}
.pr-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 10px;max-height:340px}
.pr-person{display:flex;gap:6px;align-items:center;padding:4px 6px;min-width:0}
.pr-person-check{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pr-contact-state{color:var(--accent);font-size:12px;flex:0 0 auto}
.pr-contact-inline{flex:1;min-width:90px;padding:4px 8px!important;font-size:12px!important}
.pr-ch-row{display:flex;gap:16px;align-items:center;margin:6px 0 2px;font-size:14px}
.pr-ch-row>span{color:var(--muted);font-size:12px;font-weight:700}
#pr-sel-count{min-height:18px}
.pr-person-check{flex:1;min-width:150px;font-size:14px}
.pr-person-email,.pr-person-phone{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--text);font-size:12px;width:180px}
.pr-person-phone{width:130px}
.pr-link-row{display:flex;gap:8px;align-items:center;padding:7px 6px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.pr-link-name{flex:1;min-width:140px;font-weight:600;font-size:14px}
.pr-track-title{margin-top:26px}
.pr-track-filter{margin-bottom:10px;font-size:13px;color:var(--muted)}
.pr-track-filter select{padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--text);margin-left:6px}
.pr-done-yes{color:var(--accent);font-weight:700}
.pr-done-no{color:var(--muted)}
.pr-mode-row{display:flex;gap:18px;font-size:13px;margin:8px 0}
.pr-plan-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.pr-plan-no{font-size:12px;color:var(--muted);min-width:18px}
.pr-plan-row select{padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--text)}
#pr-plan-box{border:1px dashed var(--border);border-radius:10px;padding:10px;margin-bottom:10px}
#pr-plan-box.hidden{display:none}
.kiosk-plan-row{display:grid;grid-template-columns:20px 84px 1fr;gap:6px;text-align:left;font-size:14px;padding:3px 0}
.kiosk-plan-done{color:var(--muted);text-decoration:line-through}
.kiosk-plan-next{color:var(--accent);font-weight:700}
.kiosk-plan-wait{color:var(--muted)}
.pr-ai-action{margin:14px 0 8px;padding:12px 14px;border-radius:10px;background:var(--field);
  border-left:4px solid var(--accent);font-size:15px}
.pr-ai-recs{margin:6px 0;padding-left:20px;font-size:13.5px;line-height:1.55;color:var(--text)}
body.kiosk #app-chrome,body.kiosk #localhost-gate{display:none !important}
/* Program editörü: seçim düzeni dar kalmasın, blok silme × taşmasın */
.pr-mini select{width:100%}

/* Kiosk hafta görünümü: bugün yeşil, bekleyen kırmızı, tamamlanan gri */
.kiosk-week .kiosk-plan-row{padding:9px 6px;border-radius:8px;font-size:15px}
.kiosk-plan-today{color:#6fcf4f !important;font-weight:700;cursor:pointer;background:rgba(111,207,79,.10);
  border:1px solid rgba(111,207,79,.4)}
.kiosk-plan-wait{color:#e0483b !important}
.kiosk-day-tag{margin-left:8px;font-size:10px;letter-spacing:1px;padding:2px 7px;border-radius:6px;
  background:#6fcf4f;color:#10131a;font-weight:800}
.kiosk-detail{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--field)}
.kiosk-detail.hidden{display:none}
.kiosk-detail-name{font-size:18px;font-weight:700;margin-bottom:4px}
.kiosk-detail-info{font-size:13px;color:var(--muted);margin-bottom:8px}
.kiosk-detail-blocks{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.kiosk-blok{font-size:12.5px;color:var(--text)}
.pr-lib-title{margin-top:8px}
.pr-roster{max-height:none}
.research-row{margin-top:22px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--field)}
.research-toggle{display:flex;gap:12px;align-items:flex-start;font-size:14px;cursor:pointer}
.research-toggle input{margin-top:4px}
/* Kiosk: özet ekranından ana uygulamaya çıkış yolları kapalı */
body.kiosk #btn-sum-analiz,body.kiosk #btn-sum-html,body.kiosk .club-only,
body.kiosk #screen-summary .btn:not(.kiosk-start){display:none !important}
/* Kiosk: günlük skor kartı */
.kiosk-scores{margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;
  background:var(--field);text-align:left}
.kiosk-score-run{margin-top:8px}
.kiosk-score-run:first-of-type{margin-top:6px}
.kiosk-score-name{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:2px}
.kiosk-score-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);padding:2px 0}
.kiosk-score-row span:last-child{color:#6fcf4f;font-weight:600}
/* Kompakt kütüphane listesi + takım rozetleri */
.app-nav-btn .nav-ico{margin-right:6px;font-size:14px}
/* Sığmayan sekme yazıları sağdan sola tek tek düşer (dinamik — app.js ölçer) */
.app-nav-btn.nav-iconly span[data-i18n]{display:none}
.app-nav-btn.nav-iconly .nav-ico{margin-right:0;font-size:17px}
.app-nav-btn.nav-iconly{padding:8px 11px}
.org-autolink{margin-top:10px;padding:10px 12px;border:1px solid var(--accent);border-radius:9px;
  font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.org-autolink a{color:var(--accent);word-break:break-all}
.pr-item{border:1px solid var(--border);border-radius:10px;margin-bottom:6px;background:var(--panel)}
.pr-item-row{display:flex;align-items:center;gap:12px;padding:10px 14px;min-width:0}
.pr-card-sum{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--muted);font-size:12px;font-family:monospace}
.pr-row-actions{display:flex;gap:6px;flex:0 0 auto;align-items:center}
@media(max-width:760px){.pr-item-row{flex-wrap:wrap}.pr-card-sum{flex-basis:100%;order:9}}
.pr-item-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer}
.pr-card-meta{display:flex;align-items:center;gap:10px;}
.pr-head-send{padding:4px 14px;font-size:12px;}
.pr-item-open{border-color:var(--accent)}
.pr-item-detail{padding:0 14px 12px}
.pr-chevron{margin-left:8px;color:var(--muted)}
.pr-teams{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.pr-team-chip{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:var(--field);
  color:var(--text);font-size:12.5px;cursor:pointer}
.pr-team-chip.pr-chip-on{border-color:var(--accent);color:var(--accent)}
.pr-chip-all,.pr-chip-none{color:var(--muted)}
/* Editör düzeni: taban ayarlar başlık + düzgün saran ızgara */





.pr-block .pr-mini input{width:76px}
.pr-block .pr-mini select{min-width:96px;width:auto}
.pr-block-no{flex:0 0 100%;min-width:0;font-size:12px;padding-bottom:2px}
.pr-block .pr-block-del{position:absolute;right:10px;top:8px;margin:0}
.pr-block{position:relative}

/* ── Gaze oturum sihirbazı ── */
#gaze-setup-overlay{position:fixed;inset:0;z-index:9990;background:rgba(8,10,15,.96);
  display:flex;align-items:center;justify-content:center;padding:20px}
.gaze-setup-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;
  padding:26px 30px;max-width:640px;width:100%;text-align:center}
.gaze-setup-card h2{margin:0 0 14px;font-size:20px}
.gz-preview-wrap{position:relative;width:min(480px,86%);margin:0 auto 10px;aspect-ratio:4/3;
  background:#000;border-radius:12px;overflow:hidden}
.gz-preview-wrap video,.gz-preview-wrap img{width:100%;height:100%;object-fit:cover}
.gz-face-circle{position:absolute;left:50%;top:50%;width:56%;height:74%;
  transform:translate(-50%,-50%);border:2px dashed rgba(111,207,79,.75);border-radius:50%;pointer-events:none}
.gz-list{text-align:left;margin:8px auto;max-width:470px;line-height:1.9;font-size:15px}
.gaze-setup-actions{display:flex;gap:10px;margin-top:16px}
.gaze-setup-actions .btn{margin-top:0}

/* ── Psikometri paneli (Analiz → Oyuncu performansı) ── */
#prog-psychometrics{margin:22px 0 8px}
#prog-psychometrics h2{margin-bottom:4px}
.psy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 8px}
.psy-card{background:var(--field);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}
.psy-card.psy-ok{border-color:var(--accent)}
.psy-card.psy-warn{border-color:var(--border);opacity:.85}
.psy-v{font-size:22px;font-weight:800;color:var(--text);line-height:1.2;font-variant-numeric:tabular-nums}
.psy-v small{font-size:12px;font-weight:600;color:var(--muted)}
.psy-l{font-size:11px;color:var(--muted);margin-top:5px;font-weight:700;letter-spacing:.02em}
.psy-real{color:var(--accent)}
.psy-noise{color:var(--muted)}
.psy-note{font-size:11.5px;margin-top:6px}
#pr-bulk-box{margin:8px 0 14px;padding:12px;border:1px dashed var(--border);border-radius:10px}
#pr-bulk-box.hidden{display:none}
#pr-bulk-text{width:100%;font-family:Menlo,monospace;font-size:12px;background:var(--bg);
  color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px}
/* Gönderim paneli: büyük segment seçiciler + gönderildi/ulaşmadı işaretleri */
.pr-seg-grup{margin:14px 0}
.pr-seg-baslik{font-size:15px;font-weight:700;margin-bottom:8px}
.pr-seg{display:flex;gap:10px;flex-wrap:wrap}
.pr-seg-item{cursor:pointer}
.pr-seg-item input{display:none}
.pr-seg-item span{display:flex;flex-direction:column;align-items:center;gap:2px;
  min-width:150px;padding:14px 18px;border:2px solid var(--border);border-radius:12px;
  font-size:16px;font-weight:700;background:var(--panel)}
.pr-seg-item small{font-size:11px;font-weight:400;color:var(--muted)}
.pr-seg-item input:checked+span{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel));}
.pr-send-all{width:100%;padding:16px;font-size:17px;font-weight:800;margin:10px 0 6px}
.pr-person-sent{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}
.pr-sent-chip{font-size:11px;color:var(--accent);border:1px solid var(--accent);
  border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.pr-bounce-chip{font-size:11px;color:#e0483b;border:1px solid #e0483b;
  border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.bulk-file-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px;border:1px dashed var(--border);border-radius:10px;margin-bottom:14px}
.bulk-file-title{font-weight:700}
.bulk-file-hint{flex-basis:100%;margin:0}
.pr-relay-durum{font-size:12px;margin-top:4px;color:var(--muted)}
.pr-relay-ok{color:var(--accent)}
.pr-relay-bad{color:#e0483b;font-weight:600}

/* §3b lisans talep kutusu — cihaz no yazışması yerine tek düğme */
.lic-talep-box{margin-top:16px;padding:14px;border:1px solid var(--line,#2a3242);
  border-radius:10px;background:rgba(111,207,79,.06)}
.lic-talep-box .lic-talep-bekliyor{margin-top:8px;color:#6FCF4F}

/* §3g/2-6: kişiye özel QR kartı — yüz yüze oturumda bağlantı hiç iletilmez */
.pr-qr-overlay{position:fixed;inset:0;background:rgba(6,8,12,.88);display:flex;align-items:center;justify-content:center;z-index:1200;cursor:pointer}
.pr-qr-card{background:#fff;color:#111;border-radius:16px;padding:26px 30px;text-align:center;max-width:min(440px,92vw)}
.pr-qr-card canvas{width:min(360px,80vw);height:auto;image-rendering:pixelated}
.pr-qr-name{font-size:26px;font-weight:800;margin-bottom:12px}
.pr-qr-card .sub{color:#555;margin-top:10px}
/* §3g/2-3: katılımcı kendi adını doğrular */
.kiosk-name-check{font-size:13px;color:var(--muted,#9aa3ad);margin:2px 0 10px}
/* §3g gönderim kuyruğu */
.pr-kuyruk{background:rgba(111,207,79,.08);border:1px solid var(--accent,#6FCF4F);border-radius:10px;padding:10px 12px;margin:10px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
.pr-run-send{font-size:17px;padding:13px 22px;margin-top:12px}
.pr-run-alt{margin-top:12px;display:flex;gap:8px;justify-content:center}
.pr-run-uyari{color:#c77f10}
