*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:root{--bg:#fff;--bg2:#f5f5f3;--bg3:#ededea;--text:#1a1a18;--text2:#6b6b66;--text3:#2f2f2c;--border:#0000001f;--border2:#00000038;--success-bg:#eaf3de;--success-text:#3b6d11;--success-border:#3b6d114d;--danger-bg:#fcebeb;--danger-text:#a32d2d;--warn-bg:#faeeda;--warn-text:#854f0b;--info-bg:#e6f1fb;--info-text:#185fa5;--radius:8px;--radius-lg:12px;--accent:#185fa5}@media (prefers-color-scheme:dark){:root{--bg:#1e1e1c;--bg2:#282826;--bg3:#323230;--text:#f0f0ec;--text2:#9a9a94;--text3:#ccccc9;--border:#ffffff1a;--border2:#fff3;--success-bg:#173404;--success-text:#c0dd97;--success-border:#c0dd974d;--danger-bg:#501313;--danger-text:#f09595;--warn-bg:#412402;--warn-text:#fac775;--info-bg:#042c53;--info-text:#85b7eb;--accent:#85b7eb}}html[data-theme=light]{--bg:#fff;--bg2:#f5f5f3;--bg3:#ededea;--text:#1a1a18;--text2:#6b6b66;--text3:#2f2f2c;--border:#0000001f;--border2:#00000038;--success-bg:#eaf3de;--success-text:#3b6d11;--success-border:#3b6d114d;--danger-bg:#fcebeb;--danger-text:#a32d2d;--warn-bg:#faeeda;--warn-text:#854f0b;--info-bg:#e6f1fb;--info-text:#185fa5;--radius:8px;--radius-lg:12px;--accent:#185fa5}html[data-theme=dark]{--bg:#1e1e1c;--bg2:#282826;--bg3:#323230;--text:#f0f0ec;--text2:#9a9a94;--text3:#ccccc9;--border:#ffffff1a;--border2:#fff3;--success-bg:#173404;--success-text:#c0dd97;--success-border:#c0dd974d;--danger-bg:#501313;--danger-text:#f09595;--warn-bg:#412402;--warn-text:#fac775;--info-bg:#042c53;--info-text:#85b7eb;--radius:8px;--radius-lg:12px;--accent:#85b7eb}body{background:var(--bg3);color:var(--text);min-height:100vh;font-family:Courier Prime,monospace;overflow-x:hidden}.container{margin:0 auto;padding:2rem 1.5rem}.header{grid-template-columns:1fr auto;align-items:baseline;column-gap:16px;margin-bottom:1.5rem;display:grid}.logo{letter-spacing:3px;grid-area:1/1;justify-self:start;font-family:VT323,monospace;font-size:42px;line-height:1}.logo-sub{letter-spacing:4px;text-transform:uppercase;color:var(--text2);grid-area:2/1;justify-self:start;font-size:11px}.stat-val{grid-area:1/2;justify-self:end;font-family:VT323,monospace;font-size:36px;line-height:1}.stat-label{letter-spacing:2px;text-transform:uppercase;color:var(--text2);grid-area:2/2;justify-self:end;font-size:11px}.stat-jump{cursor:pointer;outline:none;transition:opacity .15s,color .15s}.stat-jump:hover{opacity:.75}.stat-jump:focus-visible{outline:2px solid var(--info-text);outline-offset:4px;border-radius:4px}.tabs{border-bottom:1px solid var(--border);align-items:center;margin-bottom:1.5rem;display:flex}.tab{letter-spacing:2px;text-transform:uppercase;color:var(--text2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-family:Courier Prime,monospace;font-size:13px;text-decoration:none;transition:color .15s;display:inline-block}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text)}.card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem}.label{letter-spacing:2.5px;text-transform:uppercase;color:var(--text2);margin-bottom:10px;font-size:12px;display:block}.btn{letter-spacing:1px;text-transform:uppercase;border:.5px solid var(--border2);background:var(--bg);color:var(--text);border-radius:var(--radius);cursor:pointer;align-items:center;gap:6px;padding:9px 18px;font-family:Courier Prime,monospace;font-size:13px;transition:background .15s;display:inline-flex}.btn:hover{background:var(--bg2)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{opacity:.82;background:var(--text)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-text)}.input{border:.5px solid var(--border2);background:var(--bg2);width:100%;color:var(--text);border-radius:var(--radius);outline:none;padding:9px 13px;font-family:Courier Prime,monospace;font-size:14px}.input:focus{border-color:var(--text)}.notice{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);color:var(--text2);align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;line-height:1.6;display:flex}.notice a{color:var(--info-text)}.notice-info{background:var(--info-bg);color:var(--info-text);border-color:#185fa54d}.notice-success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.notice-danger{background:var(--danger-bg);color:var(--danger-text);border-color:#a32d2d4d}.key-badge{border-radius:var(--radius);letter-spacing:.5px;padding:3px 10px;font-size:12px}.badge-ok{background:var(--success-bg);color:var(--success-text)}.badge-warn{background:var(--warn-bg);color:var(--warn-text)}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.divider{text-align:center;color:var(--text2);letter-spacing:1px;margin:10px 0;font-size:12px}.banner{border-radius:var(--radius);margin-top:12px;padding:12px 16px;font-size:14px;line-height:1.5}.banner-ok{background:var(--success-bg);color:var(--success-text);border:.5px solid var(--success-border)}.banner-err{background:var(--danger-bg);color:var(--danger-text)}.spinner{border:2px solid var(--border2);border-top-color:var(--text);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.analyzing-card{text-align:center;color:var(--text2);letter-spacing:1px;padding:3rem 1rem;font-size:14px}.shelf-toolbar{align-items:center;gap:8px;margin-bottom:1rem;display:flex}.shelf-toolbar .input{flex:1}.shelf-toolbar .btn{font-size:14px}.shelf-grid{grid-template-columns:repeat(auto-fill,190px);align-items:start;gap:16px;display:grid}.tape-wrap{cursor:pointer;position:relative}.tape-card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:10px;transition:border-color .15s,box-shadow .15s}.tape-wrap:hover .tape-card{border-color:var(--border2);box-shadow:0 6px 16px #00000059}.tape-wrap.has-full-title:hover{z-index:30}.tape-wrap.has-full-title:hover .tape-card{position:absolute;top:0;left:0;right:0}.tape-spine{aspect-ratio:2/3;border-radius:4px;align-items:flex-end;width:100%;margin-bottom:8px;padding:8px;display:flex;position:relative;overflow:hidden}.spine-init{color:#fff;text-shadow:0 1px 4px #000000b3;font-family:VT323,monospace;font-size:22px;line-height:1}.tape-info{padding-top:4px}.tape-title{margin-bottom:4px;font-size:14px;font-weight:400;line-height:1.3;position:relative}.tape-title-short{white-space:nowrap;display:block;overflow:hidden}.tape-title-full{white-space:normal;overflow-wrap:break-word;word-break:break-word;display:none}.tape-title-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute;top:0;left:0}.tape-wrap.has-full-title:hover .tape-title-short{display:none}.tape-wrap.has-full-title:hover .tape-title-full{display:block}.tape-meta{color:var(--text2);margin-bottom:3px;font-size:12px}.tape-meta:last-child{margin-bottom:0}.empty-shelf{text-align:center;border:1px dashed var(--border2);border-radius:var(--radius-lg);grid-column:1/-1;padding:4rem 1rem}.empty-icon{color:var(--text2);margin-bottom:10px;font-family:VT323,monospace;font-size:48px}.empty-text{letter-spacing:2px;text-transform:uppercase;color:var(--text2);margin-bottom:1rem;font-size:12px}.empty-shelf-welcome{background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius-lg);cursor:pointer;outline:none;grid-column:1/-1;justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem 2rem;transition:background .15s,border-color .15s,box-shadow .2s;display:flex}.empty-shelf-welcome:hover,.empty-shelf-welcome:focus-visible{background:var(--bg2);border-color:var(--text2);box-shadow:0 8px 24px #0000004d}.empty-shelf-welcome-text{flex:1;min-width:0}.empty-shelf-welcome-title{color:var(--text);letter-spacing:1px;margin-bottom:10px;font-family:Courier Prime,monospace;font-size:22px;font-weight:700}.empty-shelf-welcome-sub{color:var(--text2);font-family:Courier Prime,monospace;font-size:14px;line-height:1.5}.empty-shelf-welcome-icon{color:var(--text);flex-shrink:0;font-size:72px;line-height:1}@media (width<=600px){.empty-shelf-welcome{gap:1rem;padding:1.75rem 1.25rem}.empty-shelf-welcome-title{margin-bottom:6px;font-size:17px}.empty-shelf-welcome-sub{font-size:13px}.empty-shelf-welcome-icon{font-size:52px}}.shelf-table-wrap{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.shelf-table{border-collapse:collapse;width:auto}.shelf-table th{letter-spacing:2.5px;text-transform:uppercase;color:var(--text2);text-align:left;border-bottom:.5px solid var(--border2);padding:8px 14px;font-family:Courier Prime,monospace;font-size:11px}.shelf-table td{border-bottom:.5px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px}.shelf-table tr:last-child td{border-bottom:none}.shelf-table-row{cursor:pointer;transition:background .1s}.shelf-table-row:hover{background:var(--bg2)}.shelf-table-row td:first-child{font-weight:700}.shelf-table-row td:last-child{color:var(--text2)}.user-menu-wrap{margin-left:auto;position:relative}.user-menu-btn{align-items:center;display:inline-flex;margin-left:0!important}.user-menu-dd{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius);z-index:100;min-width:160px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #00000038}.user-menu-opt{letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:10px 14px;font-family:Courier Prime,monospace;font-size:12px;text-decoration:none;transition:background .1s;display:flex}.user-menu-opt:hover{background:var(--bg2)}.user-menu-opt-danger{color:var(--danger,#e74c3c)}.tab.tab-static{cursor:default}.tab.tab-static:hover{color:var(--text2)}.public-shelf-login{margin-left:auto}.sort-dd{flex-shrink:0;position:relative}.sort-dd-menu{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius);z-index:50;min-width:170px;display:none;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #0000002e}.sort-dd-menu.open{display:block}.sort-dd-opt{letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:9px 14px;font-family:Courier Prime,monospace;font-size:12px;transition:background .1s;display:flex}.sort-dd-opt:hover{background:var(--bg2)}.export-dd{flex-shrink:0;position:relative}.export-dd-menu{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius);z-index:50;min-width:230px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000002e}.export-dd-menu.open{display:block}.export-dd-opt{letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--text);white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-family:Courier Prime,monospace;font-size:12px;transition:background .1s;display:flex}.export-dd-opt:hover{background:var(--bg2)}.view-dd{flex-shrink:0;position:relative}.view-dd-chevron{font-size:11px}.view-dd-menu{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius);z-index:50;min-width:160px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000002e}.view-dd-menu.open{display:block}.view-dd-opt{letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:10px 14px;font-family:Courier Prime,monospace;font-size:12px;transition:background .1s;display:flex}.view-dd-opt:hover{background:var(--bg2)}.view-dd-opt-label{align-items:center;gap:8px;display:flex}.poster-editor-overlay{z-index:300;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.poster-editor{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:520px;max-height:calc(100svh - 48px);display:flex;overflow:hidden}.poster-editor-title{letter-spacing:2.5px;text-transform:uppercase;color:var(--text2);text-align:center;border-bottom:.5px solid var(--border);flex-shrink:0;padding:14px 16px 10px;font-family:Courier Prime,monospace;font-size:13px}.poster-editor-tabs{border-bottom:.5px solid var(--border2);flex-shrink:0;gap:0;display:flex}.poster-editor-tab{cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;color:var(--text2);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 8px;font-family:Courier Prime,monospace;font-size:13px;transition:color .15s,border-color .15s}.poster-editor-tab:hover{color:var(--text)}.poster-editor-tab.active{color:var(--text);border-bottom-color:var(--text)}.poster-editor-body{overscroll-behavior:contain;flex:1;min-height:0;padding:16px;overflow-y:auto}.poster-editor-empty{text-align:center;color:var(--text2);padding:3rem 1rem;font-family:Courier Prime,monospace;font-size:13px}.poster-editor-upload-row{justify-content:center;margin-bottom:12px;display:flex}.poster-editor-url-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.poster-tile{cursor:pointer;border-radius:var(--radius);aspect-ratio:2/3;background:var(--bg2);border:6px solid #0000;transition:border-color .15s;position:relative;overflow:hidden}.poster-tile img{object-fit:cover;width:100%;height:100%;display:block}.poster-tile:hover{border-color:var(--border2)}.poster-tile.selected{border-color:#ff8c1a;box-shadow:inset 0 0 0 2px #ff8c1a}.poster-tile-skeleton{cursor:default;background:linear-gradient(100deg, var(--bg2) 30%, var(--bg3) 50%, var(--bg2) 70%);background-size:250% 100%;animation:1.4s linear infinite poster-shimmer}.poster-tile-skeleton:hover{border-color:#0000}@keyframes poster-shimmer{0%{background-position:250% 0}to{background-position:-150% 0}}.poster-tile-delete{color:#fff;cursor:pointer;opacity:.85;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;line-height:1;transition:opacity .15s,background .15s;display:inline-flex;position:absolute;top:4px;right:4px}.poster-tile-delete:hover{opacity:1;background:#b42828d9}.poster-editor-footer{border-top:.5px solid var(--border2);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.poster-editor-footer-right{gap:8px;display:flex}@media (width>=601px){.poster-editor{width:520px;max-width:520px;height:908px;max-height:calc(100svh - 24px)}.poster-editor-body{min-height:754px}}@media (width<=600px){.poster-editor-overlay{padding:8px}.poster-editor{max-height:calc(100svh - 16px)}.poster-editor-title{letter-spacing:2px;padding:10px 12px 8px;font-size:11px}.poster-editor-tab{letter-spacing:1px;padding:12px 4px;font-size:11px}.poster-editor-body{padding:12px}.poster-grid{gap:6px}.poster-editor-footer{padding:10px 12px}}.poster-confirm-overlay{z-index:400;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.poster-confirm{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius-lg);width:100%;max-width:380px;padding:1.5rem;box-shadow:0 12px 32px #00000080}.poster-confirm-title{color:var(--text);letter-spacing:.5px;margin-bottom:10px;font-family:Courier Prime,monospace;font-size:15px;font-weight:700}.poster-confirm-body{color:var(--text3);margin-bottom:18px;font-family:Courier Prime,monospace;font-size:13px;line-height:1.6}.poster-confirm-buttons{justify-content:flex-end;gap:8px;display:flex}.detail-overlay{z-index:200;overscroll-behavior:contain;background:#00000073;justify-content:center;align-items:flex-start;padding:60px 16px 16px;display:none;position:fixed;inset:0;overflow-y:auto}.detail-overlay.open{display:flex}.detail-box{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius-lg);max-width:580px;padding:1.5rem}.detail-box-routed{width:100%;position:relative}.detail-standalone{justify-content:center;padding:1rem 0;display:flex}.detail-standalone .detail-box{width:100%;max-width:580px;position:relative}.detail-header{gap:14px;display:flex}.detail-meta{flex:1;min-width:0;padding-right:30px}.detail-title-text{margin-bottom:6px;font-size:17px;font-weight:700;line-height:1.4}.detail-field{color:var(--text3);margin-bottom:4px;font-size:13px}.detail-meta-row{color:var(--text3);align-items:center;gap:14px;margin-bottom:4px;font-size:13px;display:flex}.detail-genres-text{display:none}.genre-chip{letter-spacing:1.5px;text-transform:uppercase;border:.5px solid var(--border2);color:var(--text2);background:var(--bg2);white-space:nowrap;border-radius:999px;padding:3px 9px;font-family:Courier Prime,monospace;font-size:10px}.detail-summary{color:var(--text3);margin-top:16px;font-size:13px;line-height:1.6}.detail-more-link{color:var(--info-text);align-items:center;gap:3px;margin-top:4px;font-size:13px;text-decoration:none;display:none}.detail-more-link:hover{text-decoration:underline}.detail-menu-wrap{position:absolute;top:14px;right:14px}.detail-menu-btn{cursor:pointer;color:var(--text2);letter-spacing:2px;background:0 0;border:none;border-radius:4px;padding:2px 7px;font-size:18px;line-height:1}.detail-menu-btn:hover{background:var(--bg2);color:var(--text)}.detail-close-btn{background:var(--bg2);border:.5px solid var(--border2);cursor:pointer;width:32px;height:32px;color:var(--text);z-index:5;opacity:.5;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;transition:opacity .15s,background .15s;display:inline-flex;position:absolute;top:12px;left:12px}.detail-close-btn:hover{opacity:1;background:var(--bg2)}.detail-close-btn i{font-size:20px;line-height:1}.detail-poster-wrap{position:relative}.detail-poster-edit-btn{background:var(--bg);border:.5px solid var(--border2);cursor:pointer;width:36px;height:36px;color:var(--text);opacity:0;z-index:3;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:opacity .15s,background .15s;display:inline-flex;position:absolute;bottom:8px;left:8px}.detail-poster-wrap:hover .detail-poster-edit-btn{opacity:.85}.detail-poster-edit-btn:hover{opacity:1;background:var(--bg2)}@media (width<=600px){.detail-poster-edit-btn{opacity:.85}}.detail-poster-wrap{flex-shrink:0}.detail-poster{object-fit:cover;border-radius:4px;width:179px;height:269px;display:block}.detail-overview{transition:max-height .2s}.detail-menu-dd{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius);z-index:10;min-width:220px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000002e}.detail-menu-dd.open{display:block}.detail-menu-opt{letter-spacing:1px;text-transform:uppercase;cursor:pointer;color:var(--danger-text);white-space:nowrap;padding:10px 14px;font-family:Courier Prime,monospace;font-size:12px;transition:background .1s}.detail-menu-opt:hover{background:var(--bg2)}.detail-remove-success{border-radius:var(--radius-lg);background:#00000073;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.detail-remove-success.open{display:flex}.detail-remove-msg{background:var(--success-bg);color:var(--success-text);border:.5px solid var(--success-border);border-radius:var(--radius);text-align:center;padding:1.25rem 1.75rem;font-size:14px;line-height:1.6}.upload-zone{border:1px dashed var(--border2);border-radius:var(--radius-lg);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:1rem;transition:background .15s;display:flex;position:relative}.upload-zone:hover,.upload-zone.drag-over{background:var(--bg2);border-color:var(--text2)}.upload-zone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-icon{color:var(--text);font-size:22px}.upload-text,.upload-sub{letter-spacing:1px;text-transform:uppercase;color:var(--text);font-family:Courier Prime,monospace;font-size:12px}.add-tape-option{border:1px solid var(--border2);border-radius:var(--radius-lg);color:var(--text);text-align:center;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;width:100%;min-height:0;padding:12px;font-family:inherit;display:flex;position:relative}.add-tape-option.is-dropzone{border-style:dashed}.add-tape-option.is-clickable{cursor:pointer;transition:background .15s,border-color .15s}.add-tape-option.is-clickable:hover,.add-tape-option.drag-over{background:var(--bg2);border-color:var(--text2)}.add-tape-icon{color:var(--text);font-size:26px;line-height:1}.add-tape-number{color:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:VT323,monospace;font-size:28px;line-height:1;position:absolute;top:8px;left:14px}.add-tape-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text);white-space:normal;text-align:center;background:0 0;max-width:100%;padding:0;font-family:Courier Prime,monospace;font-size:11px}.add-tape-search-row{align-items:center;gap:8px;width:100%;display:flex}.add-tape-search-row .input{text-align:center}.add-tape-search-row .input::placeholder{letter-spacing:1.2px;text-transform:uppercase;color:var(--text);opacity:1;text-align:center;font-family:Courier Prime,monospace;font-size:11px}.add-tape-camera-help{cursor:pointer;color:var(--info-text);letter-spacing:.5px;background:0 0;border:none;padding:4px 6px;font-family:Courier Prime,monospace;font-size:11px;text-decoration:underline;position:absolute;bottom:8px;right:12px}.add-tape-title{text-align:center;color:var(--text);padding:4px 8px;font-family:Courier Prime,monospace;font-size:14px;font-weight:700}.img-preview{object-fit:contain;background:var(--bg2);border-radius:var(--radius);width:100%;max-height:300px;margin-bottom:12px;display:block}video{border-radius:var(--radius);background:#000;width:100%;margin-bottom:10px;display:block}canvas{display:none}.guess-row{border-bottom:.5px solid var(--border);cursor:pointer;border-radius:var(--radius);align-items:center;gap:10px;padding:10px 8px;transition:background .1s;display:flex}.guess-row:last-child{border-bottom:none}.guess-row:hover{background:var(--bg2)}.guess-row.selected{background:var(--success-bg);outline:.5px solid var(--success-border)}.g-rank{color:var(--text2);text-align:center;min-width:22px;font-family:VT323,monospace;font-size:22px}.g-rank.top{color:var(--text)}.g-info{flex:1;min-width:0}.g-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.g-meta{color:var(--text2);margin-top:2px;font-size:12px}.conf-wrap{flex-shrink:0;width:80px}.conf-bg{background:var(--bg2);border-radius:2px;height:4px;margin-bottom:4px;overflow:hidden}.conf-fill{background:var(--text);border-radius:2px;height:100%;transition:width .4s}.conf-pct{color:var(--text2);text-align:right;font-size:12px}.auth-wrap{background:var(--bg3);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--bg);border:.5px solid var(--border2);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:2.5rem 2rem}.auth-logo{letter-spacing:3px;text-align:center;margin-bottom:4px;font-family:VT323,monospace;font-size:42px;line-height:1}.auth-sub{letter-spacing:4px;text-transform:uppercase;color:var(--text2);text-align:center;margin-bottom:2rem;font-size:11px}.auth-title{letter-spacing:2px;text-transform:uppercase;color:var(--text2);text-align:center;margin-bottom:1.5rem;font-size:14px}.auth-field{margin-bottom:1rem}.auth-field label{letter-spacing:2px;text-transform:uppercase;color:var(--text2);margin-bottom:6px;font-size:11px;display:block}.auth-footer{color:var(--text2);text-align:center;margin-top:1.25rem;font-size:12px}.auth-footer a{color:var(--info-text);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-error{background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius);margin-bottom:1rem;padding:10px 14px;font-size:13px}.settings-section-title{letter-spacing:3px;text-transform:uppercase;color:var(--text2);margin-bottom:.75rem;font-size:11px}.settings-row{align-items:center;gap:12px;display:flex}.settings-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.settings-edit-row{flex-direction:column;gap:10px;display:flex}.theme-toggle{border:.5px solid var(--border2);border-radius:var(--radius);display:flex;overflow:hidden}.theme-btn{letter-spacing:1px;text-transform:uppercase;color:var(--text2);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:Courier Prime,monospace;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.theme-btn:hover{background:var(--bg2);color:var(--text)}.theme-btn.active{background:var(--text);color:var(--bg)}@media (width<=600px){:root,[data-shelf-zoom="2"]{--shelf-cols:2;--shelf-gap:12px;--tape-card-padding:10px;--tape-title-size:14px;--tape-meta-size:12px}[data-shelf-zoom="1"]{--shelf-cols:1;--shelf-gap:14px;--tape-card-padding:14px;--tape-title-size:17px;--tape-meta-size:14px}[data-shelf-zoom="3"]{--shelf-cols:3;--shelf-gap:8px;--tape-card-padding:6px;--tape-title-size:11px;--tape-meta-size:10px}.container{padding:1.25rem 1rem}.logo{font-size:32px}.detail-overlay{background:var(--bg);justify-content:stretch;align-items:stretch;padding:0;overflow-y:auto}.detail-box,.detail-box-routed,.detail-standalone .detail-box{background:var(--bg);border:none;border-radius:0;width:100%;max-width:none;min-height:100svh;padding:60px 16px 32px}.detail-standalone{padding:0}.auth-card{padding:2rem 1.25rem}.shelf-grid{grid-template-columns:repeat(var(--shelf-cols,2), minmax(0, 1fr));gap:var(--shelf-gap,12px);width:100%}.tape-card{padding:var(--tape-card-padding,10px);min-width:0;overflow:hidden}.tape-wrap{min-width:0}.tape-title{font-size:var(--tape-title-size,14px)}.tape-meta{font-size:var(--tape-meta-size,12px)}.tape-title-short{text-overflow:ellipsis}.tape-title-full{overflow-wrap:anywhere;word-break:break-word}.tab{padding:13px 16px;font-size:13px}.btn{padding:13px 18px;font-size:14px}.sort-dd-opt,.view-dd-opt,.user-menu-opt,.detail-menu-opt,.export-dd-opt{padding:14px 16px;font-size:13px}.sort-dd-menu,.view-dd-menu,.user-menu-dd{min-width:200px}.detail-menu-dd{min-width:240px}.genre-chip{letter-spacing:1.2px;padding:5px 11px;font-size:11px}.auth-footer{font-size:14px}.auth-footer a{padding:8px 0;display:inline-block}.shelf-toolbar{flex-wrap:wrap;row-gap:8px}.shelf-toolbar .input{flex:1;order:1;min-width:120px}.shelf-toolbar .export-dd{order:2}.shelf-toolbar .view-dd{order:3}.shelf-toolbar .sort-dd{flex-basis:100%;order:10}.input{padding:12px 14px;font-size:16px}.detail-close-btn{width:44px;height:44px;font-size:24px;top:10px;left:10px}.detail-close-btn i{font-size:24px}.detail-menu-btn{padding:8px 12px;font-size:26px}.detail-header{flex-direction:column;align-items:center;gap:16px}.detail-poster-wrap{justify-content:center;width:100%;display:flex}.detail-poster{aspect-ratio:2/3;width:70%;max-width:280px;height:auto}.detail-meta{text-align:center;width:100%;padding-right:0}.detail-title-text{text-align:center;margin-bottom:6px;font-size:22px;line-height:1.2}.detail-meta-row{color:var(--text2);flex-flow:wrap;justify-content:center;align-items:center;gap:4px 10px;font-size:13px}.detail-genres-chips{display:none!important}.detail-genres-text{text-align:center;color:var(--text2);letter-spacing:.5px;margin-top:4px;font-size:13px;display:block}.detail-overview{color:var(--text);text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.55;margin-top:16px!important}}
