:root{--paper:#edeee8;--paper-2:#e4e6de;--paper-3:#d8dbd1;--ink:#11294a;--ink-hover:#0b1d38;--on-ink:#f6f7f2;--text:#16253c;--muted:#5b6a7a;--faint:#8a97a3;--line:#11294a26;--line-strong:#11294a4d;--grid-minor:#11294a0d;--grid-major:#11294a17;--accent:#d0301f;--accent-text:#a82416;--glass:#edeee8d1;--lift:0 1px 2px #11294a12, 0 10px 30px -12px #11294a33;--font-fa:"Vazirmatn", "Geist", system-ui, sans-serif;--font-en:"Geist", "Vazirmatn", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "Vazirmatn", monospace;--pad:clamp(18px, 4vw, 44px);--s1:6px;--s2:10px;--s3:16px;--s4:24px;--s5:36px;--s6:56px;--s7:88px;--t-display:clamp(2.5rem, 3.2vw + .8rem, 3.9rem);--t-h2:clamp(2rem, 2.5vw + .75rem, 3.1rem);--header-h:68px;--radius:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dirx:-1;--scrim:#0a1e37;--on-scrim:#eef4fb;--on-scrim-muted:#a9c0da;--scrim-to:left;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#0b1f38;--paper-2:#0e2542;--paper-3:#142f4f;--ink:#cfe0f2;--ink-hover:#e8f1fb;--on-ink:#0b1f38;--text:#e4edf7;--muted:#92a6be;--faint:#6b8099;--line:#cfe0f226;--line-strong:#cfe0f24d;--grid-minor:#cfe0f20b;--grid-major:#cfe0f216;--accent:#ff5a3c;--accent-text:#ff8168;--glass:#0b1f38c7;--lift:0 1px 2px #0000003d, 0 12px 32px -12px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[dir=ltr]{--dirx:1;--scrim-to:right}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100svh;color:var(--text);font-family:var(--font-fa);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.75}:root[lang=en] body{font-family:var(--font-en);line-height:1.6}h1,h2{color:var(--text);text-wrap:balance;margin:0;font-weight:650}button{font:inherit;color:inherit}.muted{color:var(--muted)}a{color:inherit}.btn{--h:46px;height:var(--h);border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--on-ink);cursor:pointer;transition:background-color .2s ease, border-color .2s ease, transform .25s var(--ease-out);justify-content:center;align-items:center;gap:10px;padding-inline:22px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink-hover);border-color:var(--ink-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn[disabled]{opacity:.55;cursor:progress;transform:none}.btn-sm{--h:38px;border-radius:10px;padding-inline:16px;font-size:.875rem}.btn-ghost{color:var(--text);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{background:var(--paper-2);border-color:var(--line-strong)}.btn-danger{background:var(--accent);border-color:var(--accent);color:#fff}.btn-danger:hover{background:var(--accent-text);border-color:var(--accent-text)}:where(button,a,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.linkish{cursor:pointer;color:var(--muted);border:0;border-block-end:1px solid var(--line-strong);background:0 0;padding:0;font-size:.875rem;text-decoration:none}.linkish:hover{color:var(--ink)}.linkish.danger:hover{color:var(--accent-text)}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:.8125rem;font-weight:500}.field input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-2);height:46px;color:var(--text);font:inherit;padding-inline:14px}.field input[readonly]{color:var(--muted);cursor:default;background:0 0}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field input[type=file]{height:auto;padding-block:10px}.code-input{font-family:var(--font-mono);letter-spacing:.42em;text-align:center;font-size:1.35rem}.form-error{color:var(--accent-text);margin:0;font-size:.875rem}.form-ok{color:var(--muted);margin:0;font-size:.875rem}.auth{min-height:100svh;padding:var(--pad);place-items:center;display:grid}.auth-card{border:1px solid var(--line);background:var(--paper-2);width:min(420px,100%);box-shadow:var(--lift);border-radius:18px;gap:22px;padding:clamp(26px,5vw,40px);display:grid}.auth-logo{width:38px;height:38px;color:var(--ink)}.auth-step{gap:18px;display:grid}.auth-step h1{font-size:1.6rem;line-height:1.3}.auth-sub{color:var(--muted);margin:-8px 0 0;font-size:.9375rem}.auth-google{gap:14px;display:grid}.auth-or{color:var(--muted);align-items:center;gap:12px;margin:0;font-size:.8125rem;display:flex}.auth-or:before,.auth-or:after{content:"";border-block-start:1px solid var(--line);flex:1}.g-logo{flex:none;width:18px;height:18px}.app-header{z-index:5;padding-inline:var(--pad);height:var(--header-h);border-block-end:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:26px;height:26px;color:var(--ink)}.tabs{gap:4px;margin-inline-start:12px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 14px;font-size:.9375rem}.tabs button:hover{color:var(--text)}.tabs button[aria-current=page]{background:var(--paper-3);color:var(--text);font-weight:600}.header-actions{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.lang-switch{border:1px solid var(--line-strong);border-radius:10px;display:inline-flex;overflow:hidden}.lang-switch button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:6px 11px;font-size:.8125rem}.lang-switch button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.icon-btn{cursor:pointer;border:1px solid var(--line-strong);background:0 0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:18px;height:18px}.i-sun{display:none}:root[data-theme=dark] .i-sun{display:block}:root[data-theme=dark] .i-moon{display:none}.app-main{width:min(920px,100%);padding:clamp(28px, 5vw, 52px) var(--pad);margin-inline:auto}.view{gap:var(--s4,24px);display:grid}.view-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.view-head h1{font-size:clamp(1.5rem,2vw + .7rem,2rem)}.projects{border-block-start:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.project{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-block:16px;display:flex}.project-main{min-width:0}.project-name{overflow-wrap:anywhere;margin:0;font-weight:600}.project-meta{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8125rem}.project-actions{flex:none;align-items:center;gap:14px;display:flex}.chip{border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:500}.chip-ready{color:var(--ink);border-color:var(--ink)}.chip-processing{color:var(--accent-text);border-color:var(--accent)}.chip-failed{color:#fff;background:var(--accent);border-color:var(--accent)}.empty{text-align:center;border:1px dashed var(--line-strong);background:var(--paper-2);border-radius:16px;padding:clamp(34px,7vw,64px)}.empty-title{margin:0 0 6px;font-size:1.0625rem;font-weight:600}.panel{border:1px solid var(--line);background:var(--paper-2);border-radius:16px;gap:16px;padding:clamp(20px,3vw,28px);display:grid}.panel h2{font-size:1.0625rem}.panel .btn{justify-self:start}.panel-danger{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.sessions{gap:10px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.sessions li{border-block-end:1px solid var(--line);justify-content:space-between;gap:14px;padding-block-end:10px;display:flex}.sessions li span:first-child{overflow-wrap:anywhere}.modal{background:0 0;border:0;max-width:min(440px,92vw);padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a1e3773}.modal-card{border:1px solid var(--line-strong);background:var(--paper);box-shadow:var(--lift);border-radius:18px;gap:18px;padding:clamp(22px,4vw,32px);display:grid}.modal-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=620px){.tabs{margin-inline-start:0}.brand span,.lang-switch{display:none}.project{flex-direction:column;align-items:flex-start;gap:10px}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.credits{font-family:var(--font-mono);white-space:nowrap;border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:5px 11px;font-size:.75rem}.credits-unlimited{color:var(--ink);border-color:var(--ink)}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;margin:0;display:grid}.stats>div{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:15px 18px}.stats dt{color:var(--muted);font-size:.75rem}.stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.5rem;font-weight:600}.scroll{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:.875rem}table.grid th,table.grid td{text-align:start;border-block-end:1px solid var(--line);white-space:nowrap;padding:9px 12px}table.grid th{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:.6875rem;font-weight:500}table.grid tbody tr:last-child td{border-block-end:0}table.grid td.is-admin{color:var(--accent-text);font-weight:600}.small{font-size:.8125rem}.mono{font-family:var(--font-mono)}.modal-wide{width:100%;max-width:min(720px,94vw)}.wizard{gap:16px}.wiz-head{gap:10px;display:grid}.wiz-steps{counter-reset:step;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wiz-steps li{counter-increment:step;color:var(--faint);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.75rem}.wiz-steps li:before{content:counter(step) ". "}.wiz-steps li[aria-current=step]{color:var(--on-ink);background:var(--ink);border-color:var(--ink)}.wiz-step{gap:12px;min-width:0;display:grid}.wiz-step p{margin:0}.modal-wide .modal-card{max-height:92svh;overflow:auto}.wiz-busy{margin:0;font-size:.875rem}.check{cursor:pointer;align-items:center;gap:9px;font-weight:500;display:flex}.check input{width:18px;height:18px;accent-color:var(--ink)}.pages{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:52vh;display:grid;overflow:auto}.page-thumb{cursor:pointer;background:var(--paper-2);border:1px solid var(--line);color:var(--muted);border-radius:10px;gap:6px;padding:8px;font-size:.75rem;display:grid}.page-thumb:hover{border-color:var(--ink);color:var(--text)}.page-thumb canvas{background:#fff;border-radius:4px;width:100%;height:auto}.straighten{touch-action:none;justify-self:center;max-width:100%;line-height:0;position:relative}.straighten canvas{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:52vh}.straighten svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.straighten .quad{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--accent)}.straighten .handle{fill:var(--paper);stroke:var(--accent);cursor:grab}.straighten .handle:active{cursor:grabbing}.prep-frame{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;padding:8px;display:grid}.prep-frame img{max-width:100%;max-height:48vh}.price-card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;gap:2px;padding:18px 20px;display:grid}.price-label{color:var(--muted);margin:0;font-size:.8125rem}.price{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:clamp(1.6rem,3vw + .8rem,2.2rem);font-weight:650}.price-lines{gap:6px;margin:0;font-size:.875rem;display:grid}.price-lines>div{justify-content:space-between;gap:12px;display:flex}.price-lines dt{color:var(--muted)}.price-lines dd{font-variant-numeric:tabular-nums;margin:0}.note{color:var(--muted);margin:0;font-size:.8125rem}.warning{background:color-mix(in srgb, var(--accent) 9%, var(--paper));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:10px;margin:0;padding:10px 12px;font-size:.875rem}.project-error{color:var(--accent-text)}.viewer{border:1px solid var(--line-strong);background:var(--paper);width:min(1200px,96vw);max-width:none;height:min(820px,90svh);max-height:none;box-shadow:var(--lift);border-radius:18px;padding:0;overflow:hidden}.viewer::backdrop{background:#0a1e378c}.viewer[open]{grid-template-rows:auto 1fr;display:grid}.viewer-bar{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.viewer-title{overflow-wrap:anywhere;margin:0;font-weight:600}.viewer-host{min-height:0;position:relative}.viewer-host canvas{width:100%;height:100%;display:block}.viewer-loading{place-items:center;margin:0;display:grid;position:absolute;inset:0}.rate-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.rate-label{margin:0}.rate-value{margin:2px 0;font-size:1.4rem;font-weight:600}.is-bad{color:var(--accent-text);font-weight:600}.pricing-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.field input[type=number]{font-variant-numeric:tabular-nums}.share-link{gap:8px;display:flex}.share-link input{border:1px solid var(--line-strong);background:var(--paper-2);min-width:0;height:38px;font-family:var(--font-mono);border-radius:10px;flex:1;padding:0 10px;font-size:.75rem}.rule{border:0;border-block-start:1px solid var(--line);width:100%;margin:2px 0}.modal-actions.start{justify-content:flex-start}
