@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--ink: #10231c;--ink-soft: #3f544a;--muted: #718178;--em-950: #08221a;--em-900: #0b2b22;--em-800: #0f3a2e;--em-700: #17523f;--em-600: #1f7a5a;--em-100: #e4efe8;--em-50: #f1f6f2;--gold: #c9a24a;--gold-deep: #96701e;--gold-soft: #f4ead0;--paper: #f8f6ef;--card: #ffffff;--line: #e7e3d6;--line-soft: #efece1;--radius: 18px;--shadow-lg: 0 30px 60px -28px rgba(8, 34, 26, .35), 0 8px 20px -12px rgba(8, 34, 26, .18);--shadow-md: 0 14px 30px -18px rgba(8, 34, 26, .28);font-family:Plus Jakarta Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 420px at 85% -80px,rgba(201,162,74,.14),transparent 70%),radial-gradient(800px 500px at -10% 10%,rgba(31,122,90,.1),transparent 70%),var(--paper)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1160px;margin:0 auto;padding:0 28px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--em-900)}.brand-mark{height:44px;width:44px;display:grid;place-items:center;border-radius:14px;color:var(--gold);background:linear-gradient(145deg,var(--em-700),var(--em-950));font-family:Fraunces,serif;font-size:16px;font-weight:700;letter-spacing:.5px;box-shadow:0 8px 18px -6px #08221a8c,inset 0 1px #ffffff2e}.brand strong{display:block;font-family:Fraunces,serif;font-size:19px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.privacy-pill{font-size:12px;color:var(--em-700);font-weight:600;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);padding:9px 14px;border-radius:30px;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;background:#2fb67a;border-radius:50%;box-shadow:0 0 0 4px #2fb67a2e}.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:340px;padding:48px 56px;margin-top:4px;border-radius:28px;color:#fff;background:radial-gradient(520px 260px at 90% 0%,rgba(201,162,74,.28),transparent 70%),linear-gradient(135deg,var(--em-800) 0%,var(--em-950) 100%);box-shadow:var(--shadow-lg)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 75%);mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero-copy{position:relative;z-index:2;max-width:560px}.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:2px;color:var(--gold)}.hero h1{font-family:Fraunces,serif;font-weight:600;font-size:clamp(32px,4.4vw,50px);line-height:1.1;letter-spacing:-1.2px;margin:16px 0}.hero h1 em{font-style:italic;font-weight:500;color:var(--gold)}.hero p{margin:0;font-size:14.5px;line-height:1.8;color:#ffffffb8}.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-points span{font-size:12px;font-weight:600;color:#e9f2ec;padding:7px 13px;border-radius:30px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f}.hero-art{position:relative;z-index:1;height:250px;width:380px;flex-shrink:0}.glow{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,74,.28),transparent 65%);filter:blur(12px)}.fc{position:absolute;width:270px;height:138px;display:grid;grid-template-columns:34% 1fr;border-radius:14px;overflow:hidden;background:#fcfbf7;box-shadow:0 30px 50px -18px #0000008c}.fc-back{left:80px;top:18px;transform:rotate(7deg);opacity:.65}.fc-front{left:10px;top:76px;transform:rotate(-5deg)}.fc-panel{position:relative;background:var(--em-800);padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:7px;border-right:3px solid var(--gold)}.fc-panel b{color:var(--gold);font-family:Fraunces,serif;font-size:18px;margin-bottom:2px}.fc-panel i{height:4px;width:70%;border-radius:3px;background:#ffffff47}.fc-body{padding:16px 14px;display:flex;flex-direction:column;gap:9px}.fc-body i{display:block;height:6px;border-radius:3px;background:#e6e3d4}.fc-body .l0{width:55%;background:#ecdcae}.fc-body .l1{width:80%}.fc-body .l2{width:70%;height:9px;background:#d3dccf}.fc-fields{display:flex;gap:8px;margin-top:auto}.fc-fields i{flex:1;height:26px;border-radius:6px;background:#edf2ea;border:1px solid #dbe3d6}.workspace{margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:38px 40px;box-shadow:var(--shadow-lg)}.step-head{display:flex;align-items:center;gap:14px}.step-num{flex-shrink:0;height:42px;width:42px;display:grid;place-items:center;border-radius:13px;font-family:Fraunces,serif;font-weight:700;font-size:15px;color:var(--gold-deep);background:var(--gold-soft);border:1px solid #ead9a8}.step-head h2{font-family:Fraunces,serif;font-size:23px;letter-spacing:-.4px;margin:0 0 3px;color:var(--em-900)}.step-head p{margin:0;color:var(--muted);font-size:12.5px}.block{margin-top:38px;padding-top:34px;border-top:1px solid var(--line-soft)}.template-row{margin-top:26px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfaf5,#f7f5ec);border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.template-copy{display:flex;align-items:center;gap:14px}.file-icon{height:40px;width:40px;display:grid;place-items:center;border-radius:11px;background:var(--em-100);color:var(--em-600);font-size:20px}.template-copy strong,.template-copy small{display:block}.template-copy strong{font-size:13px;color:var(--em-900)}.template-copy small{font-size:11px;color:var(--muted);margin-top:4px}.template-actions{display:flex;gap:9px}.button{border:0;border-radius:11px;padding:12px 16px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.button:hover:not(:disabled){transform:translateY(-2px)}.button-outline{border:1px solid #d9d5c2;background:#fff;color:var(--em-700)}.button-outline:hover{background:var(--em-50)}.button-dark{background:var(--em-800);color:#fff;box-shadow:0 10px 18px -10px #08221ab3}.button-dark span{margin-left:6px;color:var(--gold)}.upload-zone{margin-top:18px;min-height:160px;border:1.5px dashed #cfd9c9;background:#fcfdfb;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.upload-zone:hover{border-color:var(--gold);background:#fffdf7;transform:translateY(-1px)}.upload-zone input{display:none}.upload-icon{width:38px;height:38px;border-radius:12px;background:var(--em-100);display:grid;place-items:center;color:var(--em-600);font-size:20px}.upload-zone strong{font-size:13px;color:var(--ink-soft)}.upload-zone u{color:var(--em-600);text-underline-offset:3px}.upload-zone small{font-size:11px;color:var(--muted)}.notice{margin-top:14px;padding:12px 15px;border-radius:11px;background:#eaf6ee;color:#1f6b46;font-size:12.5px;border:1px solid #d3ead9}.notice-warn{background:#fff7e6;color:#8f5f10;border-color:#f3e1b3}.data-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.data-count{display:flex;align-items:baseline;gap:7px;background:var(--em-50);border:1px solid var(--em-100);padding:10px 14px;border-radius:12px;color:var(--em-600);font-size:11px}.data-count strong{font-family:Fraunces,serif;font-size:22px;color:var(--em-800)}.table-wrap{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:14px;max-height:380px;overflow-y:auto}.table-wrap table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}.table-wrap th{position:sticky;top:0;background:#f8f6ee;color:var(--muted);font-weight:700;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase}.table-wrap th,.table-wrap td{padding:13px 15px;border-bottom:1px solid var(--line-soft)}.table-wrap tbody tr:hover{background:#fcfbf7}.table-wrap tbody tr:last-child td{border-bottom:0}.student-name{font-weight:700;color:var(--em-900)}.row-status{padding:4px 9px;border-radius:20px;font-size:10px;font-weight:700}.row-status.ok{background:#e6f4ea;color:#2a7a48}.row-status.invalid{background:#fff0e6;color:#b45a2e}.remove-button{border:0;background:transparent;color:#a3ab9f;font-size:19px}.remove-button:hover{color:#b64d3e}.data-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.checkbox-label{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:8px}.checkbox-label input{accent-color:var(--em-600)}.text-button{border:0;background:transparent;color:#b05a4a;font-size:12px;font-weight:600}.settings-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;margin-top:28px;align-items:start}.settings-form{display:flex;flex-direction:column;gap:22px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1 / -1}.field>span{font-size:11.5px;font-weight:700;color:var(--ink-soft)}.field input{width:100%;height:44px;border:1px solid #ddd9c8;background:#fff;border-radius:11px;padding:0 14px;color:var(--ink);font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c9a24a29}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.seg{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:11px 13px;border-radius:12px;border:1px solid #ddd9c8;background:#fff;color:var(--ink-soft);transition:border-color .2s,background .2s,box-shadow .2s,transform .15s}.seg strong{font-size:12.5px}.seg small{font-size:10.5px;color:var(--muted)}.seg:hover{border-color:#c9c4ae;transform:translateY(-1px)}.seg.active{border-color:var(--em-700);background:var(--em-800);color:#fff;box-shadow:0 12px 20px -12px #08221acc,inset 0 0 0 1px #c9a24a80}.seg.active small{color:var(--gold)}.preview-panel{position:sticky;top:20px;padding:22px;border-radius:20px;background:linear-gradient(160deg,#f4f1e5,#ece8d8);border:1px solid var(--line)}.preview-label{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--gold-deep)}.meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:11px;color:var(--muted)}.meta-row b{color:var(--em-800)}.pv{container-type:inline-size;margin-top:14px;width:100%;aspect-ratio:var(--ratio);display:grid;grid-template-columns:30% 1fr;overflow:hidden;border-radius:10px;background:#fcfbf7;box-shadow:0 22px 36px -22px #08221a8c;border:1px dashed #b9c3ba}.pv-panel{background:var(--em-800);border-right:3px solid var(--gold);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3cqw;gap:1.6cqw;min-width:0;overflow:hidden;overflow-wrap:anywhere;--fit: 1}.pv-panel strong{font-size:calc(3.2cqw * var(--fit));line-height:1.25;letter-spacing:.3px}.pv-panel i{width:7cqw;height:1px;background:var(--gold)}.pv-panel span{font-size:calc(2.3cqw * var(--fit));line-height:1.3;color:#dce9e1}.pv-panel em{font-style:normal;font-size:calc(2.1cqw * var(--fit));font-weight:800;color:var(--gold)}.pv-body{padding:3.6cqw 4cqw;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.pv-body small{font-size:2.3cqw;font-weight:800;color:var(--gold-deep);letter-spacing:.4px;border-bottom:1px solid var(--line);padding-bottom:1.2cqw}.pv-body b{font-size:5cqw;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}.pv-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:2cqw}.pv-fields span{background:#f0f4ee;border:1px solid #d6ded2;border-radius:1.4cqw;padding:1.4cqw 1.8cqw;min-width:0}.pv-fields label{display:block;font-size:1.8cqw;font-weight:800;color:#6e8074;letter-spacing:.4px}.pv-fields code{display:block;font-family:ui-monospace,Courier New,monospace;font-weight:700;font-size:3cqw;color:var(--em-800);margin-top:.6cqw;overflow-wrap:anywhere;line-height:1.15}.bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line-soft);margin-top:34px;padding-top:26px}.security-note{display:flex;align-items:center;gap:12px}.security-note>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--em-100);color:var(--em-600);font-size:18px}.security-note p{margin:0}.security-note strong,.security-note small{display:block}.security-note strong{font-size:12px;color:var(--em-800)}.security-note small{font-size:11px;color:var(--muted);margin-top:4px}.button-generate{color:var(--em-950);padding:16px 24px;font-size:13px;border-radius:13px;background:linear-gradient(135deg,#e2c67c,var(--gold));box-shadow:0 16px 26px -14px #96701ee6,inset 0 1px #ffffff80}.button-generate>span{margin-right:8px;font-size:16px}.button-generate b{margin-left:14px}.button-generate:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:grayscale(.4)}footer{display:flex;justify-content:space-between;gap:12px;color:#9a9f90;font-size:11px;padding:28px 2px 36px}@media(max-width:900px){.hero-art{display:none}.hero{padding:40px 28px}.settings-layout{grid-template-columns:1fr}.preview-panel{position:static}}@media(max-width:760px){.app-shell{padding:0 14px}.topbar{height:70px}.privacy-pill{font-size:0;padding:10px}.hero{min-height:auto;border-radius:22px;padding:34px 22px}.hero h1{font-size:32px;letter-spacing:-.8px}.workspace{padding:24px 18px;border-radius:20px}.template-row{align-items:flex-start;flex-direction:column}.template-actions{width:100%}.template-actions .button{flex:1}.settings-grid{grid-template-columns:1fr}.segmented{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);grid-auto-columns:auto}.bottom-actions{align-items:stretch;flex-direction:column}.button-generate{width:100%}.data-heading{flex-direction:column;align-items:flex-start}.data-actions{gap:10px;align-items:flex-start;flex-direction:column}footer{flex-direction:column;line-height:1.5}}@media print{.topbar,.hero,footer{display:none}}
