:root{--ink:#222325;--paper:#f7f7f7;--panel:#fff;--lime:#1dbf73;--muted:#74767e;--line:#e4e5e7;--red:#e05656}
.dashboard .detail-actions button.view-job:hover{background:var(--lime);border-color:var(--lime);color:#fff}
.dashboard .credit-pill{background:#e8faf1;color:#087a46;border-radius:999px;padding:8px 12px;font-weight:800}.dashboard .storage-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:18px}.dashboard .storage-card div{display:flex;flex-direction:column;gap:4px}.dashboard .storage-card strong{font-size:13px}.dashboard .storage-card span{font-size:11px;color:var(--muted)}.dashboard .storage-card button{border:0;background:#e8faf1;color:#087a46;border-radius:7px;padding:10px 14px;font-weight:800;cursor:pointer}.dashboard .storage-card button:hover{background:#d4f6e5}.dashboard .storage-card button:disabled{opacity:.55}#creditEstimate{display:block;color:#087a46;margin-top:6px;font-weight:700}@media(max-width:600px){.dashboard .credit-pill{display:none}.dashboard .storage-card{align-items:flex-start;flex-direction:column}}
.dashboard .nav-link{border:0;background:none;color:var(--ink);font-weight:700;cursor:pointer}.free-option{display:flex;align-items:flex-start;gap:12px;background:#e8faf1;border:1px solid #b9ecd4;border-radius:10px;padding:14px!important}.free-option input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--lime)}.free-option span{display:flex;flex-direction:column;gap:3px}.free-option strong{font-size:13px}.free-option small{color:#087a46;font-weight:500}.public-library{padding:60px 0}.library-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.library-head h1{font-size:clamp(38px,5vw,60px);letter-spacing:-.05em;margin:8px 0}.library-head p:last-child{color:var(--muted)}.library-head button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 15px;font-weight:700;cursor:pointer}.public-library>input{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:22px;font-size:15px}.public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-card{display:flex;flex-direction:column;min-height:300px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.public-card>span{color:#087a46;font-size:10px;font-weight:800;letter-spacing:.12em}.public-card h2{font-size:23px;margin:18px 0 8px}.public-card p{color:var(--muted);font-size:13px;line-height:1.6}.public-card div{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:20px 0}.public-card small{color:var(--muted)}.public-card a{display:block;text-align:center;background:var(--lime);color:#fff;border-radius:8px;padding:12px;text-decoration:none;font-weight:800}.library-empty{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:14px;padding:60px;text-align:center;color:var(--muted)}@media(max-width:900px){.public-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.public-grid{grid-template-columns:1fr}.library-head{align-items:flex-start;flex-direction:column;gap:18px}}
.dashboard{max-width:1280px!important;padding-top:22px!important}.dashboard header{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px}.dashboard .mark{background:var(--lime);border-radius:7px;color:#fff}.dashboard nav{font-family:Manrope,sans-serif!important}.dashboard .dash-head{padding:64px 4px 34px}.dashboard .dash-head h1{font-size:clamp(42px,5vw,64px);letter-spacing:-.05em}.dashboard .eyebrow{font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.12em;color:#62646a}.dashboard .primary{background:var(--lime);color:#fff;border-radius:8px;box-shadow:none;padding:14px 20px}.dashboard .primary:hover{background:#19a463;transform:none;box-shadow:none}.dashboard .summary-strip{border:0;gap:14px}.dashboard .summary-strip div{background:#fff;border:1px solid var(--line)!important;border-radius:12px;padding:20px 22px}.dashboard .summary-strip span{font-family:Manrope,sans-serif;font-weight:700}.dashboard .jobs-grid{gap:20px}.dashboard .job-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;min-height:330px;box-shadow:0 2px 8px #00000008}.dashboard .job-card:hover{border-color:#b5b6ba;box-shadow:0 8px 24px #00000012;transform:translateY(-2px)}.dashboard .job-status{font-family:Manrope,sans-serif;font-weight:700}.dashboard .job-status.running i{background:var(--lime);box-shadow:0 0 0 4px #1dbf7320}.dashboard .job-card h2{font-size:24px}.dashboard .job-progress-head{font-family:Manrope,sans-serif;font-size:12px}.dashboard .card-progress{height:8px;border-radius:99px;background:#ececec;overflow:hidden}.dashboard .card-progress i{background:var(--lime);border-radius:99px}.dashboard .job-stats strong{font-family:Manrope,sans-serif;font-weight:700}.dashboard .job-actions a,.dashboard .job-actions button{border-color:var(--line);border-radius:7px;font-weight:700}.dashboard .job-detail{padding-top:38px}.dashboard .detail-back{font-family:Manrope,sans-serif;font-size:13px}.dashboard .detail-hero{border:0;background:transparent;gap:18px}.dashboard .detail-identity,.dashboard .detail-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.dashboard .detail-kpi{border-left:1px solid var(--line)}.dashboard .detail-identity h1{font-size:clamp(36px,4vw,52px)}.dashboard .detail-kpi small,.dashboard .detail-kpi span{font-family:Manrope,sans-serif}.dashboard .detail-kpi strong{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.04em}.dashboard .detail-kpi i{background:var(--lime);box-shadow:0 0 0 4px #1dbf7320}.dashboard .detail-actions{padding:18px 0 22px}.dashboard .detail-actions a,.dashboard .detail-actions button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;font-family:Manrope,sans-serif;padding:12px 16px}.dashboard .detail-actions a:hover,.dashboard .detail-actions button:hover{border-color:var(--ink);background:#fff}.dashboard .detail-actions .view-job{background:var(--ink);color:#fff}.dashboard .detail-columns{border:0;background:transparent;gap:18px}.dashboard .search-panel,.dashboard .links-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;min-height:330px}.dashboard .links-panel{border-left:1px solid var(--line)}.dashboard .panel-title{border-color:var(--line);padding-bottom:18px}.dashboard .panel-title span{font-family:Manrope,sans-serif;font-weight:700;color:var(--lime)}.dashboard .search-panel h2{margin:30px 0 8px;font-size:26px}.dashboard .stage-copy{color:var(--muted);font-size:14px;line-height:1.6;max-width:520px;margin:0 0 30px}.dashboard .mega-progress{height:12px;border-radius:99px;background:#ececec;overflow:hidden}.dashboard .mega-progress i{background:var(--lime);border-radius:99px}.dashboard .recent-links a{grid-template-columns:minmax(0,1fr) 24px;min-height:56px;font-family:Manrope,sans-serif;font-size:12px;border-color:var(--line)}.dashboard .recent-links a:hover{background:#f5fff9}.dashboard .recent-links b{color:var(--lime);text-align:right}.dashboard .recent-links p{font-family:Manrope,sans-serif}.dashboard .menu-button{font-weight:800;color:var(--muted)}@media(max-width:900px){.dashboard .detail-hero{grid-template-columns:1fr 1fr}.dashboard .detail-identity{grid-column:1/-1}.dashboard .detail-kpi,.dashboard .detail-kpi:last-child{border:1px solid var(--line)}}@media(max-width:600px){.dashboard .detail-hero{grid-template-columns:1fr}.dashboard .detail-identity{grid-column:auto}.dashboard .summary-strip{gap:8px}}
.job-card[role=button]{cursor:pointer}.job-card[role=button]:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.job-detail{padding:45px 0 20px}.detail-back{border:0;background:none;padding:0 0 24px;font:600 12px "DM Mono";cursor:pointer;color:var(--muted)}.detail-back:hover{color:var(--ink)}.detail-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(180px,.55fr) minmax(180px,.55fr);border:1px solid var(--ink);background:var(--panel)}.detail-identity{padding:34px 38px;min-width:0}.detail-identity h1{font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.055em;margin:10px 0 20px}.detail-identity>p:last-child{color:var(--muted);line-height:1.6;max-width:720px}.detail-kpi{border-left:1px solid var(--ink);padding:35px 28px;display:flex;flex-direction:column;justify-content:center}.detail-kpi small{font:10px "DM Mono";letter-spacing:.12em;color:var(--muted)}.detail-kpi strong{font:500 clamp(28px,3.2vw,48px) "DM Mono";letter-spacing:-.06em;margin:14px 0}.detail-kpi span{font:10px "DM Mono";color:var(--muted)}.detail-kpi i{display:inline-block;width:7px;height:7px;background:#7fa400;border-radius:50%;box-shadow:0 0 0 4px #c9ff3d55;margin-right:8px}.detail-actions{display:flex;align-items:center;gap:10px;padding:17px 0 28px}.detail-actions a,.detail-actions button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:11px 15px;text-decoration:none;font:600 11px "DM Mono";cursor:pointer}.detail-actions a:hover,.detail-actions button:hover{background:var(--lime);color:var(--ink)}.detail-actions>span{font:11px "DM Mono";color:var(--muted)}.detail-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);border:1px solid var(--ink);background:var(--panel)}.search-panel,.links-panel{padding:30px 34px;min-height:350px}.links-panel{border-left:1px solid var(--ink)}.panel-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.panel-title p{margin:0}.panel-title span{font:10px "DM Mono";color:var(--muted)}.links-panel .panel-title span{color:#668700}.search-panel h2{font-size:24px;margin:34px 0 20px}.mega-progress{height:13px;background:#deddd4}.mega-progress i{display:block;height:100%;background:var(--ink);transition:width .5s}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.detail-stats div{padding:22px 14px 0 0}.detail-stats strong{display:block;font:500 25px "DM Mono"}.detail-stats small{color:var(--muted)}.recent-links a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:54px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:11px "DM Mono"}.recent-links a:hover{background:var(--lime)}.recent-links b{color:var(--muted);font-weight:400}.recent-links span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-links p{color:var(--muted);font:11px "DM Mono";padding-top:25px}@media(max-width:900px){.detail-hero{grid-template-columns:1fr 1fr}.detail-identity{grid-column:1/-1}.detail-kpi{border-left:0;border-top:1px solid var(--ink)}.detail-kpi:last-child{border-left:1px solid var(--ink)}.detail-columns{grid-template-columns:1fr}.links-panel{border-left:0;border-top:1px solid var(--ink)}}@media(max-width:600px){.detail-hero{grid-template-columns:1fr}.detail-kpi:last-child{border-left:0}.detail-actions{flex-wrap:wrap}.search-panel,.links-panel{padding:24px 18px}.detail-stats{grid-template-columns:1fr 1fr}.detail-identity{padding:28px 20px}}
.viewer-modal{position:fixed;inset:0;z-index:30;background:#11130f;display:grid;padding:18px;color:#e9e8df}.viewer-shell{min-width:0;min-height:0;border:1px solid #3c4037;display:grid;grid-template-rows:auto auto 1fr auto;background:#171914;box-shadow:0 0 80px #000}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #35382f}.viewer-header h2{font:600 25px Manrope;margin:4px 0 0;letter-spacing:-.03em}.viewer-header .eyebrow{color:var(--lime);margin:0}.viewer-tools{display:flex;align-items:center;gap:22px;color:#969b8d;font:11px "DM Mono"}.viewer-tools button{border:1px solid #4c5046;background:#24271f;color:#f2f0e8;width:38px;height:38px;font-size:24px;cursor:pointer}.viewer-ruler,.viewer-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 26px;background:#20231c;color:#8e9385;font:10px "DM Mono";letter-spacing:.08em}.viewer-ruler{border-bottom:1px solid #35382f}.viewer-ruler span:first-child{color:#d7d9ce}.virtual-scroller{overflow:auto;min-height:0;position:relative;scrollbar-color:var(--lime) #24271f;scrollbar-width:thin;outline:none}.virtual-scroller:focus{box-shadow:inset 0 0 0 1px #c9ff3d55}.virtual-canvas{position:relative;min-width:max-content;width:100%}.line-window{position:absolute;left:0;right:0;top:0}.code-line{height:24px;display:grid;grid-template-columns:100px minmax(max-content,1fr);font:12px/24px "DM Mono",monospace;white-space:pre}.code-line:hover{background:#25291f}.code-line>span{text-align:right;padding-right:20px;color:#60665a;user-select:none;border-right:1px solid #30342b}.code-line>code{font:inherit;padding:0 22px;color:#ced2c4}.viewer-loading{padding:40px;color:#8e9385;font:12px "DM Mono"}.viewer-loading.error{color:#ef765f}.viewer-footer{border-top:1px solid #35382f;padding-top:12px;padding-bottom:12px}.viewer-footer span:first-child{color:#cdd0c5}.viewer-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #c9ff3d20;margin-right:10px}@media(max-width:650px){.viewer-modal{padding:0}.viewer-header{padding:16px}.viewer-ruler,.viewer-footer{padding-left:16px;padding-right:16px}.viewer-footer span:last-child{display:none}.code-line{grid-template-columns:72px minmax(max-content,1fr)}}
.provider-line,.quality-line{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font:9px "DM Mono";color:var(--muted)}.provider-line strong{color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}.hidden{display:none!important}.noise{position:fixed;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.mark{background:var(--ink);color:var(--paper);padding:8px 7px;font:500 13px "DM Mono"}.eyebrow{font:500 11px "DM Mono";letter-spacing:.14em}.primary{border:0;background:var(--lime);color:var(--ink);font:700 14px Manrope;padding:15px 19px;display:flex;justify-content:space-between;gap:28px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}.primary:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}button:disabled{opacity:.55}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:8vw;gap:8vw;position:relative}.auth-brand{position:absolute;top:30px;left:34px;display:flex;gap:12px;align-items:center;font-weight:700}.auth-copy h1{font-size:clamp(54px,7vw,96px);line-height:.94;letter-spacing:-.065em;margin:17px 0 28px}.auth-copy h1 em{font-family:Georgia,serif;font-weight:400}.auth-copy>p:last-child{color:var(--muted);max-width:530px;line-height:1.7}.auth-card{background:var(--panel);border:1px solid var(--ink);padding:32px;box-shadow:8px 8px 0 var(--ink);max-width:470px;width:100%}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:28px}.auth-tabs button{flex:1;padding:12px;background:none;border:0;border-bottom:3px solid transparent;font:600 14px Manrope;cursor:pointer}.auth-tabs button.active{border-color:var(--lime)}label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}input,textarea{display:block;width:100%;border:1px solid var(--line);background:transparent;padding:13px;margin-top:7px;font:500 15px Manrope;outline:none}input:focus,textarea:focus{border-color:var(--ink);box-shadow:inset 3px 0 var(--lime)}textarea{resize:vertical}.auth-card .primary,.modal-card .primary{width:100%}.form-error,.job-error{color:var(--red);font-size:12px;background:#d54b3212;border-left:3px solid var(--red);padding:10px}.dashboard{max-width:1380px;margin:auto;padding:27px 34px 60px}.dashboard header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-weight:700}.dashboard nav{display:flex;align-items:center;gap:18px;font:12px "DM Mono";color:var(--muted)}.text-button{background:none;border:0;text-decoration:underline;cursor:pointer}.dash-head{display:flex;justify-content:space-between;align-items:end;padding:80px 0 42px}.dash-head h1{font-size:clamp(45px,6vw,72px);letter-spacing:-.055em;margin:5px 0 10px}.dash-head p:last-child{color:var(--muted)}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:34px}.summary-strip div{padding:19px 22px;border-right:1px solid var(--line)}.summary-strip div:last-child{border:0}.summary-strip span{display:block;font:500 25px "DM Mono"}.summary-strip small{color:var(--muted)}.jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.job-card{background:var(--panel);border:1px solid var(--line);padding:22px;min-height:360px;display:flex;flex-direction:column;transition:.2s}.job-card:hover{border-color:var(--ink);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.job-top{display:flex;justify-content:space-between}.job-status{font:500 10px "DM Mono";text-transform:uppercase;display:flex;align-items:center;gap:7px}.job-status i{width:7px;height:7px;border-radius:50%;background:var(--muted)}.job-status.running i{background:var(--lime);box-shadow:0 0 0 4px #c9ff3d33}.job-status.completed i{background:#718849}.job-status.failed i,.job-status.cancelled i{background:var(--red)}.menu-button{border:0;background:none;cursor:pointer;font-size:17px}.job-card h2{font-size:23px;letter-spacing:-.03em;margin:19px 0 8px}.job-topic{color:var(--muted);font-size:12px;line-height:1.5;height:36px;overflow:hidden}.job-progress-head{display:flex;justify-content:space-between;gap:12px;margin-top:19px;font:11px "DM Mono"}.job-progress-head span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-progress{height:7px;background:#deddd4;margin:9px 0 18px}.card-progress i{height:100%;display:block;background:var(--ink);transition:width .4s}.job-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.job-stats strong{display:block;font:500 14px "DM Mono";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-stats small{font-size:9px;color:var(--muted)}.job-meta{display:flex;gap:12px;margin-top:15px;color:var(--muted);font:9px "DM Mono"}.job-error{margin:12px 0 0}.job-actions{display:flex;gap:8px;margin-top:auto;padding-top:18px}.job-actions a,.job-actions button{border:1px solid var(--ink);background:none;color:inherit;text-decoration:none;padding:8px 10px;font:11px Manrope;cursor:pointer}.empty-state{border:1px dashed var(--line);padding:70px;text-align:center}.empty-state h2{font-size:28px}.empty-state .primary{margin:auto}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#171814aa;backdrop-filter:blur(4px)}.modal-card{position:relative;background:var(--paper);border:1px solid var(--ink);box-shadow:10px 10px 0 var(--lime);padding:34px;width:min(650px,100%);max-height:94vh;overflow:auto}.modal-card h2{font-size:32px;margin:8px 0 25px}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:27px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-note{font-size:11px;color:var(--muted);margin:-4px 0 18px}@media(max-width:950px){.jobs-grid{grid-template-columns:1fr 1fr}.auth-shell{grid-template-columns:1fr}.auth-copy{display:none}}@media(max-width:650px){.dashboard{padding:20px 16px}.dash-head{padding:55px 0 30px;align-items:start;gap:25px;flex-direction:column}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip div:nth-child(2){border-right:0}.jobs-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.auth-shell{padding:80px 20px 30px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body.modal-open{overflow:hidden}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.auth-brand .nav-link{margin-left:12px;padding:8px 10px;border:1px solid var(--line);border-radius:7px}.job-card{cursor:default}.job-card h2{min-width:0}.job-title-button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.job-title-button:hover{color:#087a46;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.job-status.incomplete i{background:#d18a16}.job-actions{flex-wrap:wrap}.job-actions button:disabled,.detail-actions button:disabled{cursor:wait}.dashboard .detail-actions{flex-wrap:wrap}.dashboard nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}.dashboard nav #userEmail{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-card>div{min-width:0}.storage-card>button{flex:0 0 auto}.public-library-shell{max-width:1280px;margin:0 auto;padding:22px 34px 60px}.public-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px}.public-header button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.library-search-label{margin:0 0 7px}.public-library>input{margin-top:0}.public-card button{display:block;width:100%;text-align:center;background:var(--lime);color:#fff;border:0;border-radius:8px;padding:12px;text-decoration:none;font-weight:800;cursor:pointer}.public-card button:hover{background:#19a463}.library-empty.error{color:var(--red);border-color:#e7b4b4}.app-notice{position:fixed;right:22px;bottom:22px;z-index:100;max-width:min(420px,calc(100vw - 32px));padding:13px 16px;border-radius:9px;background:#222325;color:#fff;box-shadow:0 12px 35px #0003;font-size:13px;opacity:0;pointer-events:none;transform:translateY(12px);transition:.18s}.app-notice.visible{opacity:1;transform:none}.app-notice.error{background:#9c3030}.download-frame{position:fixed;width:1px;height:1px;left:-9999px;border:0}.viewer-body{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 24px;background:#171914}.virtual-scroller{overflow-x:auto;overflow-y:hidden;min-width:0;min-height:0;position:relative;outline:none}.line-window{position:relative;left:auto;right:auto;top:auto;transform:none!important;min-width:max-content;width:100%;height:100%}.viewer-scrollbar{appearance:auto;writing-mode:vertical-lr;direction:rtl;width:24px;height:100%;min-height:0;margin:0;padding:6px 4px;border:0;border-left:1px solid #35382f;border-radius:0;background:#20231c;accent-color:var(--lime);box-shadow:none}.viewer-scrollbar:focus{border-color:#35382f;box-shadow:inset 0 0 0 2px var(--lime)}.viewer-loading{min-width:100%;white-space:normal}.code-line{min-width:max-content}.code-line>code{min-width:max-content}.viewer-footer>span:first-child{display:flex;align-items:center}.viewer-footer>span:first-child>span{display:inline}.viewer-footer i{flex:0 0 auto}@media(max-width:650px){.public-library-shell{padding:14px 16px 40px}.public-header{gap:12px}.auth-brand{left:20px;right:20px;flex-wrap:wrap}.auth-brand .nav-link{margin-left:auto}.dashboard header{align-items:flex-start;gap:12px}.dashboard nav{gap:9px}.dashboard nav #userEmail{max-width:135px}.job-actions{gap:6px}.storage-card>button{white-space:normal}.viewer-body{grid-template-columns:minmax(0,1fr) 20px}.viewer-scrollbar{width:20px}.viewer-tools{gap:8px}.viewer-tools #viewerRange{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.auth-brand .nav-link{background:#fff;color:var(--ink);font-weight:700;cursor:pointer}
.viewer-scrollbar{direction:ltr}
.public-downloads{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0!important;padding:12px 0 0!important}
.public-downloads button{min-width:0}
.danger-action{border-color:#d8a5a5!important;color:#a23333!important}
.danger-action:hover{background:#fff2f2!important;border-color:#a23333!important;color:#7f2020!important}
.viewer-footer i{background:#8e9385;box-shadow:none}
.job-status.cancelling i{background:#d18a16;box-shadow:0 0 0 4px #d18a1620}
.job-status.deleting i{background:#d18a16;box-shadow:0 0 0 4px #d18a1620}
.job-status.cleaning i{background:#d18a16;box-shadow:0 0 0 4px #d18a1620}
.job-status.verifying i{background:var(--lime);box-shadow:0 0 0 4px #1dbf7320}
.corpus-chat{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.chat-heading h2{font-size:28px;margin:7px 0 0}.chat-heading>span{font:700 10px "DM Mono";color:#087a46;background:#e8faf1;border-radius:99px;padding:9px 12px}.chat-messages{display:flex;flex-direction:column;gap:14px;max-height:520px;overflow:auto;padding:24px 0}.chat-message{max-width:82%;border-radius:12px;padding:14px 16px;background:#f2f3f2}.chat-message.user{align-self:flex-end;background:#e8faf1}.chat-message>span{display:block;color:var(--muted);font:700 9px "DM Mono";letter-spacing:.1em;margin-bottom:7px}.chat-message p{white-space:pre-wrap;line-height:1.55;font-size:14px;margin:0}.chat-message.thinking p,.chat-message.queued p{color:var(--muted)}.chat-message.failed{border-left:3px solid var(--red)}.chat-message button{margin-top:11px;border:0;background:none;padding:0;color:#087a46;font-weight:800;cursor:pointer}.chat-empty{color:var(--muted);font-size:13px;padding:18px 0}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}.chat-form textarea{margin:0;resize:vertical;min-height:58px;border-radius:9px;background:#fafafa}.chat-form .primary{align-items:center;border-radius:9px;box-shadow:none}.chat-note{color:var(--muted);font-size:11px;margin:10px 0 0}@media(max-width:650px){.corpus-chat{padding:22px 16px}.chat-heading{flex-direction:column}.chat-message{max-width:94%}.chat-form{grid-template-columns:1fr}.chat-form .primary{justify-content:center}}
