.upload{max-width:52rem;font-size:.93rem;line-height:1.55}.upload h2{font-size:1.02rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.upload-privacy{margin:.4rem 0 1rem;padding:.55rem .8rem;font-size:.86rem;border-left:3px solid var(--own);border-radius:4px;background:color-mix(in srgb,var(--own) 10%,transparent)}.upload-privacy strong{color:var(--light);font-weight:600}.upload-drop{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;border:2px dashed color-mix(in srgb,var(--own) 60%,transparent);border-radius:10px;text-align:center;cursor:pointer;transition:background .15s,border-color .15s}.upload-drop:hover,.upload-drop.over,.upload-drop:focus-within{border-color:var(--own);background:color-mix(in srgb,var(--own) 8%,transparent)}.upload-drop.busy{opacity:.6;cursor:progress}.upload-drop-icon{font-size:1.5rem;line-height:1;color:var(--own)}.upload-drop-title{color:var(--light);font-weight:600}.upload-drop-note{font-size:.82rem;color:var(--muted)}.upload .upload-rules{margin-top:.6rem;font-size:.8rem;line-height:1.45;color:var(--muted)}.upload .upload-rules li+li{margin-top:.15rem}.upload-message{margin-top:.8rem;padding:.5rem .8rem;border-radius:4px}.upload-message.ok{background:color-mix(in srgb,#5fae6e 14%,transparent)}.upload-message.problem{background:color-mix(in srgb,#d0563c 16%,transparent)}.upload-table-frame{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 12px 30px -20px #00000073}.upload-table-frame:has(>.upload-table[hidden]){display:none}.upload-table{width:100%;border-collapse:collapse;font-size:.88rem}.upload-table th{padding:.65rem .9rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--own) 6%,transparent);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left}.upload-table td{padding:.7rem .9rem;vertical-align:middle}.upload-table tbody tr+tr td{border-top:1px solid var(--line)}.upload-table tbody tr{transition:background .15s}.upload-table tbody tr:hover{background:color-mix(in srgb,var(--own) 7%,transparent)}.upload-table .name{width:100%;word-break:break-all}.upload-table td.name a{display:inline-flex;align-items:center;gap:.65rem;color:var(--light);font-weight:600;text-decoration:none}.upload-table td.name a:hover,.upload-table td.name a:focus-visible{color:var(--own)}.upload-table td.name a:before{content:"PGN";flex:none;display:grid;place-items:center;width:2.3rem;height:1.7rem;border-radius:7px;background:color-mix(in srgb,var(--own) 16%,transparent);color:var(--own);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.62rem;font-weight:700;letter-spacing:.04em}.upload-table .date,.upload-table .time,.upload-table .size,.upload-table .games{white-space:nowrap}.upload-table td:is(.date,.time,.size,.games){font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted)}.upload-table td.games{color:var(--light);font-weight:700}.upload-table .size,.upload-table .games{text-align:right}.upload-table .remove{padding-left:.3rem;text-align:right}.upload-remove{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border:1px solid transparent;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.upload-remove svg{width:1.15rem;height:1.15rem}.upload-remove:hover,.upload-remove:focus-visible{border-color:color-mix(in srgb,#d0563c 45%,transparent);background:color-mix(in srgb,#d0563c 12%,transparent);color:#e7735a;outline:none}.upload-empty{color:var(--muted)}.upload-source-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem;margin:.5rem 0 0;padding:0;list-style:none}.upload .upload-source-links li+li{margin-top:0}.upload .upload-source{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.6rem;row-gap:0;height:100%;padding:.4rem 2.2rem .4rem .8rem;position:relative;border:1px solid color-mix(in srgb,var(--band-B) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--band-B) 9%,transparent);color:var(--band-B);text-decoration:none;transition:border-color .2s,background .2s}.upload .upload-source:after{content:"↗";position:absolute;top:50%;right:.8rem;font-size:1rem;transform:translateY(-50%);transition:transform .2s}.upload .upload-source:hover,.upload .upload-source:focus-visible{border-color:var(--band-B);background:color-mix(in srgb,var(--band-B) 16%,transparent)}.upload .upload-source:hover:after{transform:translate(2px,calc(-50% - 2px))}.upload-source-name{font-weight:700;font-size:.9rem}.upload-source-note{color:var(--muted);font-size:.8rem}.upload-sources p{font-size:.86rem}.upload section+section{margin-top:1.4rem}.upload ul.upload-source-links{padding-left:0}.upload .small{font-size:.82rem}.settings-parts{margin-bottom:1.4rem}.upload section[id]{scroll-margin-top:1rem}.backup-table td.course{width:100%}.backup-table td.course a{color:var(--light);font-weight:600;text-decoration:none}.backup-table td.course a:hover,.backup-table td.course a:focus-visible{color:var(--own)}.backup-table :is(th,td):is(.sure,.shaky,.lines,.last){white-space:nowrap;text-align:right}.backup-table td:is(.sure,.shaky,.lines,.last){font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted)}.backup-table td.sure{color:#5f9a4e;font-weight:700}.backup-table td.shaky{color:#c9951c;font-weight:700}.backup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}.backup-check{display:inline-flex;align-items:center;gap:.4rem;margin-right:auto;font-size:.86rem;color:var(--muted);cursor:pointer}.backup-button{display:inline-flex;align-items:center;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--light);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.backup-button:hover,.backup-button:focus-within,.backup-button:focus-visible{border-color:var(--own);color:var(--own)}.backup-button.primary{border-color:var(--own);background:var(--own);color:#fff}.backup-button.primary:hover,.backup-button.primary:focus-visible{background:color-mix(in srgb,var(--own) 85%,#000);color:#fff}.backup-load{position:relative}.backup-button[hidden]{display:none}.backup-last{margin-top:.6rem;font-size:.82rem;color:var(--muted)}.backup-last.remind{color:var(--own);font-weight:600}.upload-backup h3{margin:1.2rem 0 .3rem;font-size:.92rem}.backup-link{margin-top:1.4rem}.backup-link>p{font-size:.86rem;color:var(--muted)}.link-box{margin-top:.8rem}.link-qr{width:min(30rem,100%);padding:.6rem;border:1px solid var(--line);border-radius:12px;background:#fff}.link-qr svg{display:block;width:100%;height:auto}.link-row{display:flex;gap:.5rem;margin-top:.7rem}.link-field{flex:1;min-width:0;padding:.4rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font:.78rem ui-monospace,SF Mono,Menlo,Consolas,monospace}.link-note{margin-top:.5rem;font-size:.78rem;color:var(--muted)}.link-incoming{margin:.6rem 0 1rem;padding:.8rem 1rem;border:1px solid var(--own);border-radius:12px;background:color-mix(in srgb,var(--own) 8%,transparent)}.link-incoming .backup-actions{margin-top:.6rem}.upload .backup-keep{margin:0;font-size:.86rem;color:var(--muted)}.backup-keep li+li{margin-top:.4rem}.backup-keep .backup-button{margin-left:.4rem;padding:.2rem .8rem;font-size:.8rem}.backup-good{color:#5f9a4e;font-weight:600}.backup-clear{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}.backup-clear:hover,.backup-clear:focus-visible{color:#d0563c}@media (max-width: 640px){.upload-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.upload-table,.upload-table tbody{display:block}.upload-table tr{display:flex;flex-wrap:wrap;align-items:center;column-gap:.7rem;row-gap:.15rem;padding:.7rem .9rem}.upload-table tbody tr+tr{border-top:1px solid var(--line)}.upload-table tbody tr+tr td{border-top:0}.upload-table td{padding:0;border:0}.upload-table td.name{flex:1 1 calc(100% - 4rem);min-width:0;width:auto;word-break:normal;overflow-wrap:anywhere;font-size:.92rem}.upload-table td.remove{order:1;flex:none}.upload-table td:is(.date,.time,.size,.games){order:2;font-size:.78rem;color:var(--muted);text-align:left}.upload-table td:is(.size,.games):before{content:attr(data-label) ": "}.backup-table td.course{flex:1 1 100%}.backup-table td:is(.sure,.shaky,.lines,.last){order:2;text-align:left}.backup-table td:is(.sure,.shaky,.lines,.last):before{content:attr(data-label) ": ";font-weight:400;color:var(--muted)}.backup-check{margin-right:0;flex:1 1 100%}}
