:root{--bg:#16181d;--bg2:#1d2027;--card:#23272f;--line:#363b46;--text:#eef0f3;--dim:#9aa1ae;--acc:#f59e0b;--acc2:#fbbf24;--ok:#4ade80;--err:#f87171;--r:16px}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);
 background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(245,158,11,.13),transparent),linear-gradient(180deg,#171a20,#12141a)}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0}
button,input,select{font:inherit;color:inherit}
header#topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line);background:rgba(22,24,29,.8);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.15rem;color:var(--text);text-decoration:none}
.brand b{color:var(--acc)}
.brand.big{font-size:1.6rem;justify-content:center}
.logo{width:30px;height:30px;border-radius:8px;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M8 11l8 5 8-5M8 16l8 5 8-5M8 21l8 5 8-5' stroke='%23111827' stroke-width='2.4' fill='none'/%3E%3C/svg%3E") center/cover}
.user{display:flex;gap:14px;align-items:center;color:var(--dim)}
main{max-width:1180px;margin:0 auto;padding:32px 24px 80px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:12px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:600;text-decoration:none;transition:all .25s}
.btn:hover{background:rgba(255,255,255,.06)}
.btn.primary{background:var(--acc);color:#1a1100;border-color:var(--acc)}
.btn.primary:hover{background:var(--acc2);transform:translateY(-1px);box-shadow:0 10px 30px rgba(245,158,11,.3)}
.btn.ghost{border-color:transparent;color:var(--dim)}.btn.ghost:hover{color:var(--text)}
.btn.block{width:100%}.btn.huge{width:100%;min-height:60px;font-size:1.15rem;margin-top:28px}
:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
.card{background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--r);padding:28px}
.auth{display:grid;place-items:center;min-height:70vh}
.auth-card{width:min(420px,100%);display:grid;gap:16px}
.auth-card label,#view-work label{display:grid;gap:6px;color:var(--dim);font-size:.9rem}
input[type=email],input[type=password],input:not([type]),select{background:#15171c;border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:44px;color:var(--text)}
input:focus,select:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px rgba(245,158,11,.2)}
.muted{color:var(--dim);margin:0}.error{color:var(--err);margin:0;min-height:1.2em}.ok{color:var(--ok);margin:0}
.link{background:none;border:0;color:var(--acc);cursor:pointer;padding:8px}.link:hover{text-decoration:underline}
.hero{padding:24px 0 36px}.hero h1{font-size:clamp(2rem,5vw,3.6rem)}.hero h1 span{color:var(--acc)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:56px 24px;min-height:380px;justify-content:center;border:2px dashed var(--line);border-radius:24px;background:rgba(255,255,255,.02);cursor:pointer;transition:all .3s}
.drop:hover,.drop.over{border-color:var(--acc);background:rgba(245,158,11,.06);transform:translateY(-3px)}
.drop svg{width:84px;height:84px;fill:none;stroke:var(--acc);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;margin-bottom:8px}
.drop h2{font-size:1.9rem}.drop p{margin:0;color:var(--dim)}.drop small{color:var(--dim)}
.drop .btn{margin-top:14px;pointer-events:none}
.notice{margin-top:24px;padding:14px 18px;border:1px solid rgba(245,158,11,.4);border-radius:12px;background:rgba(245,158,11,.08);color:var(--acc2)}
.work-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}
.thumbs{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:16px}
.thumb{flex:0 0 132px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;position:relative}
.thumb .ph{aspect-ratio:4/3;border-radius:8px;background:#15171c center/cover no-repeat;display:grid;place-items:center;color:var(--dim);font-size:.8rem;overflow:hidden}
.thumb canvas{max-width:100%;max-height:100%}
.thumb .n{font-size:.78rem;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thumb .s{font-size:.72rem;color:var(--dim)}
.thumb .x{position:absolute;top:2px;right:2px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.65);cursor:pointer;line-height:1}
h3{margin:30px 0 14px;font-size:1.1rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.choices.two{grid-template-columns:repeat(2,1fr)}
.choice{position:relative;text-align:left;display:grid;gap:4px;padding:18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);cursor:pointer;transition:all .25s}
.choice:hover{border-color:#555d6c;transform:translateY(-2px)}
.choice.sel{border-color:var(--acc);background:rgba(245,158,11,.09);box-shadow:inset 0 0 0 1px var(--acc)}
.choice span{color:var(--dim);font-size:.85rem}.choice em{position:absolute;top:10px;right:12px;font-style:normal;font-size:.7rem;color:var(--acc);text-transform:uppercase;letter-spacing:.08em}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;flex-wrap:wrap}
.seg button{background:none;border:0;padding:12px 22px;min-height:46px;cursor:pointer;color:var(--dim)}
.seg button.sel{background:var(--acc);color:#1a1100;font-weight:600}.seg em{font-style:normal;font-size:.7rem;opacity:.7;margin-left:6px}
.check{display:flex!important;grid-template-columns:none;gap:10px;align-items:center;color:var(--text)!important;margin:16px 0;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--acc)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
input[type=range]{accent-color:var(--acc);min-height:44px}
.lay{display:block;height:44px;width:34px;border:2px solid var(--dim);border-radius:3px;margin-bottom:6px;background-size:100% 100%}
.l2{background:linear-gradient(var(--dim),var(--dim)) 5px 5px/20px 14px no-repeat,linear-gradient(var(--dim),var(--dim)) 5px 25px/20px 14px no-repeat}
.l1{background:linear-gradient(var(--dim),var(--dim)) 5px 5px/20px 28px no-repeat}
.l4{background:linear-gradient(var(--dim),var(--dim)) 3px 4px/11px 15px no-repeat,linear-gradient(var(--dim),var(--dim)) 16px 4px/11px 15px no-repeat,linear-gradient(var(--dim),var(--dim)) 3px 23px/11px 15px no-repeat,linear-gradient(var(--dim),var(--dim)) 16px 23px/11px 15px no-repeat}
.ll{background:linear-gradient(var(--dim),var(--dim)) 3px 4px/9px 9px no-repeat,linear-gradient(var(--dim),var(--dim)) 3px 17px/9px 9px no-repeat,linear-gradient(var(--dim),var(--dim)) 3px 30px/9px 9px no-repeat}
.choices.four{grid-template-columns:repeat(4,1fr)}
#view-work label input:not([type=checkbox]):not([type=range]){width:100%}
.pf{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.02)}
.pf-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.pf-head small{color:var(--dim)}
.pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;max-height:520px;overflow:auto;padding:4px}
.pg{position:relative;border:2px solid var(--line);border-radius:10px;padding:6px;background:#15171c;cursor:pointer;text-align:center;transition:border-color .2s}
.pg canvas{width:100%;height:auto;display:block;border-radius:4px;background:#fff;min-height:120px}
.pg span{font-size:.78rem;color:var(--dim)}
.pg.sel{border-color:var(--acc);background:rgba(245,158,11,.1)}
.pg.sel::after{content:"✓";position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--acc);color:#1a1100;font-weight:700;display:grid;place-items:center;font-size:.8rem}
.bar{height:16px;background:#15171c;border-radius:99px;overflow:hidden;border:1px solid var(--line)}
#barFill{height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .4s}
#progText{margin:14px 0 0;color:var(--dim)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px}
.stats div{background:#15171c;border:1px solid var(--line);border-radius:12px;padding:16px}
.stats dt{color:var(--dim);font-size:.8rem}.stats dd{margin:4px 0 0;font-size:1.45rem;font-weight:700}
.stats .hl{border-color:var(--acc)}.stats .hl dd{color:var(--ok)}
#panel-result .btn.ghost{margin-top:10px;width:100%}
@media(max-width:820px){.split,.row{grid-template-columns:1fr}.choices,.choices.four{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.drop{min-height:280px;padding:36px 16px}main{padding:20px 16px 60px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
