:root{--paper:#ffffff;--paper-2:#f5f5f5;--ink:#000;--ink-2:#000;--ink-3:#000;--line:#e8e4d8;--line-2:#e8e4d8;--accent:#c4452d;--accent-ink:#7a2818;--danger:#a3271a;--ok:#2f6f3e;--info:#2a6fdb;--info-bg:#e6efff;--g-from:#2a6fdb;--g-to:#8b5cf6}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column}#root{display:contents}.serif{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.01em}.mono{font-family:Arial,Helvetica,sans-serif}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--paper)}.topbar>.tagline-center{flex:1;text-align:center;min-width:0}.topbar>.who{flex-shrink:0}.tagline-center{font-family:Caveat,cursive;font-weight:700;font-size:clamp(34px,5.4vw,56px);line-height:1.1;background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:.05em .22em .12em .14em;letter-spacing:-.005em;overflow:visible}.topbar .who{font-size:13px;color:#000;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.signout{appearance:none;background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;font:inherit;font-size:13px;font-weight:600;color:#000;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.signout:hover{background:#faf8f1;border-color:#d9d3c2}.profile-btn{appearance:none;background:#fff;border:1px solid var(--line);width:38px;height:38px;border-radius:50%;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.profile-btn img,.profile-btn svg{width:22px;height:22px;display:block;object-fit:contain;transition:filter .15s}.profile-btn:hover{background:linear-gradient(135deg,var(--g-from),var(--g-to));border-color:transparent;box-shadow:0 4px 14px -6px #4650dc73}.profile-btn:hover img,.profile-btn:hover svg{filter:invert(1)}.profile-btn.on{background:linear-gradient(135deg,var(--g-from),var(--g-to));border-color:transparent;box-shadow:0 4px 14px -6px #4650dc73}.profile-btn.on img,.profile-btn.on svg{filter:invert(1)}.profile-btn:active{transform:translateY(1px)}main{flex:1;display:flex;justify-content:center;padding:48px 28px 80px}.wrap{width:100%;max-width:560px;margin:0 auto}.login{margin:40px auto 0;max-width:440px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px 36px;position:relative;overflow:hidden}.login:before{content:"";position:absolute;top:-30%;right:-20%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--g-from) 0%,transparent 65%);opacity:.08;pointer-events:none}.login>*{position:relative;z-index:1}.login.wide{max-width:520px}.login h1{font-size:clamp(38px,9vw,54px);line-height:1.05;margin:0 0 6px;white-space:normal}.login h1.big{font-family:Caveat,cursive;font-weight:700;font-size:clamp(56px,14vw,104px);line-height:.98;letter-spacing:-.005em;margin:0 0 18px;background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:inline-block;padding:0 .04em}.login h1.auth-h,.page-head h2.auth-h,.font-head h2.auth-h{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(38px,7vw,52px);line-height:1;letter-spacing:-.03em;margin:0 0 28px;color:#000}.page-head h2.auth-h{margin:0}.font-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin:4px 0 30px}.font-head-badge{width:76px;height:76px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--g-from) 0%,var(--g-to) 100%);box-shadow:0 14px 34px -12px #4650dc99}.font-head h2.auth-h{margin:0}.font-head-sub{opacity:.6;margin:0;max-width:44ch}.font-draw{width:100%;max-width:760px;margin:0 auto}.font-existing{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:600}.font-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.font-tab{appearance:none;cursor:pointer;font:inherit;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#000;transition:background .15s,border-color .15s,color .15s}.font-tab:hover{background:#faf8f1}.font-tab.active{background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);border-color:transparent;color:#fff;box-shadow:0 4px 14px -6px #4650dc73}.font-tab-count{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--g-from) 12%,#fff);color:var(--g-from)}.font-tab.active .font-tab-count{background:#ffffff40;color:#fff}.glyph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.glyph-cell{display:flex;align-items:stretch;overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:14px;background:#fff}.glyph-write{position:relative;flex:1;background-color:#fff;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--line) 88%,#bbb) 0 4px,transparent 4px 9px),repeating-linear-gradient(to right,color-mix(in srgb,var(--line) 88%,#bbb) 0 4px,transparent 4px 9px),repeating-linear-gradient(to right,color-mix(in srgb,var(--line) 88%,#bbb) 0 4px,transparent 4px 9px);background-repeat:no-repeat;background-size:100% 1px,100% 1px,100% 1px;background-position:0 20%,0 56%,0 86%}.glyph-watermark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.glyph-watermark text{fill:#000;opacity:.16}.glyph-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;background:transparent}.glyph-clear{position:absolute;right:5px;bottom:5px;appearance:none;cursor:pointer;border:none;background:transparent;display:inline-flex;padding:3px;border-radius:6px;color:var(--ink-2,#888);opacity:.5;transition:opacity .15s,background .15s,color .15s}.glyph-clear:hover{opacity:1;background:#0000000d;color:var(--danger)}@media(max-width:640px){.glyph-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.glyph-grid{grid-template-columns:1fr}}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;cursor:pointer;padding:28px 20px;border:1.5px dashed var(--line);border-radius:14px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--g-from) 7%,#fff),#fff 72%);transition:border-color .15s,background .15s,box-shadow .15s}.file-drop:hover{border-color:var(--g-from);box-shadow:0 0 0 3px color-mix(in srgb,var(--g-from) 14%,transparent)}.file-drop-icon{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--g-from) 0%,var(--g-to) 100%);box-shadow:0 8px 20px -8px #4650dc8c}.file-drop-main{font-weight:600;color:#000;word-break:break-all;line-height:1.3}.file-drop.has-file{border-style:solid;border-color:color-mix(in srgb,var(--g-from) 38%,var(--line));background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--g-from) 10%,#fff),#fff 72%)}.info-box{display:flex;gap:12px;align-items:flex-start;background:var(--info-bg);border:1px solid color-mix(in srgb,var(--info) 32%,transparent);border-radius:12px;padding:14px 16px;margin:0 0 22px;font-size:13.5px;line-height:1.55;color:#1b3a6b}.info-box .info-box-icon{color:var(--info);flex-shrink:0;margin-top:1px}.info-box p{margin:0}.info-box a{color:var(--info);font-weight:700;text-decoration:underline;text-underline-offset:2px}.info-box a:hover{text-decoration:none}.login .sub{color:#000;margin:0 0 32px}.auth-tabs{display:flex;align-items:baseline;gap:18px;margin:0 0 36px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(46px,10vw,72px);line-height:.95;letter-spacing:-.02em}.auth-tabs button{appearance:none;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:#000;opacity:.25;transition:opacity .15s}.auth-tabs button.on{opacity:1}.auth-tabs button:hover{opacity:.6}.auth-tabs button.on:hover{opacity:1}.auth-tabs .sep{color:#000;opacity:.2;-webkit-user-select:none;user-select:none}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:13px;text-transform:none;letter-spacing:0;color:#000;font-weight:700}.field input,.field select{appearance:none;background:radial-gradient(circle at 92% 50%,color-mix(in srgb,var(--g-from) 11%,#fff),#fff 58%);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;color:#000;outline:none;transition:border-color .15s,box-shadow .15s}.field select{cursor:pointer}.field input::placeholder{color:#000;opacity:.35}.field input:focus,.field select:focus{border-color:var(--g-from);box-shadow:0 0 0 3px color-mix(in srgb,var(--g-from) 18%,transparent)}.field.mono-input input{font-family:Arial,Helvetica,sans-serif;font-size:14px}.btn{appearance:none;cursor:pointer;border:none;background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);color:#fff;padding:12px 18px;border-radius:8px;font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform .04s,filter .15s,box-shadow .15s;box-shadow:0 4px 14px -6px #4650dc73}.btn:hover{filter:brightness(1.08);box-shadow:0 6px 20px -6px #4650dc8c}.btn:active{transform:translateY(1px)}.btn.block{width:100%}.btn.ghost{background:transparent;color:#000;border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{background:#faf8f1;filter:none;border-color:#d9d3c2}.btn.danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px -6px #a3271a80}.btn.danger:hover{filter:brightness(1.05)}.btn.danger-ghost{background:transparent;border:1px solid var(--danger);color:var(--danger);box-shadow:none}.btn.danger-ghost:hover{background:#fbe9e6;filter:none}.btn[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.trigger-btn{position:relative;overflow:hidden;min-width:220px}.trigger-btn .trigger-label{position:relative;z-index:1;font-variant-numeric:tabular-nums}.trigger-btn .trigger-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);transition:width .25s linear}.trigger-btn.cooling{opacity:1;filter:none;cursor:not-allowed;background:#e3e1db;color:#3a3a3a;box-shadow:none}.login .help{margin-top:18px;font-size:13px;color:var(--ink-2)}.login .help a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.page-head h2{font-size:clamp(32px,7vw,44px);line-height:1.05;margin:0;white-space:normal}.page-head .meta{font-size:13px;color:#000;text-align:right}.meta b{color:var(--ink);font-weight:500}.section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px;margin:0 0 14px;position:relative;overflow:hidden}.section>*{position:relative;z-index:1}.section:before{content:"";position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--g-from) 0%,transparent 85%);opacity:.1}.section.s1:before{top:-40%;right:-25%;width:480px;height:480px}.section.s2:before{bottom:-55%;left:-25%;width:560px;height:560px;background:radial-gradient(circle,var(--g-to) 0%,transparent 85%);opacity:.11}.section.s3:before{top:-65%;left:30%;width:460px;height:460px;background:radial-gradient(circle,var(--g-from) 0%,var(--g-to) 45%,transparent 85%);opacity:.09}.section h3{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#000;margin:0 0 14px;font-weight:700;opacity:.45}.section .desc{color:var(--ink-2);font-size:13px;margin:0 0 18px;max-width:48ch}.brand-mark{display:flex;align-items:center;gap:12px;margin:0 0 18px}.brand-mark .logo-img{display:block;height:36px;width:36px;object-fit:contain;border-radius:8px}.brand-mark .logo-word{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:20px;color:#000;letter-spacing:-.01em;white-space:nowrap}.section .brand-mark{margin-top:4px}.login .brand-mark{margin:22px 0 14px}.stepper{margin:0 0 32px}.stepper .track{display:flex;align-items:center;gap:0;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:#fafaf9}.stepper .step{display:flex;align-items:center;gap:10px;min-width:0}.stepper .step .num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;font-family:Arial,Helvetica,sans-serif;background:#fff;border:1px solid var(--line-2);color:#000;flex-shrink:0}.stepper .step.active .num{background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px -4px #4650dc80}.stepper .step.done .num{background:linear-gradient(135deg,var(--g-from),var(--g-to));color:#fff;border-color:transparent}.stepper .step .name{font-weight:600;font-size:14px;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper .step:not(.active):not(.done) .name{opacity:.45}.stepper .bar{flex:1 1 auto;height:1px;background:var(--line);margin:0 12px;min-width:14px;transition:background .2s}.stepper .bar.done{background:linear-gradient(135deg,var(--g-from),var(--g-to))}@media(max-width:540px){.stepper .track{padding:12px}.stepper .step .name{font-size:13px}.stepper .step.hide-mobile .name{display:none}.stepper .bar{margin:0 6px}}.wizard-nav{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.wizard-nav .btn{min-width:140px}.wizard-nav>span{flex:0 0 auto}.auth-shell{width:100%;max-width:920px;margin:0 auto}.onboarding-progress{width:min(560px,100%);height:6px;margin:0 auto 14px;border-radius:999px;background:var(--line);overflow:hidden}.onboarding-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);transition:width .2s ease}.onboarding-step-label{text-align:center;opacity:.6;margin:0 0 28px;letter-spacing:.04em}.onboarding-step-content{animation:onboarding-slide-in .35s ease;overflow:hidden}@keyframes onboarding-slide-in{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}.back-btn{appearance:none;background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 4px;margin:0 0 20px;font:inherit;font-size:13px;font-weight:600;color:#000;border-radius:999px;transition:background .15s}.back-btn:hover{background:#0000000d}.back-btn svg{flex-shrink:0}.dash{width:100%;margin:0 auto}.counter{position:relative;border:1px solid #e8e4d8;border-radius:24px;padding:36px;margin:0 0 22px;background:#fff;display:grid;grid-template-columns:1fr 1px 1fr;gap:36px;align-items:end;overflow:hidden}.counter:before{content:"";position:absolute;top:-30%;left:18%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,var(--g-from) 0%,transparent 65%);opacity:.07;pointer-events:none}.counter:after{content:"";position:absolute;bottom:-55%;right:-12%;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,var(--g-to) 0%,transparent 65%);opacity:.08;pointer-events:none}.counter .stat{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}.counter .stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#000;opacity:.45;margin:0;display:inline-flex;align-items:center;gap:8px}.counter .stat .label .live{width:7px;height:7px;border-radius:50%;background:#2f7d4a;box-shadow:0 0 0 3px #2f7d4a2e;animation:liveDot 1.8s ease-in-out infinite}@keyframes liveDot{50%{opacity:.4}}.counter .stat .val{font-weight:900;letter-spacing:-.04em;font-size:clamp(60px,9.5vw,108px);line-height:.92;color:#0e0e0e;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.counter .stat .val>span:not(.unit){background:linear-gradient(95deg,var(--g-from) 0%,var(--g-to) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.counter .stat .val .unit{font-weight:700;font-size:22px;letter-spacing:0;opacity:.42;color:#000}.counter .stat .sub{font-size:12.5px;color:#00000080;margin:0}.counter .divider{background:#e8e4d8;width:1px;align-self:stretch;position:relative;z-index:1}@media(max-width:640px){.counter{padding:22px 16px;gap:14px}.counter .stat{gap:6px}.counter .stat .val{font-size:clamp(34px,11vw,60px)}.counter .stat .label{font-size:10px;letter-spacing:.1em}.counter .stat .val .unit{font-size:16px}}.dash-grid{display:flex;flex-direction:column;gap:14px}.dash-card{position:relative;border:1px solid var(--c-border);border-radius:20px;padding:22px 24px;background:var(--c-card);display:flex;flex-direction:column;gap:16px;overflow:hidden}.dash-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}.dash-card.ok{--c:#2f7d4a;--c-bg:#dcefe2;--c-card:#f4faf5;--c-border:#cbe5d2}.dash-card.warn{--c:#b88200;--c-bg:#f8e7b8;--c-card:#fffaeb;--c-border:#ecd498}.dash-card.idle{--c:#4a4a4a;--c-bg:#e3e1db;--c-card:#fafaf9;--c-border:#d8d5cb}.dash-card.err{--c:#a3271a;--c-bg:#f6d4ce;--c-card:#fdf5f3;--c-border:#eebcb3}.dash-card .head{display:flex;align-items:center;justify-content:space-between;gap:14px}.dash-card .head .title-row{display:flex;align-items:center;gap:12px;min-width:0}.dash-card .head .icon{width:36px;height:36px;border-radius:50%;background:var(--c-bg);color:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-card .head h4{margin:0;font-size:18px;font-weight:800;color:#000;letter-spacing:-.015em}.dash-card .count-big{font-size:32px;font-weight:900;color:var(--c);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dash-card .items{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0 4px 0 0;max-height:296px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-border) transparent}.dash-card .items::-webkit-scrollbar{width:6px}.dash-card .items::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:999px}.dash-card .items::-webkit-scrollbar-track{background:transparent}.dash-card .item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--c-border);border-radius:12px;padding:12px 14px;transition:transform .15s ease,box-shadow .15s ease}.dash-card .item:hover{transform:translateY(-1px);box-shadow:0 4px 14px -8px #0000002e}.dash-card .item .subject{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--c);background:var(--c-bg);padding:5px 9px;border-radius:6px;white-space:nowrap}.dash-card .item .title{font-size:14.5px;color:#000;line-height:1.35;min-width:0}.dash-card .item .title small{display:block;margin-top:3px;font-size:11.5px;color:#00000080;line-height:1.3}.dash-card .item .meta{font-size:11.5px;color:#00000080;white-space:nowrap;text-align:right;font-weight:500}.dash-card .item.stuck-item{grid-template-columns:auto minmax(0,1fr) auto}.item-action{appearance:none;border:1px solid var(--c-border);background:#fff;color:var(--c);border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.item-action:hover{background:var(--c-bg)}.dash-card .empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#00000060;font-size:14px;text-align:center;padding:18px;gap:10px;min-height:80px}.dash-card .empty svg{color:var(--c);opacity:.4}.dash-card .robot-empty{flex-direction:row;align-items:center;gap:12px}.robot-mini{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--c-bg);color:var(--c);flex-shrink:0}.robot-mini svg{opacity:1}.robot-speech{position:relative;display:flex;flex-direction:column;gap:2px;max-width:260px;padding:10px 12px;border:1px solid var(--c-border);border-radius:12px;background:#fff;color:#0009;text-align:left}.robot-speech:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;background:#fff;border-left:1px solid var(--c-border);border-bottom:1px solid var(--c-border);transform:rotate(45deg)}.robot-speech small{font-size:11.5px;color:#00000073}.retry-modal h3{margin-top:0}.retry-homework-title{margin:0 0 18px;color:#000;font-weight:700;line-height:1.35}.retry-textarea{width:100%;resize:vertical;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;box-sizing:border-box}.chars-left{text-align:right;font-size:12px;opacity:.55;margin-top:4px}.retry-previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.retry-preview{position:relative}.retry-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.retry-preview button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:none;background:#000;color:#fff;cursor:pointer;font-size:14px;line-height:22px;padding:0}.hint{font-size:12px;color:#000;opacity:.55;margin-top:2px}.pwd-row{display:flex;align-items:center;gap:4px;background:radial-gradient(circle at 92% 50%,color-mix(in srgb,var(--g-from) 11%,#fff),#fff 58%);border:1px solid var(--line);border-radius:10px;padding:0 8px 0 14px;transition:border-color .15s,box-shadow .15s}.pwd-row:focus-within{border-color:var(--g-from);box-shadow:0 0 0 3px color-mix(in srgb,var(--g-from) 18%,transparent)}.pwd-row input{border:none;flex:1;padding:12px 0;background:transparent;outline:none;font:inherit;font-family:Arial,Helvetica,sans-serif;font-size:14px}.pwd-row button{appearance:none;background:none;border:none;color:#000;font:inherit;font-size:12px;cursor:pointer;padding:4px 6px;display:inline-flex;align-items:center;justify-content:center}.pwd-row button:hover{opacity:.7}.form-error{color:var(--red,#e05);font-size:13px;margin:8px 0 0;text-align:center}.access-gate{max-width:460px;margin:0 auto}.access-sub{margin:4px 0 0;color:#000;opacity:.6;max-width:42ch}.access-gate input{text-align:center;font-size:28px;font-weight:800;letter-spacing:0;font-variant-numeric:tabular-nums}.access-lines{display:flex;flex-direction:column;gap:6px;font-size:14px}.access-redeem-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:18px}.access-redeem-form .field{margin:0}.access-redeem-form input{text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.form-success{color:var(--ok);font-size:13px;margin:8px 0 0;text-align:center}.admin-shell{max-width:1040px}.admin-controls{display:grid;grid-template-columns:minmax(220px,1fr) 150px;gap:16px;align-items:end}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}.admin-table th{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0;opacity:.55;background:#fafaf9}.admin-table tr:last-child td{border-bottom:none}.admin-code{font-weight:800;font-variant-numeric:tabular-nums}.admin-empty{text-align:center!important;opacity:.55}.print-sheet{display:none}.code-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.code-ticket{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px;break-inside:avoid}.code-ticket-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.code-ticket-title{display:block;margin-bottom:6px;font-size:12px;font-weight:800;opacity:.65}.code-ticket-top strong{display:block;font-size:30px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.code-ticket-price{min-width:52px;min-height:34px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;white-space:nowrap}.code-ticket dl{margin:0;display:grid;gap:8px}.code-ticket dl div{display:flex;justify-content:space-between;gap:12px}.code-ticket dt{font-size:12px;font-weight:700;opacity:.55}.code-ticket dd{margin:0;font-size:12px;text-align:right}@media print{body{background:#fff}.no-print,.topbar,footer{display:none!important}main{display:block;padding:0}.auth-shell{max-width:none}.print-sheet{display:block}.code-grid{grid-template-columns:repeat(3,1fr);gap:10px}.code-ticket{box-shadow:none}}.save-bar{padding:28px 0 16px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.save-bar .status{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:8px}.save-bar .status .pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #2f6f3e66}70%{box-shadow:0 0 0 8px #2f6f3e00}to{box-shadow:0 0 #2f6f3e00}}.danger-zone{margin-top:24px;border:1px solid #eebcb3;background:#fdf5f3;border-radius:20px;padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.danger-zone h4{margin:0 0 4px;color:#7a1d12;font-size:16px;font-weight:800;letter-spacing:-.01em}.danger-zone p{margin:0;color:#7a1d12;font-size:13px;max-width:46ch;opacity:.75}.danger-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-bg{position:fixed;inset:0;background:#14120e73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:440px;width:100%;padding:28px;box-shadow:0 30px 60px -20px #00000040}.modal h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:34px;margin:0 0 8px;line-height:1.05}.modal p{color:var(--ink-2);font-size:14px;margin:0 0 18px}.modal .confirm-field{margin:12px 0 22px}.modal .confirm-field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:6px}.modal .confirm-field input{width:100%;background:#fff;border:1px solid #000;border-radius:6px;padding:10px 12px;font:inherit;font-family:Arial,Helvetica,sans-serif;outline:none}.modal .confirm-field input:focus{border-color:#000;box-shadow:0 0 0 3px #00000014}.modal .actions{display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:999px;font-size:13px;display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px -10px #0006;z-index:60;animation:rise .18s ease-out}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast .check{width:14px;height:14px;border-radius:50%;background:var(--ok);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.spinner-wrap{display:flex;justify-content:center;align-items:center;min-height:40vh;animation:fade .2s ease-out}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--info);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.label-row{display:flex;align-items:center;gap:6px}.info-btn{appearance:none;background:var(--info-bg);border:1px solid var(--info);color:var(--info);width:18px;height:18px;border-radius:50%;font:600 11px/1 "Instrument Serif",Georgia,serif;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;font-style:italic}.info-btn:hover,.info-btn.open{background:var(--info);color:#fff}.info-pop{position:absolute;z-index:30;margin-top:6px;background:var(--info);color:#fff;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5;max-width:280px;box-shadow:0 12px 30px -10px #2a6fdb59;animation:rise .14s ease-out}.info-pop b{color:#fff;font-weight:600}.info-pop code{font-family:Arial,Helvetica,sans-serif;background:#ffffff2e;padding:1px 5px;border-radius:3px;font-size:11px}.info-pop:before{content:"";position:absolute;top:-5px;left:14px;width:10px;height:10px;background:var(--info);transform:rotate(45deg)}.field-wrap{position:relative}a{color:var(--info);text-decoration:underline;text-underline-offset:3px;cursor:pointer}a:hover{text-decoration:none}.toggle-link{background:none;border:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;padding:0;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}@media(max-width:560px){.topbar{padding:14px 18px}.tagline-center{font-size:clamp(20px,6.4vw,30px)}main{padding:32px 18px 60px}.dash-card .item.stuck-item{grid-template-columns:auto minmax(0,1fr)}.dash-card .item.stuck-item .item-action{grid-column:2;justify-self:start}.login{margin-top:28px}.access-redeem-form{grid-template-columns:1fr}.access-redeem-form .btn{width:100%}.danger-zone{padding:16px;gap:12px}footer{padding:14px 18px;flex-wrap:wrap;gap:6px}.page-head .meta{text-align:left}.modal{padding:22px}.modal h3{font-size:28px}}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:12px;font-weight:700;background:#fff}.lang button{appearance:none;background:transparent;border:none;color:#000;padding:6px 12px;font:inherit;cursor:pointer;letter-spacing:.04em;transition:background .15s,color .15s}.lang button.on{background:linear-gradient(135deg,var(--g-from),var(--g-to));color:#fff}footer{padding:18px 28px;border-top:1px solid var(--line);color:#000;opacity:.55;font-size:12px;display:flex;justify-content:space-between}
