:root{color:#f2f3f4;font-synthesis:none;text-rendering:optimizelegibility;background:#0b0d0e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#1c211f 0,#0b0d0e 44rem);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.app-shell{width:min(1760px,100% - 32px);margin:0 auto;padding:42px 0 80px}.hero{justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:28px;display:flex}.eyebrow,.panel-kicker{color:#c9a95b;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1{letter-spacing:-.035em;margin:0;font-size:clamp(30px,4vw,54px);line-height:1}.subtitle{color:#aeb5b2;max-width:860px;line-height:1.7}.status{color:#9ca3a0;white-space:nowrap;background:#0b0d0eb3;border:1px solid #343b39;border-radius:999px;padding:10px 14px}.status.ok{color:#d5ecbd;background:#48612b2e;border-color:#627c44}.status.review{color:#ead7a5;background:#78622e24;border-color:#78622e}.drop-zone{text-align:center;cursor:pointer;background:#141817bd;border:1px dashed #505956;border-radius:18px;place-content:center;gap:8px;min-height:148px;transition:all .18s;display:grid}.drop-zone:hover,.drop-zone.dragging{background:#c9a95b14;border-color:#c9a95b;transform:translateY(-1px)}.drop-zone strong{font-size:18px}.drop-zone span{color:#8f9794;font-size:13px}.workspace{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;margin-top:18px;display:grid}.panel{background:#0f1211e6;border:1px solid #292f2d;border-radius:18px;overflow:hidden;box-shadow:0 16px 48px #0000002e}.panel-heading{border-bottom:1px solid #252b29;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.panel-heading h2{margin:0;font-size:18px}.image-frame{background:#050606;padding:14px}.image-frame img{border-radius:8px;width:100%;height:auto;display:block}.metrics{background:#252b29;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.metrics>div{background:#111413;flex-direction:column;justify-content:center;min-height:118px;padding:20px;display:flex}.metrics span{color:#7f8985;font-size:12px}.metrics strong{margin-top:6px;font-size:24px}.metrics small{color:#9ca4a1;margin-top:4px}.warning-box{color:#e9d5a1;background:#715d2d21;border:1px solid #715d2d;border-radius:10px;margin:16px;padding:12px 14px}.warning-box p{margin:0}.warning-box p+p{margin-top:8px}.crops-panel{margin-top:18px}.review-heading{align-items:flex-end}.review-subtitle{color:#7f8985;margin:6px 0 0;font-size:13px}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.secondary-button,.primary-button{cursor:pointer;border:1px solid #3a423f;border-radius:9px;padding:9px 13px;transition:all .15s}.secondary-button{color:#d5d9d7;background:#171b1a}.secondary-button:hover{background:#1e2422;border-color:#6b7772}.primary-button{color:#17130a;background:#d2b666;border-color:#d2b666;font-weight:800}.primary-button:hover:not(:disabled){background:#e0c477;transform:translateY(-1px)}.primary-button:disabled{opacity:.42;cursor:not-allowed}.review-summary{background:#252b29;border-bottom:1px solid #252b29;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.review-summary>div{background:#111413;flex-direction:column;justify-content:center;min-height:82px;padding:14px 20px;display:flex}.review-summary span{color:#7f8985;font-size:12px}.review-summary strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:22px}.crop-list{display:grid}.crop-row.review-row{border-top:1px solid #242a28;grid-template-columns:54px minmax(170px,1fr) 150px 170px 160px 92px;align-items:center;gap:14px;min-height:82px;padding:12px 20px;transition:opacity .15s,background .15s;display:grid}.crop-row:first-child{border-top:0}.crop-row.review-row.needs-review{background:#78622e0b}.crop-row.review-row.not-selected{opacity:.55}.row-select{color:#626b67;cursor:pointer;align-items:center;gap:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.row-select input{accent-color:#c9a95b;width:17px;height:17px}.row-name{flex-direction:column;gap:3px;display:flex}.row-name span{color:#77817d;font-size:12px}.detected-value{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;display:grid}.detected-value>span:first-child{color:#7f8985;grid-column:1/-1;font-size:11px}.detected-value>strong{font-variant-numeric:tabular-nums;font-size:17px}.crop-preview{background:#030404;border:1px solid #2b302e;border-radius:7px;place-items:center;width:155px;height:48px;display:grid;overflow:hidden}.crop-preview img{image-rendering:auto;max-width:100%;max-height:100%}.recognition-badge{text-align:center;border:1px solid #3d4542;border-radius:999px;min-width:45px;padding:4px 6px;font-size:10px;font-weight:800}.recognition-badge.good,.state-badge.good{color:#d5ecbd;background:#48612b2e;border-color:#627c44}.recognition-badge.warn,.state-badge.warn{color:#ead7a5;background:#78622e29;border-color:#78622e}.recognition-badge.bad,.state-badge.bad{color:#efb7ad;background:#7b413929;border-color:#7b4139}.edit-value{flex-direction:column;gap:5px;display:flex}.edit-value>label{color:#7f8985;font-size:11px}.edit-value-control{align-items:center;gap:7px;display:flex}.edit-value-control input{color:#f2f3f4;font-variant-numeric:tabular-nums;background:#0b0e0d;border:1px solid #39413e;border-radius:7px;outline:none;width:78px;padding:8px 9px;font-weight:800}.edit-value-control input:focus{border-color:#c9a95b;box-shadow:0 0 0 2px #c9a95b1f}.edit-value-control input.corrected{background:#806a3214;border-color:#806a32}.edit-value-control input.invalid{background:#8a453d1a;border-color:#8a453d}.edit-value-control span{color:#8e9793;font-size:13px}.edit-value small{color:#c8af6b;font-size:10px}.edit-value small.input-error{color:#e4a298}.review-state{justify-content:flex-end;display:flex}.state-badge{text-align:center;border:1px solid #3d4542;border-radius:999px;min-width:74px;padding:5px 8px;font-size:10px;font-weight:800}.state-badge.corrected{color:#d9c98e;background:#76662f29;border-color:#76662f}.row-warning{color:#d8c99f;background:#78622e14;border-left:2px solid #78622e;grid-column:2/-1;margin-top:-3px;padding:7px 10px;font-size:12px}.confirm-bar{background:#0d100f;border-top:1px solid #2a302e;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.confirm-bar>div{flex-direction:column;gap:4px;display:flex}.confirm-bar>div>span{color:#7f8985;font-size:12px}.confirmed-panel{background:#48612b17;border-color:#536b3b;align-items:center;gap:18px;margin-top:18px;padding:22px;display:flex}.confirmed-panel h2{margin:0;font-size:19px}.confirmed-panel p:last-child{color:#9fa9a4;margin:7px 0 0}.confirmed-mark{color:#d5ecbd;background:#6b8b432e;border:1px solid #627c44;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:23px;font-weight:900;display:grid}@media (width<=1180px){.crop-row.review-row{grid-template-columns:44px minmax(170px,1fr) 145px 155px 150px}.review-state{grid-column:2/-1;justify-content:flex-start}}@media (width<=980px){.hero{flex-direction:column}.workspace{grid-template-columns:1fr}.review-heading{flex-direction:column;align-items:flex-start}.review-actions{justify-content:flex-start}.crop-row.review-row{grid-template-columns:40px minmax(160px,1fr) 140px 150px}.edit-value,.review-state{grid-column:auto}.review-state{justify-content:flex-start}.row-warning{grid-column:2/-1}}@media (width<=720px){.app-shell{width:min(100% - 20px,1760px);padding-top:24px}.metrics,.review-summary{grid-template-columns:1fr 1fr}.crop-row.review-row{grid-template-columns:34px 1fr}.detected-value,.crop-preview,.edit-value,.review-state,.row-warning{grid-column:2}.crop-preview{justify-content:start;width:100%;padding-left:8px}.confirm-bar{flex-direction:column;align-items:stretch}.primary-button{width:100%}}.player-strip{margin-bottom:18px;padding:16px 18px}.player-strip-main{grid-template-columns:minmax(180px,1fr) minmax(180px,260px) minmax(260px,1fr);align-items:end;gap:14px;display:grid}.player-strip-main h2{margin:0;font-size:18px}.player-strip select,.add-player input{color:#f2f3f4;background:#0b0e0d;border:1px solid #39413e;border-radius:9px;outline:none;width:100%;min-height:40px;padding:8px 10px}.player-strip select:focus,.add-player input:focus{border-color:#c9a95b;box-shadow:0 0 0 2px #c9a95b1f}.add-player{grid-template-columns:1fr auto;gap:8px;display:grid}.add-player .secondary-button:disabled{opacity:.4;cursor:not-allowed}.player-strip-meta{color:#77817d;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;display:flex}.global-error{color:#efb7ad;background:#7b41391f;border:1px solid #7b4139;border-radius:10px;margin:-4px 0 18px;padding:11px 14px}.save-panel{margin-top:18px}.save-heading{align-items:flex-end}.selected-player-chip{background:#48612b17;border:1px solid #4b563d;border-radius:10px;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;display:flex}.selected-player-chip span{color:#819078;font-size:10px}.selected-player-chip strong{color:#d5ecbd}.empty-save-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:42px 20px;display:flex}.empty-save-state span{color:#7f8985;font-size:12px}.diff-summary{background:#252b29;border-bottom:1px solid #252b29;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.diff-summary>div{background:#111413;flex-direction:column;justify-content:center;min-height:76px;padding:12px 18px;display:flex}.diff-summary span{color:#7f8985;font-size:11px}.diff-summary strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:21px}.diff-list{display:grid}.diff-row{border-top:1px solid #242a28;grid-template-columns:minmax(180px,1fr) 240px 100px;align-items:center;gap:18px;min-height:64px;padding:10px 20px;display:grid}.diff-row:first-child{border-top:0}.diff-row.up{background:#48612b0b}.diff-row.down{background:#7b41390b}.diff-row.new{background:#495b6e0b}.diff-name{flex-direction:column;gap:2px;display:flex}.diff-name span{color:#77817d;font-size:11px}.diff-values{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:9px;display:flex}.diff-values strong{font-size:19px}.previous-value{color:#808885}.diff-arrow{color:#535c58}.diff-max{color:#77817d;font-size:12px}.diff-state{justify-content:flex-end;display:flex}.diff-badge{text-align:center;border:1px solid #3d4542;border-radius:999px;min-width:68px;padding:5px 7px;font-size:10px;font-weight:800}.diff-badge.up{color:#d5ecbd;background:#48612b2e;border-color:#627c44}.diff-badge.down{color:#efb7ad;background:#7b413929;border-color:#7b4139}.diff-badge.new{color:#bed3e6;background:#4c657b24;border-color:#4c657b}.diff-badge.same{color:#8f9794;background:#151918;border-color:#3d4542}.save-confirm-bar{border-top:1px solid #2a302e}@media (width<=900px){.player-strip-main{grid-template-columns:1fr 1fr}.player-strip-main>div:first-child{grid-column:1/-1}.diff-summary{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.player-strip-main{grid-template-columns:1fr}.player-strip-main>div:first-child{grid-column:auto}.add-player{grid-template-columns:1fr}.diff-summary{grid-template-columns:1fr 1fr}.diff-row{grid-template-columns:1fr auto;gap:8px 12px}.diff-values{grid-column:1;justify-content:flex-start}.diff-state{grid-area:1/2/span 2;align-self:center}}.cloud-panel{margin:18px 0;padding:18px}.cloud-disabled{justify-content:space-between;align-items:center;gap:20px;display:flex}.cloud-disabled h2,.cloud-header h2{margin:0;font-size:19px}.cloud-disabled p:last-child,.cloud-header p:last-child{color:#8e9793;margin:6px 0 0;font-size:13px;line-height:1.55}.cloud-badge{letter-spacing:.08em;white-space:nowrap;border:1px solid #3d4542;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.cloud-badge.off{color:#8f9794}.cloud-badge.ready{color:#bed3e6;background:#4c657b21;border-color:#4c657b}.cloud-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.room-mode-tabs{gap:6px;margin:18px 0 12px;display:flex}.room-mode-tabs button{color:#8f9794;cursor:pointer;background:#111413;border:1px solid #343b39;border-radius:8px;padding:8px 12px}.room-mode-tabs button.active{color:#ead7a5;background:#c9a95b14;border-color:#c9a95b}.room-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.room-form label{flex-direction:column;gap:5px;display:flex}.room-form label>span{color:#7f8985;font-size:11px}.room-form input{color:#f2f3f4;background:#0b0e0d;border:1px solid #39413e;border-radius:9px;outline:none;min-height:40px;padding:8px 10px}.room-form input:focus{border-color:#c9a95b;box-shadow:0 0 0 2px #c9a95b1f}.join-code-input{letter-spacing:.14em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cloud-error{color:#efb7ad;background:#7b41391c;border:1px solid #7b4139;border-radius:8px;margin-top:12px;padding:9px 11px;font-size:12px}.room-code-box{background:#4c657b17;border:1px solid #4c657b;border-radius:10px;grid-template-columns:auto auto;align-items:center;gap:2px 10px;padding:9px 11px;display:grid}.room-code-box>span{color:#7991a5;letter-spacing:.12em;grid-column:1/-1;font-size:9px}.room-code-box strong{letter-spacing:.12em;color:#d9e6f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.room-code-box button,.text-button{color:#8fb6d4;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.cloud-status-row{color:#7f8985;border-top:1px solid #252b29;border-bottom:1px solid #252b29;flex-wrap:wrap;align-items:center;gap:9px 14px;margin:16px -18px 0;padding:11px 18px;font-size:11px;display:flex}.cloud-status-row strong{color:#c6ceca}.cloud-status-row .text-button{margin-left:auto}.cloud-dot{background:#6d443e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #6d443e1f}.cloud-dot.online{background:#75964b;box-shadow:0 0 0 3px #75964b1f}.team-live-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px;display:grid}.team-player-card{background:#0d100f;border:1px solid #2b312f;border-radius:10px;padding:12px}.team-player-card.self{background:#48612b0e;border-color:#536b3b}.team-player-heading{align-items:center;gap:8px;display:flex}.team-player-heading>span{color:#b8d39d;border:1px solid #627c44;border-radius:999px;padding:2px 5px;font-size:8px;font-weight:900}.team-player-meta{color:#6f7975;gap:10px;margin-top:3px;font-size:10px;display:flex}.team-progress-preview{gap:4px;margin-top:10px;display:grid}.team-progress-preview>div{justify-content:space-between;gap:14px;font-size:11px;display:flex}.team-progress-preview>div>span{color:#9ba39f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-progress-preview>div>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.team-progress-preview small,.empty-progress{color:#66706c;font-size:10px}@media (width<=760px){.cloud-disabled,.cloud-header{flex-direction:column}.room-form{grid-template-columns:1fr}.room-code-box{align-self:stretch}.cloud-status-row .text-button{margin-left:0}}.book-volume-detection{background:#0c0f0e;border:1px solid #3a403d;border-radius:12px;margin:16px;overflow:hidden}.book-volume-heading{border-bottom:1px solid #282e2b;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.book-volume-heading>div:first-child{flex-direction:column;gap:3px;display:flex}.book-volume-heading span,.book-volume-heading small{color:#7f8985;font-size:10px}.book-volume-heading>div:first-child>strong{font-size:17px}.book-count-check{background:#48612b14;border:1px solid #536b3b;border-radius:9px;grid-template-columns:auto auto;align-items:baseline;gap:1px 8px;padding:7px 10px;display:grid}.book-count-check>b{color:#b8d39d;text-align:right;grid-column:1/-1;font-size:10px}.book-count-check.mismatch{background:#7b41391a;border-color:#7b4139}.book-count-check.mismatch>b{color:#efb7ad}.book-volume-cells{scrollbar-gutter:stable;overscroll-behavior-x:contain;scroll-snap-type:x proximity;touch-action:pan-x;grid-template-columns:repeat(7,minmax(88px,1fr));gap:7px;padding:12px 12px 16px;display:grid;overflow:auto hidden}.book-volume-cell{scroll-snap-align:start;background:#121615;border:1px solid #363d3a;border-radius:9px;grid-template-columns:auto 1fr;align-content:center;gap:1px 6px;min-height:76px;padding:8px;display:grid}.book-volume-cell>span{color:#69736f;font-size:8px}.book-volume-cell>strong{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;justify-self:end;font-size:24px}.book-volume-cell>b{color:#8f9794;font-size:10px}.book-volume-cell>small{color:#65706b;grid-column:2;justify-self:end;font-size:9px}.book-volume-cell.read{background:#8c826421;border-color:#7b704a}.book-volume-cell.read>b{color:#dbc982}.book-volume-cell.unread{background:#101312;border-color:#343a38}.book-volume-cell.unknown{background:#7b41391a;border-color:#7b4139}.book-volume-cell.unknown>b{color:#efb7ad}.book-volume-note{color:#707a76;margin:0;padding:0 12px 12px;font-size:10px}@media (width<=900px){.book-volume-heading{flex-direction:column;align-items:flex-start}}.book-volume-review-panel{margin-top:18px}.book-volume-review-heading{align-items:flex-end}.book-volume-review-summary{background:#252b29;border-bottom:1px solid #252b29;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.book-volume-review-summary>div{background:#111413;flex-direction:column;justify-content:center;min-height:78px;padding:12px 18px;display:flex}.book-volume-review-summary span{color:#7f8985;font-size:11px}.book-volume-review-summary strong{margin-top:3px;font-size:21px}.book-ok{color:#cfe7b5}.book-ng{color:#efb7ad}.book-volume-review-cells{scrollbar-gutter:stable;overscroll-behavior-x:contain;grid-template-columns:repeat(7,minmax(96px,1fr));gap:8px;padding:14px;display:grid;overflow:auto hidden}.book-volume-toggle{color:#f2f3f4;text-align:left;cursor:pointer;background:#121615;border:1px solid #363d3a;border-radius:10px;grid-template-columns:auto 1fr;align-content:center;gap:2px 7px;min-height:94px;padding:10px;display:grid}.book-volume-toggle:hover{border-color:#69746f}.book-volume-toggle>span{color:#69736f;font-size:8px}.book-volume-toggle>strong{grid-area:1/2/span 2;justify-self:end;font-size:27px}.book-volume-toggle>b{font-size:11px}.book-volume-toggle>small{color:#65706b;grid-column:1/-1;font-size:9px}.book-volume-toggle.read{background:#8c826421;border-color:#7b704a}.book-volume-toggle.read>b{color:#dbc982}.book-volume-toggle.unread{background:#101312}.book-volume-toggle.unknown{background:#7b41391a;border-color:#7b4139}.book-volume-toggle.unknown>b{color:#efb7ad}.book-volume-toggle.changed{box-shadow:inset 0 0 0 1px #c9a95b}.book-volume-save-bar{background:#0d100f;border-top:1px solid #282e2b;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.book-volume-save-bar>div{flex-direction:column;gap:4px;display:flex}.book-volume-save-bar>div>span{color:#7f8985;font-size:11px}.book-volume-save-bar .book-save-success{color:#b8d39d}.book-volume-save-bar .book-save-error{color:#efb7ad}.team-book-mask-row{border-top:1px dashed #2d3431;margin-top:2px;padding-top:4px}.team-book-mask-row strong{color:#dbc982}@media (width<=800px){.book-volume-review-heading{flex-direction:column;align-items:flex-start}.book-volume-review-summary{grid-template-columns:1fr 1fr}.book-volume-save-bar{flex-direction:column;align-items:stretch}}.book-recipient-advisor{background:#0c0f0e;border:1px solid #343b39;border-radius:12px;margin-top:14px;overflow:hidden}.book-recipient-header{border-bottom:1px solid #282e2b;justify-content:space-between;align-items:flex-end;gap:18px;padding:14px;display:flex}.book-recipient-header h3{margin:0;font-size:18px}.book-recipient-header p:last-child{color:#77817d;margin:5px 0 0;font-size:11px}.book-recipient-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.book-recipient-controls label,.book-volume-picker{flex-direction:column;gap:5px;display:flex}.book-recipient-controls label>span,.book-volume-picker>span{color:#7f8985;font-size:10px}.book-recipient-controls select{color:#f2f3f4;background:#0b0e0d;border:1px solid #39413e;border-radius:8px;outline:none;min-width:220px;min-height:38px;padding:7px 9px}.book-recipient-controls select:focus{border-color:#c9a95b}.book-volume-picker>div{gap:4px;display:flex}.book-volume-picker button{color:#a9b0ad;cursor:pointer;background:#121615;border:1px solid #39413e;border-radius:7px;width:34px;height:34px}.book-volume-picker button:hover{border-color:#69746f}.book-volume-picker button.active{color:#f0d995;background:#c9a95b21;border-color:#c9a95b;font-weight:800}.book-recipient-result{grid-template-columns:minmax(230px,.8fr) minmax(380px,1.6fr);display:grid}.book-recipient-hero{background:radial-gradient(circle at 0 0,#c9a95b14,#0000 70%);border-right:1px solid #282e2b;flex-direction:column;justify-content:center;min-height:180px;padding:20px;display:flex}.book-recipient-hero>span{color:#c9a95b;font-size:11px;font-weight:800}.book-recipient-hero>strong{margin-top:7px;font-size:23px}.book-recipient-hero>p{color:#a0a8a4;margin:7px 0 0;font-size:12px;line-height:1.5}.book-recipient-hero>small{color:#66706c;margin-top:12px}.book-candidate-list{align-content:start;display:grid}.book-candidate-row{border-top:1px solid #242a28;grid-template-columns:minmax(180px,1fr) 90px 88px;align-items:center;gap:12px;min-height:64px;padding:10px 14px;display:grid}.book-candidate-row:first-child{border-top:0}.book-candidate-row>div:first-child{flex-direction:column;gap:3px;display:flex}.book-candidate-row>div:first-child>span{color:#7d8783;font-size:10px}.book-candidate-row.recommended{background:#48612b11}.book-candidate-row.unknown{background:#78622e0b}.book-candidate-row.read{opacity:.58}.book-candidate-progress{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.book-candidate-progress>span{color:#6f7975;font-size:9px}.book-candidate-progress>strong{font-variant-numeric:tabular-nums}.book-recipient-badge{text-align:center;border:1px solid #3d4542;border-radius:999px;min-width:72px;padding:5px 7px;font-size:9px;display:inline-block}.book-recipient-badge.recommended{color:#d5ecbd;background:#48612b2e;border-color:#627c44}.book-recipient-badge.candidate{color:#bed3e6;background:#4c657b24;border-color:#4c657b}.book-recipient-badge.unknown{color:#ead7a5;background:#78622e29;border-color:#78622e}.book-recipient-badge.read{color:#8f9794}@media (width<=900px){.book-recipient-header{flex-direction:column;align-items:flex-start}.book-recipient-result{grid-template-columns:1fr}.book-recipient-hero{border-bottom:1px solid #282e2b;border-right:0}}@media (width<=620px){.book-recipient-controls,.book-recipient-controls label{width:100%}.book-recipient-controls select{width:100%;min-width:0}.book-volume-picker>div{flex-wrap:wrap}.book-candidate-row{grid-template-columns:1fr auto}.book-candidate-progress{grid-column:1;align-items:flex-start}.book-candidate-row>div:last-child{grid-area:1/2/span 2}}.game-dashboard{background:linear-gradient(#5d564129,#0000 88px),#171817;border-color:#4a4940;margin-bottom:14px;overflow:visible}.game-dashboard-topbar{background:linear-gradient(90deg,#161817 0%,#24231d 48%,#171817 100%);border-bottom:3px solid #050606;justify-content:space-between;align-items:flex-end;gap:20px;padding:16px 18px 14px;display:flex}.game-dashboard-topbar h2{margin:0;font-size:24px}.game-dashboard-topbar p:last-child{color:#a9aa9e;margin:4px 0 0;font-size:11px}.game-dashboard-actions{align-items:end;gap:9px;display:flex}.game-dashboard-actions label{flex-direction:column;gap:4px;display:flex}.game-dashboard-actions label>span{color:#9c9d93;font-size:10px}.game-dashboard-actions select{color:#fff;background:#3f403e;border:2px solid #090a09;outline:none;min-width:180px;height:38px;padding:0 10px;font-weight:800}.game-update-button{color:#fff;cursor:pointer;background:#8b8468;border:2px solid #080908;height:38px;padding:0 14px;font-weight:900}.game-update-button:hover{background:#a09979}.game-skill-tabs{background:#080909;grid-template-columns:1fr 1fr;gap:4px;padding:5px;display:grid}.game-skill-tabs button{color:#c8c9c5;cursor:pointer;background:#383a39;border:0;justify-content:center;align-items:center;gap:10px;min-height:47px;font-size:17px;font-weight:900;display:flex}.game-skill-tabs button.active{color:#fff;background:linear-gradient(90deg,#7a745b,#9c9472,#716b54)}.game-skill-tabs button small{border:1px solid #ffffff40;padding:2px 6px;font-size:9px}.tab-symbol{font-size:20px}.game-progress-grid{background:#080909;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid;overflow:visible}.game-progress-page{align-content:start;gap:3px;min-width:0;display:grid}.game-progress-page.page-1{grid-column:1}.game-progress-page.page-2{grid-column:2}.game-progress-row{color:#fff;cursor:pointer;background:#424341;border:1px solid #111;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:5px 10px 5px 7px;display:grid;position:relative;overflow:visible}.game-progress-row:nth-child(4n+1),.game-progress-row:nth-child(4n+2){background:#3c3d3b}.game-progress-row:hover,.game-progress-row.editing{z-index:20;background:linear-gradient(90deg,#7c765d,#8d8669)}.progress-pictogram{image-rendering:auto;flex:none;display:block}.game-progress-main{min-width:0}.game-progress-name{align-items:baseline;gap:8px;display:flex}.game-progress-name strong{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 2px #111;font-size:17px;line-height:1.1;overflow:hidden}.game-progress-name span{color:#ffffff6b;white-space:nowrap;font-size:8px}.game-progress-value{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;min-width:70px;display:flex}.game-progress-value span{color:#ddd;font-size:12px}.game-progress-track{background:#252625;height:4px;margin-top:7px;box-shadow:inset 0 0 0 1px #171817}.game-progress-track>span{background:#c7c1a2;height:100%;display:block}.volume-dot-row{gap:4px;margin-top:6px;display:flex}.volume-dot{background:#232423;border:1px solid #d4d4cf;border-radius:1px;width:8px;height:8px}.volume-dot.read{background:#f3f2e9}.volume-dot.unread{background:#282927}.volume-dot.unknown{background:0 0;border-color:#858681}.volume-dot-row.compact{gap:2px;margin:0}.volume-dot-row.compact .volume-dot{width:6px;height:6px}.progress-compare-popover{z-index:80;color:#fff;background:#262826;border:2px solid #080908;min-width:330px;display:none;position:absolute;top:calc(100% + 3px);left:42px;right:8px;box-shadow:0 12px 36px #0000008c}.game-progress-row:hover .progress-compare-popover{display:block}.compare-title{background:#777159;border-bottom:2px solid #090a09;align-items:center;gap:9px;padding:9px 10px;display:flex}.compare-title>div{flex-direction:column;display:flex}.compare-title span{color:#e2dfcf;font-size:9px}.compare-player-list{max-height:244px;overflow-y:auto}.compare-player-list>div{background:#3c3d3b;border-top:1px solid #111;grid-template-columns:minmax(110px,1fr) auto 64px;align-items:center;gap:8px;min-height:42px;padding:6px 9px;display:grid}.compare-player-list>div:first-child{border-top:0}.compare-player-list>div.own{background:#4b4c43}.compare-player-list>div>div:first-child{align-items:center;gap:5px;display:flex}.compare-player-list small{color:#d5cfaa;font-size:8px}.compare-player-list b{text-align:right;font-variant-numeric:tabular-nums}.compare-help{color:#8f918b;border-top:1px solid #111;padding:6px 9px;font-size:9px;display:block}.quick-edit{cursor:default;background:#292a28;border-top:2px solid #111;grid-column:1/-1;margin:3px -3px -2px;padding:10px}.quick-number-editor{align-items:center;gap:8px;display:flex}.quick-number-editor button{color:#fff;cursor:pointer;background:#44443d;border:1px solid #777361;width:36px;height:34px;font-size:18px}.quick-number-editor input{color:#fff;text-align:center;background:#111;border:1px solid #777361;width:76px;height:34px;font-size:17px;font-weight:900}.quick-volume-editor{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.quick-volume-editor button{color:#aaa;cursor:pointer;background:#1b1c1b;border:1px solid #50514d;grid-template-columns:auto auto;align-content:center;gap:0 4px;min-height:48px;display:grid}.quick-volume-editor button.read{color:#fff;background:#6f6952;border-color:#a79d72}.quick-volume-editor span{font-size:7px}.quick-volume-editor strong{font-size:15px}.quick-volume-editor b{grid-column:1/-1;font-size:10px}.quick-edit-summary{color:#d9d5be;margin-top:7px;font-size:11px;display:inline-block}.quick-edit-actions{justify-content:flex-end;align-items:center;gap:7px;margin-top:9px;display:flex}.quick-edit-actions>span{color:#d7d0a8;margin-right:auto;font-size:10px}.quick-edit-actions>button:not(.primary-button){color:#ddd;cursor:pointer;background:#383a38;border:1px solid #4f514d;min-height:34px;padding:0 10px}.dashboard-empty{background:#343533;flex-direction:column;align-items:center;gap:5px;padding:42px 20px;display:flex}.dashboard-empty span{color:#a2a49e;font-size:11px}.dashboard-settings{background:#0e100f;border:1px solid #343b39;border-radius:10px;margin:0 0 14px}.dashboard-settings>summary{color:#9ea49f;cursor:pointer;padding:10px 14px;font-size:12px;font-weight:800}.dashboard-settings[open]>summary{border-bottom:1px solid #282e2b}.dashboard-settings .player-strip,.dashboard-settings .cloud-panel{margin:12px}.legacy-workflow{border-top:1px solid #343b39;margin-top:18px;padding-top:12px}.legacy-workflow-toolbar{background:#171817;border:1px solid #4a4940;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 14px;display:flex}.legacy-workflow-toolbar strong{font-size:15px}@media (width<=920px){.game-dashboard-topbar{flex-direction:column;align-items:stretch}.game-dashboard-actions{align-items:stretch}.game-dashboard-actions label{flex:1}.game-dashboard-actions select{width:100%;min-width:0}.game-progress-grid{grid-template-columns:1fr}.game-progress-page.page-1,.game-progress-page.page-2{grid-column:1}.progress-compare-popover{min-width:0;left:8px}}@media (width<=560px){.game-dashboard-actions{flex-direction:column}.game-skill-tabs button{font-size:14px}.game-progress-name strong{font-size:15px}.quick-volume-editor{grid-template-columns:repeat(4,1fr)}}:root{--dashboard-max-width:1760px;--dashboard-shell-gutter:32px;--dashboard-shell-top:42px;--dashboard-tab-height:47px;--dashboard-tab-font-size:17px;--dashboard-row-height:58px;--dashboard-row-icon-column:46px;--dashboard-icon-size:40px;--dashboard-title-size:17px;--dashboard-value-size:22px;--dashboard-value-max-size:12px;--dashboard-track-height:4px;--dashboard-grid-gap:4px;--dashboard-grid-padding:4px}.app-shell{width:min(var(--dashboard-max-width), calc(100% - var(--dashboard-shell-gutter)));padding-top:var(--dashboard-shell-top)}.game-skill-tabs button{min-height:var(--dashboard-tab-height);font-size:var(--dashboard-tab-font-size)}.game-progress-grid{gap:var(--dashboard-grid-gap);padding:var(--dashboard-grid-padding)}.game-progress-page{gap:calc(var(--dashboard-grid-gap) - 1px)}.game-progress-row{min-height:var(--dashboard-row-height);grid-template-columns:var(--dashboard-row-icon-column) minmax(0, 1fr) auto}.progress-pictogram{object-fit:contain;width:var(--dashboard-icon-size)!important;height:var(--dashboard-icon-size)!important}.game-progress-name strong{font-size:var(--dashboard-title-size)}.game-progress-value strong{font-size:var(--dashboard-value-size)}.game-progress-value span{font-size:var(--dashboard-value-max-size)}.game-progress-track{height:var(--dashboard-track-height)}@media (width>=2300px) and (height>=1250px){:root{--dashboard-max-width:2080px;--dashboard-shell-gutter:48px;--dashboard-shell-top:32px;--dashboard-tab-height:52px;--dashboard-tab-font-size:19px;--dashboard-row-height:64px;--dashboard-row-icon-column:52px;--dashboard-icon-size:44px;--dashboard-title-size:19px;--dashboard-value-size:24px;--dashboard-value-max-size:13px;--dashboard-track-height:5px;--dashboard-grid-gap:5px;--dashboard-grid-padding:5px}.game-dashboard-topbar{padding:17px 20px 15px}.game-dashboard-topbar h2{font-size:26px}.game-progress-row{gap:10px;padding:6px 12px 6px 8px}.game-progress-value{min-width:78px}.volume-dot{width:9px;height:9px}.progress-compare-popover{min-width:380px;left:48px}}@media (width>=3600px) and (height>=1900px){:root{--dashboard-max-width:2600px;--dashboard-shell-gutter:64px;--dashboard-shell-top:38px;--dashboard-tab-height:62px;--dashboard-tab-font-size:22px;--dashboard-row-height:78px;--dashboard-row-icon-column:64px;--dashboard-icon-size:56px;--dashboard-title-size:22px;--dashboard-value-size:28px;--dashboard-value-max-size:15px;--dashboard-track-height:6px;--dashboard-grid-gap:6px;--dashboard-grid-padding:6px}.game-dashboard-topbar{padding:20px 24px 18px}.game-dashboard-topbar h2{font-size:30px}.game-progress-row{gap:12px;padding:8px 14px 8px 10px}.game-progress-value{min-width:92px}.volume-dot{width:11px;height:11px}.progress-compare-popover{min-width:440px;left:60px}}.viewport-tier-poc{z-index:9999;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#191b19f0;border:2px solid #090a09;align-items:center;gap:9px;padding:7px 10px;font-size:11px;display:flex;position:fixed;bottom:14px;right:14px;box-shadow:0 4px 18px #00000073}.viewport-tier-poc strong{color:#fff;letter-spacing:.08em;background:#5f5a47;padding:3px 6px;font-size:10px}.viewport-tier-poc.standard strong{background:#777054}.viewport-tier-poc.large strong{background:#92865e}.viewport-tier-poc span{color:#c8cac4}.review-heading-actions{align-items:flex-end;gap:10px;display:flex}.selected-player-chip.missing{background:#78622e1a;border-color:#6e5b2f}.selected-player-chip.missing strong{color:#e2cb8d}.review-diff-summary{background:#252b29;border-bottom:1px solid #252b29;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.review-diff-summary>div{background:#111413;flex-direction:column;justify-content:center;min-height:76px;padding:12px 18px;display:flex}.review-diff-summary span{color:#7f8985;font-size:11px}.review-diff-summary strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:21px}.review-diff-legend{color:#747d79;background:#0d100f;border-bottom:1px solid #252b29;justify-content:space-between;gap:14px;padding:9px 18px;font-size:10px;display:flex}.review-diff-legend>span:first-child{white-space:nowrap;align-items:center;gap:5px;display:flex}.review-diff-legend .diff-badge{min-width:auto;padding:3px 6px}.crop-row.review-diff-row{border-top:1px solid #242a28;grid-template-columns:54px minmax(180px,1fr) minmax(285px,360px) 138px 155px 92px;align-items:center;gap:14px;min-height:88px;padding:12px 20px;transition:opacity .15s,background .15s;display:grid}.crop-row.review-diff-row:first-child{border-top:0}.crop-row.review-diff-row.needs-review{background:#78622e11;box-shadow:inset 3px 0 #8b7436}.crop-row.review-diff-row.diff-up:not(.needs-review){background:#48612b0b}.crop-row.review-diff-row.diff-down:not(.needs-review){background:#7b41390e}.crop-row.review-diff-row.diff-new:not(.needs-review){background:#4c657b0b}.crop-row.review-diff-row.not-selected:not(.needs-review){opacity:.5}.crop-row.review-diff-row.not-selected.needs-review{opacity:.88}.review-diff-control{flex-direction:column;gap:5px;min-width:0;display:flex}.review-diff-label{color:#7f8985;font-size:10px}.review-diff-values{align-items:center;gap:7px;min-width:0;display:flex}.review-diff-values>.previous-value{text-align:right;font-variant-numeric:tabular-nums;min-width:34px;font-size:17px;font-weight:800}.review-diff-values .edit-value-control{flex-direction:row;flex:none}.review-diff-values .edit-value-control input{width:72px}.review-diff-values>.diff-badge{margin-left:auto}.review-diff-control>small{color:#c8af6b;font-size:10px}.review-diff-control>small.input-error{color:#e4a298}.review-diff-row .detected-value{grid-template-columns:1fr auto}.review-diff-row .detected-value>strong{font-size:16px}.review-diff-row .review-state{justify-content:flex-end}@media (width<=1380px){.crop-row.review-diff-row{grid-template-columns:44px minmax(160px,1fr) minmax(250px,320px) 126px 138px}.crop-row.review-diff-row .review-state{grid-column:2/-1;justify-content:flex-start}}@media (width<=980px){.review-heading-actions{flex-direction:column;align-items:stretch;width:100%}.review-heading-actions .selected-player-chip{align-items:flex-start}.review-diff-summary{grid-template-columns:repeat(3,1fr)}.review-diff-legend{flex-direction:column}.crop-row.review-diff-row{grid-template-columns:40px minmax(150px,1fr) minmax(240px,1fr)}.crop-row.review-diff-row .detected-value,.crop-row.review-diff-row .crop-preview,.crop-row.review-diff-row .review-state{grid-column:2/-1}.crop-row.review-diff-row .crop-preview{justify-content:start;width:100%;padding-left:8px}}@media (width<=680px){.review-diff-summary{grid-template-columns:1fr 1fr}.crop-row.review-diff-row{grid-template-columns:34px 1fr}.crop-row.review-diff-row .row-name,.crop-row.review-diff-row .review-diff-control,.crop-row.review-diff-row .detected-value,.crop-row.review-diff-row .crop-preview,.crop-row.review-diff-row .review-state,.crop-row.review-diff-row .row-warning{grid-column:2}.review-diff-values{flex-wrap:wrap}.review-diff-values>.diff-badge{margin-left:0}}.player-avatar{text-shadow:0 1px 2px #000;background:#0000003d;border:1px solid;border-radius:3px;flex:none;place-items:center;font-weight:900;line-height:1;display:inline-grid}.player-avatar.small{width:22px;height:22px;font-size:12px}.player-avatar.medium{width:30px;height:30px;font-size:16px}.player-avatar.large{width:42px;height:42px;font-size:22px}.player-appearance-settings{border-top:1px solid #2b312f;grid-template-columns:minmax(190px,.8fr) minmax(300px,1.4fr) minmax(260px,1fr);align-items:center;gap:18px;margin-top:14px;padding-top:14px;display:grid}.player-appearance-preview{align-items:center;gap:10px;display:flex}.player-appearance-preview>div{flex-direction:column;gap:2px;min-width:0;display:flex}.player-appearance-preview span,.player-appearance-group>span{color:#7f8985;font-size:10px}.player-appearance-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.player-appearance-preview small{color:#68716d;font-size:9px}.player-appearance-group{flex-direction:column;gap:7px;display:flex}.player-icon-picker,.player-color-picker{flex-wrap:wrap;gap:6px;display:flex}.player-icon-picker button{cursor:pointer;background:#111413;border:1px solid #3a423f;border-radius:5px;place-items:center;width:38px;height:38px;padding:0;display:grid}.player-icon-picker button:hover,.player-icon-picker button.active{background:#23251f;border-color:#d0c28a}.player-icon-picker button.active{box-shadow:inset 0 0 0 1px #d0c28a}.player-color-picker button{cursor:pointer;border:3px solid #111;border-radius:50%;outline:1px solid #3a423f;width:30px;height:30px;padding:0}.player-color-picker button:hover{transform:scale(1.08)}.player-color-picker button.active{outline:2px solid #f0eee4;box-shadow:0 0 0 2px #111}.compare-player-list>div{border-left:4px solid #0000}.compare-player-list>div>div:first-child{min-width:0}.compare-player-list>div>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-player-list .player-avatar{background:#202220}.team-player-heading .player-avatar{margin-right:2px}@media (width<=980px){.player-appearance-settings{grid-template-columns:1fr 1fr}.player-appearance-preview{grid-column:1/-1}}@media (width<=640px){.player-appearance-settings{grid-template-columns:1fr}.player-appearance-preview{grid-column:auto}}.player-avatar.has-image{background:#111;overflow:hidden}.player-avatar.has-image img{object-fit:cover;width:100%;height:100%;display:block}.icon-source-group{min-width:0}.custom-icon-paste{color:#c8cecb;cursor:pointer;background:#0e1110;border:1px dashed #48504c;border-radius:6px;outline:none;align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:flex}.custom-icon-paste:hover,.custom-icon-paste:focus{background:#171a17;border-color:#d0c28a}.custom-icon-paste>div{flex-direction:column;gap:2px;min-width:0;display:flex}.custom-icon-paste strong{font-size:12px}.custom-icon-paste small{color:#777f7b;font-size:9px}.custom-icon-placeholder{color:#d0c28a;border:1px solid #555d59;border-radius:4px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;font-weight:700;display:grid}.custom-icon-privacy{color:#626b67;font-size:9px;line-height:1.45}.player-avatar:not(.has-image){background:currentColor}.player-avatar:not(.has-image) .player-avatar-glyph{color:#111412;text-shadow:none;transform:scale(.78)}.player-avatar.shape-circle{border-radius:50%}.player-avatar.shape-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:0;border-radius:0}.player-avatar.shape-star{clip-path:polygon(50% 0,61% 34%,98% 35%,68% 56%,79% 92%,50% 70%,21% 92%,32% 56%,2% 35%,39% 34%);border:0;border-radius:0}.player-avatar.shape-cross{clip-path:polygon(34% 0,66% 0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%);border:0;border-radius:0}.player-avatar.shape-slash{clip-path:polygon(28% 0,100% 0,72% 100%,0 100%);border:0;border-radius:0}.player-avatar.shape-ring{background:0 0;border-width:2px;border-radius:50%;box-shadow:inset 0 0 0 4px}.player-avatar.shape-ring .player-avatar-glyph{color:currentColor;transform:scale(.66)}.player-avatar.shape-triangle{clip-path:polygon(50% 0,100% 100%,0 100%);border:0;border-radius:0}.player-avatar.shape-triangle .player-avatar-glyph{transform:translateY(12%)scale(.64)}.player-avatar.shape-hex{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;border-radius:0}.player-icon-picker button{grid-template-rows:32px auto;align-content:center;gap:2px;width:48px;height:54px}.player-icon-picker button .player-avatar{justify-self:center}.preset-icon-label{color:#9ba39f;font-size:9px;line-height:1}.player-icon-picker button.active .preset-icon-label,.player-icon-picker button:hover .preset-icon-label{color:#f0eee4}
