
:root{color-scheme:dark;--bg:#101413;--panel:#191e1c;--line:#333a35;--ink:#f0f0df;--muted:#a2aaa0;--lime:#d2ee8c;--green:#8fe0aa;--red:#ff7d7d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,label.small-button,.photo-link{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,label:focus-within,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{color:inherit}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 5vw}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:13px;font-size:24px;font-weight:800;letter-spacing:1px}.brand b{color:var(--lime)}.brand small{display:block;font:9px/1.6 monospace;letter-spacing:3px}.tape-logo{display:grid;place-items:center;border:2px solid var(--lime);border-radius:5px;width:47px;height:34px;color:var(--lime);font-size:36px;line-height:1}.connection{margin-left:auto;display:flex;align-items:center;gap:7px;font:11px monospace;color:var(--muted)}.connection i{width:6px;height:6px;border-radius:50%;background:var(--lime)}main{max-width:1440px;margin:auto;padding:0 5vw 60px}.intro{display:flex;align-items:center;justify-content:space-between;padding:54px 0 38px;gap:24px}.eyebrow{font:10px/1.6 monospace;letter-spacing:2px;color:var(--lime);margin:0 0 18px}h1{font-size:clamp(32px,4.2vw,60px);line-height:1.08;letter-spacing:-2.7px;margin:0;font-weight:600}h1 span{color:#aab4a8}.subhead{color:var(--muted);margin:18px 0 0}.counter{border:1px solid var(--line);padding:22px 28px;min-width:235px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;transform:rotate(2deg);background:linear-gradient(110deg,#20271f,#171d19)}.counter>span:first-child{font:58px/1 monospace;color:var(--lime)}.counter div{font:10px/1.7 monospace;align-self:center;color:var(--muted)}.counter .cassette{grid-column:1/-1;letter-spacing:12px;color:#606d5d;border-top:1px solid var(--line);padding-top:10px;font:22px monospace;text-align:center}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:30px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:18px 0;color:var(--muted);font-size:13px}.tabs button.active{border-color:var(--lime);color:var(--lime)}#count-tab,.section-title h2 span{font:10px monospace;margin-left:7px;padding:3px 7px;background:#293125;border-radius:3px}.scan-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:26px}.camera-card{border:1px solid var(--line);background:var(--panel);border-radius:7px;overflow:hidden}.card-heading{display:flex;justify-content:space-between;padding:17px 21px;font:10px monospace;letter-spacing:1.5px}.card-heading>span:last-child{color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:8px}.viewfinder{position:relative;height:350px;background:radial-gradient(ellipse at center,#242d25 0,#121914 65%);overflow:hidden}.viewfinder:before{content:'';position:absolute;inset:0;opacity:.16;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#89a77e 4px);z-index:1}.camera-idle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.camera-symbol{font:70px/1 monospace;color:#a4bf83;margin-bottom:10px}h2{font-size:23px;letter-spacing:-.7px;font-weight:500;margin:0 0 10px}.camera-idle p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 22px}.primary{background:var(--lime);color:#172111;border:0;border-radius:4px;padding:13px 19px;font-weight:700;font-size:13px;display:inline-flex;justify-content:center;gap:30px;align-items:center}.photo-link{color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px;margin-top:14px;cursor:pointer;position:relative;z-index:2}.camera-footer{position:absolute;bottom:13px;left:18px;right:18px;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#9ba991;z-index:2}.camera-rec{color:#75826c}.camera-controls{padding:15px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.toggle{font-size:12px;display:flex;align-items:center;gap:9px;cursor:pointer}.toggle input{accent-color:var(--lime);width:17px;height:17px}.toggle span{display:none}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:4px;padding:6px 8px;font-size:11px}.camera-controls>div{display:flex;gap:6px}.scan-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:13px 18px}.scan-bottom>span{font-size:10px;color:var(--muted)}.small-button{background:#263020;color:var(--lime);border:1px solid #46553a;border-radius:4px;padding:9px 12px;font-size:11px;display:inline-block;cursor:pointer}.result-column{display:flex;flex-direction:column;gap:16px}.result-card{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:25px;min-height:300px}.result-card .eyebrow{color:var(--muted)}.result-placeholder{font:40px/1 monospace;color:#65745d;margin:0 0 16px}.result-card>p:not(.eyebrow){color:var(--muted);font-size:12px}.legend{border-top:1px solid var(--line);padding-top:16px;margin-top:23px;display:flex;gap:18px;font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.red-dot{background:var(--red)}.green-dot{background:var(--green)}.manual-card{border:1px solid var(--line);border-radius:7px;padding:18px 20px;background:var(--panel)}.manual-card label{font:9px monospace;letter-spacing:1.6px;color:var(--muted)}.input-row{display:flex;gap:8px;margin:12px 0 8px}.input-row input{flex:1;min-width:0}.input-row button{background:var(--lime);border:0;border-radius:4px;color:#172111;width:42px;font-size:22px}input,textarea,select{background:#111713;border:1px solid #3a4539;color:var(--ink);padding:12px;border-radius:4px;max-width:100%}input::placeholder,textarea::placeholder{color:#768273}.manual-card small{font-size:10px;color:#82907f}.tip{display:flex;gap:10px;padding:0 4px;color:var(--muted);font-size:11px}.tip>span{color:var(--lime);font-size:22px}.tip p{margin:0;line-height:1.8}.tip b{color:var(--ink);font-weight:400}.recent-section{margin-top:35px}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:20px 0}.section-title h2{font-size:18px;margin:0}.text-button{border:0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.history{border-top:1px solid var(--line)}.empty-inline{color:#7e8b7a;font-size:12px;padding:14px 0}.history-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid #29312b;padding:14px 0}.history-row .number{font:10px monospace;color:#73806f}.history-row strong{font-size:13px;font-weight:500}.history-row small{margin-left:auto;font:9px monospace;letter-spacing:.5px}.owned-title{color:var(--red)!important}.missing-title{color:var(--green)!important}.result-card.owned{border-color:#864747}.result-card.missing{border-color:#427956}.verdict-badge{display:inline-block;font:10px monospace;letter-spacing:1px;padding:5px 8px;border:1px solid currentColor;margin:0 0 18px}.result-title{font-size:28px;line-height:1.2;overflow-wrap:anywhere;margin:0 0 15px}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.candidate-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.candidate-list button{font-size:11px;background:#252e25;border:1px solid #45523d;padding:6px 9px;border-radius:4px}.similar{background:#302d20;color:#dfd39e;padding:10px;font-size:11px;border-radius:4px}.collection-title{margin-bottom:25px}.collection-title h2{font-size:32px}.collection-title .eyebrow{margin-bottom:7px}.collection-toolbar{display:flex;gap:12px;margin-bottom:25px}.collection-toolbar input{flex:1;min-width:0}.movie-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.movie-card{border:1px solid var(--line);background:var(--panel);padding:20px;position:relative;overflow:hidden;border-left:4px solid var(--lime);min-height:155px}.movie-card .tape-mark{font:10px monospace;color:#7d9072;margin-bottom:18px}.movie-card h3{margin:0 0 5px;font-size:19px;font-weight:500;line-height:1.2;overflow-wrap:anywhere}.movie-card p{font-size:11px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.movie-card .remove{position:absolute;top:12px;right:12px;font-size:10px;background:none;border:0;color:#8e9b86}.collection-empty{grid-column:1/-1;text-align:center;padding:70px 20px;border:1px dashed var(--line);color:var(--muted)}.collection-empty h3{color:var(--ink)}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tool-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.tool-card h3{font-size:20px;font-weight:500;margin:0 0 12px}.tool-card p{color:var(--muted);font-size:13px;line-height:1.8}.tool-card textarea{display:block;width:100%;margin:15px 0}.tool-card .small-button{margin:5px 5px 0 0}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#7e8b77}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #536348;background:var(--panel);color:var(--ink);padding:30px;border-radius:9px}dialog::backdrop{background:#050a08d9;backdrop-filter:blur(5px)}dialog p{font-size:13px;color:var(--muted)}dialog h2{font-size:27px}dialog label{font-size:12px;display:block;margin:17px 0 8px}dialog label small{color:var(--muted)}dialog input,dialog textarea{width:100%;display:block;margin:8px 0}dialog .primary{width:100%;margin-top:15px}.dialog-close{position:absolute;right:15px;top:10px;font-size:24px;border:0;background:none}.form-error{color:var(--red);font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--ink);color:#162010;z-index:20;padding:12px 20px;border-radius:5px;max-width:90vw;width:max-content;font-size:13px;transition:transform .2s;box-shadow:0 4px 30px #0008}#toast.show{transform:translateX(-50%) translateY(0)}video{width:100%;height:100%;object-fit:cover;display:none}#guide{position:absolute;inset:0;z-index:2;pointer-events:none}.scan-corners{position:absolute;left:8%;right:8%;top:25%;bottom:25%;border:2px solid var(--lime);border-radius:7px;box-shadow:0 0 0 300px #0004}.guide-label{position:absolute;top:15%;width:100%;text-align:center;font:9px monospace;letter-spacing:2px;color:var(--lime)}[hidden]{display:none!important}@media(min-width:1500px){header,footer{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:850px){.scan-grid{grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);gap:16px}.intro{padding-top:35px}.counter{min-width:190px;padding:18px}.result-card{padding:20px}.legend{gap:10px;flex-wrap:wrap}.viewfinder{height:350px}.camera-controls{flex-wrap:wrap}.movie-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header{height:77px;padding:0 20px;gap:10px}.brand{font-size:20px}.brand small{font-size:8px}.tape-logo{width:36px;height:28px;font-size:29px}.connection{font-size:9px}.intro{padding:30px 0 25px;align-items:flex-start;gap:10px}main{padding:0 20px 35px}h1{font-size:34px;letter-spacing:-1.5px}.intro .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:12px}.subhead{font-size:12px;max-width:250px;margin-top:13px}.counter{min-width:0;width:75px;display:block;padding:8px;text-align:center;transform:rotate(3deg)}.counter>span:first-child{font-size:32px}.counter div{font-size:6px;line-height:1.5;margin-top:5px}.counter .cassette{display:none}.tabs{gap:22px;margin-bottom:20px}.tabs button{font-size:11px;padding:14px 0}.scan-grid{grid-template-columns:1fr}.viewfinder{height:315px}.result-card{min-height:0;padding:20px}.result-placeholder{display:none}.result-card>h2{font-size:20px}.result-card>p:not(.eyebrow){margin-bottom:0}.legend{margin-top:18px;padding-top:14px;gap:25px}.tip{padding:0 2px}.card-heading{font-size:9px}.camera-controls{flex-wrap:nowrap;padding:13px}.camera-controls .icon-btn{font-size:10px;padding:6px}.toggle{font-size:11px}.scan-bottom{padding:12px 13px}.scan-bottom>span{max-width:60%}.recent-section{margin-top:25px}.section-title h2{font-size:16px}.tools-grid,.movie-list{grid-template-columns:1fr}.collection-title h2{font-size:28px}.collection-toolbar select{max-width:135px;font-size:12px}.collection-toolbar input{font-size:13px}.tool-card{padding:20px}footer{padding:20px;gap:10px;font-size:8px}footer>span:nth-child(2){display:none}.result-title{font-size:28px}#install{position:fixed;bottom:15px;right:15px;background:var(--lime);color:#172111;z-index:4}.camera-idle .primary{padding:14px 22px}.collection-title .primary{padding:12px;font-size:12px}}
/* EDEN / AFTER HOURS — synthwave skin */
:root{--bg:#090c22;--panel:#12152ceF;--line:#44315c;--ink:#f6eafe;--muted:#ada8c8;--lime:#68f1f7;--green:#77ffc0;--red:#ff757e}
body{background:#090c22 url('/synthwave.svg') center top/cover fixed no-repeat}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#080d2399,#090d2340 35%,#090c2399)}header{background:#090c22d9;border-color:#664178;backdrop-filter:blur(15px)}.brand{font-style:italic;letter-spacing:2px;text-shadow:2px 2px #9b297a}.brand b{color:#ff85d7;text-shadow:0 0 15px #ff27b388}.brand small{font-style:normal;color:#8ce6f1;text-shadow:none}.tape-logo{border-color:#fd82d8;color:#fd82d8;box-shadow:0 0 14px #ff4ec02b}h1{font-weight:800;font-style:italic;text-shadow:3px 3px #432354,0 0 25px #aa47ca44;letter-spacing:-2px}h1 span{background:linear-gradient(#fff1fc 0%,#f7b6f0 42%,#e378cb 50%,#89deff 55%,#f1d8ff 100%);color:transparent;background-clip:text;-webkit-background-clip:text}.eyebrow{color:#ff9cdd}.subhead{color:#e1caec;text-shadow:0 2px 4px #000}.counter{background:#11162be6;border-color:#fb67d4;box-shadow:5px 5px 0 #45294e,0 0 30px #fc3aa326}.counter>span:first-child{color:#ff9adc}.counter div{color:#dac5e8}.counter .cassette{color:#70dce8;border-color:#734579}.tabs{background:#11142ad9;backdrop-filter:blur(10px);padding:0 20px;border:1px solid #49335e;border-radius:5px}.tabs button.active{color:#7df6ff;border-color:#ff73d2}.camera-card,.manual-card,.result-card,.tool-card,.movie-card{background:#11142bef;backdrop-filter:blur(12px);border-color:#634173;box-shadow:0 8px 30px #05051644}.viewfinder{background:radial-gradient(ellipse at center,#272246,#0b1027 70%)}.viewfinder:before{background:repeating-linear-gradient(0deg,transparent,transparent 3px,#f08edd 4px)}.camera-symbol{color:#fc9ce1;text-shadow:0 0 25px #f75abd55}.primary{background:linear-gradient(110deg,#ff9cdd,#ed6bbe);color:#23102f;box-shadow:3px 3px 0 #663e79;border:1px solid #ffc6eb;border-radius:3px}.primary:hover{filter:brightness(1.12)}.small-button{background:#242044;color:#9efaff;border-color:#725399}.input-row button{background:#ff91d6;color:#29132f}.input-row input,input,select,textarea{background:#090e23;border-color:#584367}.camera-footer{color:#c4a1d2}.camera-rec{color:#fb7bc5}.scan-bottom,.camera-controls{border-color:#443155}.tip{background:#11132ad9;padding:12px!important;border:1px solid #443155;border-radius:5px}.tip b{color:#f8c8ed}.history{background:#11132ade;padding:0 18px;border:1px solid #49365c;border-radius:5px}.history-row{border-color:#49335d}.result-card.owned{border-color:var(--red);box-shadow:0 0 20px #ff516211}.result-card.missing{border-color:var(--green);box-shadow:0 0 20px #55ffbb11}.owned-title{color:var(--red)!important;text-shadow:0 0 12px #ff485333}.missing-title{color:var(--green)!important;text-shadow:0 0 12px #61ffb833}.legend{border-color:#503761}.movie-card{border-left-color:#f586dc}.movie-card .tape-mark{color:#92dbef}.collection-empty{background:#11132ae6;border-color:#88639a}.tool-card h3{color:#f7b4e6}.similar{background:#342740;color:#ffe3ae}dialog{background:#16172f;border-color:#d179c2}dialog::backdrop{background:#08091cd9}footer{background:#090d24e6;color:#aa95c2;border-color:#593767}.connection i{box-shadow:0 0 9px #7cecff88}#count-tab,.section-title h2 span{background:#422a52;color:#f5b8e5}#toast{background:#f2d5f1;color:#281332}.section-title h2{color:#f8def9}.tool-card .text-button{color:#f1a2d9}
@media(max-width:650px){body{background-size:auto 100vh;background-position:64% top}.intro{min-height:190px}.tabs{gap:19px;padding:0 13px}h1{font-size:32px}.counter{margin-top:15px}.scan-grid{gap:20px}.card-heading{color:#e6b7e4}#install{background:#ff93d5}}
.quick-verdict{position:absolute;z-index:3;bottom:38px;left:18px;right:18px;background:#0a1028ed;border:1px solid currentColor;padding:12px 15px;backdrop-filter:blur(10px);border-radius:4px;pointer-events:none}.quick-verdict small{display:block;font:9px monospace;letter-spacing:1px}.quick-verdict strong{display:block;font-size:23px;line-height:1.2;margin-top:5px;overflow-wrap:anywhere}.camera-idle:has(~.quick-verdict:not([hidden])){padding-bottom:95px}.camera-idle:has(~.quick-verdict:not([hidden])) .camera-symbol{display:none}
#account-badge{font:10px monospace;color:#f5b6e4;max-width:180px;overflow-wrap:anywhere}.read-only #add-manual,.read-only #add-result,.read-only .remove,.read-only #import-file,.read-only label[for="import-file"],.read-only #bulk,.read-only #bulk-add,.no-export #export{display:none!important}.account-description{color:var(--muted);font-size:12px}.role-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.role-guide article{background:#17162eeF;padding:18px;border:1px solid #61416e;border-radius:5px}.role-guide b{color:#f5b6e4}.role-guide p{font-size:12px;color:var(--muted)}.user-row{display:flex;align-items:center;gap:20px;padding:18px;background:#15162eed;border:1px solid #4c355c;margin:10px 0;border-radius:5px}.user-row>div{flex:1}.user-row strong{display:block}.user-row small{display:block;color:var(--muted);font-size:11px}.user-role{color:var(--lime);font:11px monospace}.user-state{font-size:11px;color:var(--muted)}#user-active{display:inline-block;width:17px;vertical-align:middle;margin:0 5px 0 0}#user-role{width:100%;display:block;margin-top:8px}.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}@media(max-width:650px){#account-badge{font-size:8px;max-width:80px}.connection{display:none}.role-guide{grid-template-columns:1fr;gap:8px}.role-guide article{padding:12px}.role-guide p{margin:5px 0}.user-row{gap:10px;flex-wrap:wrap}.user-row>div{min-width:130px}.user-state{display:none}.tabs{gap:15px}.tabs button{font-size:10px}}
.password-field{position:relative;display:flex;align-items:center;margin:8px 0}.password-field input{margin:0;padding-right:76px;min-width:0}.password-toggle{position:absolute;right:7px;border:1px solid #725399;background:#252040;color:#9efaff;border-radius:4px;font-size:11px;padding:7px 10px;min-height:34px}.password-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
#photo-review{max-width:540px}#photo-canvas{display:block;width:100%;height:auto;max-height:50vh;object-fit:contain;background:#080c22;border:1px solid #725399}.photo-review-actions{display:flex;gap:10px;justify-content:space-between;margin:12px 0}#photo-error{color:var(--red)}.scan-corners{left:12%;right:12%;top:10%;bottom:12%}.guide-label{top:3%;font-size:8px}
