:root{--bg:#f7faff;--surface:#fff;--surface-soft:#f8fbff;--text:#17263f;--muted:#66758d;--border:#dce8f6;--shadow:0 18px 45px #1e40781a;--accent:#4f7cff;--accent-soft:#eef3ff;--accent-rgb:79, 124, 255;--level-color:#ff8a3d;--level-soft:#fff2e9;--radius-xl:30px;--radius-lg:22px;--radius-md:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at top left, rgba(var(--accent-rgb), .12), transparent 26%), radial-gradient(circle at top right, #ff8a3d14, transparent 22%), linear-gradient(180deg, #f9fbff 0%, #eef5ff 48%, #f9fbff 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{border:0}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:15px;outline:none;padding:13px 14px;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .13)}textarea{resize:vertical;min-height:110px}.app-shell{min-height:100vh}.container{width:min(1160px,100% - 32px);margin:0 auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#f7faffd6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:78px;display:flex}.brand{color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:12px;display:flex}.brand-logo{background:linear-gradient(135deg, var(--accent), var(--level-color));color:#fff;width:44px;height:44px;box-shadow:0 12px 26px rgba(var(--accent-rgb), .22);border-radius:15px;place-items:center;font-weight:900;display:grid}.brand strong{font-size:18px;display:block}.brand small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.nav-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.nav-tabs button,.footer-buttons button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:10px 14px;font-weight:700;transition:all .2s}.nav-tabs button:hover,.footer-buttons button:hover{border-color:var(--accent);transform:translateY(-1px)}.top-btn,.btn,.outline-btn{cursor:pointer;transition:all .2s}.top-btn,.btn{background:linear-gradient(135deg, var(--accent), var(--level-color));color:#fff;box-shadow:0 14px 30px rgba(var(--accent-rgb), .2);border-radius:15px;padding:13px 17px;font-weight:900}.top-btn:hover,.btn:hover,.outline-btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.outline-btn{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:15px;padding:13px 17px;font-weight:900}.hero{padding:50px 0 26px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:22px;display:grid}.hero-copy,.hero-card,.card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);background:#ffffffeb}.hero-copy{padding:32px}.hero-copy h1{letter-spacing:-.05em;margin:18px 0 14px;font-size:clamp(34px,5vw,58px);line-height:1.03}.lead{color:var(--muted);margin:0;font-size:18px;line-height:1.72}.badge{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .18);border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.hero-btn{width:auto}.hero-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.hero-summary div{border:1px solid var(--border);background:#fff;border-radius:18px;padding:15px}.hero-summary strong{margin-bottom:5px;display:block}.hero-summary span{color:var(--muted);font-size:13px}.hero-card{padding:28px}.hero-card h2{margin:18px 0 12px;font-size:clamp(26px,3vw,40px);line-height:1.16}.hero-card p{color:var(--muted);line-height:1.7}.hero-card-list{gap:10px;margin-top:18px;display:grid}.hero-card-list span{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:14px;padding:12px 14px;font-weight:800}.section{padding:38px 0}.section-title{text-align:center;max-width:780px;margin:0 auto 22px}.left-title{text-align:left;margin-left:0}.section-title h2{letter-spacing:-.03em;margin:16px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.15}.section-title p{color:var(--muted);margin:0;line-height:1.7}.selected-info{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:18px;display:flex}.selected-info span{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:999px;padding:10px 13px;font-weight:800}.selected-info span:nth-child(2){background:var(--accent-soft);color:var(--accent);border-color:rgba(var(--accent-rgb), .18)}.selected-info span:nth-child(4){background:var(--level-soft);color:var(--level-color)}.main-grid{justify-content:center;display:flex}.card{padding:24px}.card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.card-head h2,.card h2{margin:0 0 8px;font-size:25px}.card-head p,.card-text{color:var(--muted);margin:0;line-height:1.6}.lesson-badge{white-space:nowrap;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .18);border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900;display:inline-flex}.result-dot{background:linear-gradient(135deg, var(--accent), var(--level-color));width:20px;height:20px;box-shadow:0 0 0 8px rgba(var(--accent-rgb), .1);border-radius:999px}.form-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field label{font-size:14px;font-weight:900}.full{grid-column:1/-1}.select-box{position:relative}.select-box:after{content:"⌄";color:var(--muted);pointer-events:none;font-size:18px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.select-box select{appearance:none;background:linear-gradient(#fff,#f9fbff);padding-right:42px}.level-select select{border-color:#ff8a3d40}.note{color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;margin:15px 0;padding:13px 14px;line-height:1.6}.result-card{position:sticky;top:96px}.result{white-space:pre-wrap;color:#edf4ff;background:linear-gradient(#17263f 0%,#101d33 100%);border:1px solid #ffffff14;border-radius:20px;min-height:520px;padding:18px;line-height:1.7}.tools-grid{grid-template-columns:1fr 1fr .85fr;gap:18px;display:grid}.input-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.input-grid.three{grid-template-columns:repeat(3,1fr)}.small-result{background:var(--accent-soft);color:var(--accent);border-radius:15px;margin-top:13px;padding:13px 15px;font-weight:900}.level-result{background:var(--level-soft);color:var(--level-color)}.ad-placeholder{border:2px dashed rgba(var(--accent-rgb), .22);min-height:165px;color:var(--muted);background:linear-gradient(#fff,#f8fbff);border-radius:20px;place-items:center;margin-top:16px;font-weight:800;display:grid}.footer{border-top:1px solid var(--border);background:#ffffff80;margin-top:42px;padding:28px 0 42px}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{color:var(--muted);margin:6px 0 0}.footer-buttons{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1050px){.hero-grid,.main-grid,.tools-grid{grid-template-columns:1fr}.result-card{position:static}.hero-summary{grid-template-columns:1fr}}@media (max-width:850px){.header-inner{flex-wrap:wrap;justify-content:center;padding:12px 0}.nav-tabs{order:3}.form-grid,.input-grid,.input-grid.three{grid-template-columns:1fr}.full{grid-column:auto}.hero-copy,.hero-card,.card{border-radius:22px;padding:20px}.hero-copy h1{font-size:clamp(30px,9vw,44px)}.lead{font-size:16px}.hero-btn,.outline-btn{width:100%}.footer-inner{flex-direction:column;align-items:flex-start}}.custom-select{position:relative}.custom-select-trigger{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:linear-gradient(#fff,#f9fbff);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #1e40780a}.custom-select-trigger:hover{border-color:var(--accent)}.custom-select.open .custom-select-trigger{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .13)}.custom-select.lesson .custom-select-trigger{background:linear-gradient(180deg, #fff, var(--accent-soft))}.custom-select.level .custom-select-trigger{background:linear-gradient(180deg, #fff, var(--level-soft));border-color:#ff8a3d38}.custom-arrow{color:var(--muted);flex-shrink:0;font-size:16px}.custom-select-menu{z-index:999;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:18px;width:100%;max-height:260px;padding:8px;animation:.16s dropdownFade;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 18px 40px #17263f24}.custom-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:12px 13px;font-weight:600;transition:all .16s}.custom-option:hover{background:var(--accent-soft);color:var(--accent)}.custom-option.selected{background:linear-gradient(135deg, var(--accent), var(--level-color));color:#fff}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.yks-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:18px;display:grid}.yks-card{border-top:4px solid var(--accent)}.yks-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.yks-summary div,.result-score-grid div{background:var(--surface-soft);border:1px solid var(--border);border-radius:18px;padding:15px}.yks-summary span,.result-score-grid span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.yks-summary strong,.result-score-grid strong{color:var(--text);font-size:20px;display:block}.exam-grid{gap:12px;margin-top:16px;display:grid}.exam-row{background:var(--surface-soft);border:1px solid var(--border);border-radius:18px;grid-template-columns:1.2fr .7fr .7fr .8fr;align-items:center;gap:10px;padding:12px;display:grid}.exam-row strong{font-size:14px}.exam-row span{color:var(--accent);text-align:right;font-weight:900}.yks-result-card{background:radial-gradient(circle at top left, rgba(var(--accent-rgb), .12), transparent 30%), #fff;border:1px solid var(--border);grid-column:1/-1}.result-score-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;display:grid}.result-score-grid strong{font-size:24px}@media (max-width:1050px){.yks-layout,.result-score-grid,.exam-row{grid-template-columns:1fr}.exam-row span{text-align:left}.yks-summary{grid-template-columns:1fr}}.calc-btn{width:100%;margin-top:14px}.calc-warning{background:var(--level-soft);color:var(--level-color);border:1px solid #ff8a3d38;border-radius:15px;margin-top:14px;padding:13px 15px;font-weight:800;line-height:1.5}.calc-error{color:#c0392b;background:#fff1f1;border:1px solid #c0392b38;border-radius:15px;margin-top:14px;padding:13px 15px;font-weight:800;line-height:1.5}.ai-usage-info{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .18);text-align:center;border-radius:15px;margin-top:12px;padding:12px 14px;font-weight:900;line-height:1.5}.loading-overlay{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7faffb8;place-items:center;display:grid;position:fixed;inset:0}.loading-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:26px;width:min(420px,100% - 32px);padding:28px;box-shadow:0 24px 70px #1e40782e}.loading-spinner{border:5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:999px;width:56px;height:56px;margin:0 auto 18px;animation:.9s linear infinite spinLoading}.loading-card h2{color:var(--text);margin:0 0 8px}.loading-card p{color:var(--muted);margin:0;line-height:1.6}@keyframes spinLoading{to{transform:rotate(360deg)}}.note-page-shell{color:#17263f;background:radial-gradient(circle at 0 0,#4f7cff1f,#0000 28%),linear-gradient(#f8fbff 0%,#eef5ff 48%,#f9fbff 100%);min-height:100vh;padding:22px}.note-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:min(1060px,100%);margin:0 auto 20px;display:flex}.note-brand{color:#17263f;cursor:pointer;background:0 0;align-items:center;gap:10px;display:flex}.note-brand span{color:#fff;background:linear-gradient(135deg,#4f7cff,#ff8a3d);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.note-actions{flex-wrap:wrap;gap:8px;display:flex}.note-actions button,.note-empty-card button{color:#17263f;cursor:pointer;background:#fff;border:1px solid #dce8f6;border-radius:999px;padding:11px 14px;font-weight:800;transition:all .2s}.note-actions button:hover,.note-empty-card button:hover{border-color:#4f7cff;transform:translateY(-1px)}.note-hero{background:#ffffffeb;border:1px solid #dce8f6;border-radius:28px;width:min(1060px,100%);margin:0 auto 18px;padding:28px;box-shadow:0 18px 45px #1e40781a}.note-hero span{color:#4f7cff;background:#eef3ff;border:1px solid #4f7cff2e;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.note-hero h1{letter-spacing:-.04em;margin:16px 0 8px;font-size:clamp(30px,5vw,52px);line-height:1.05}.note-hero p{color:#66758d;margin:0;line-height:1.6}.note-meta{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.note-meta div{background:#f8fbff;border:1px solid #dce8f6;border-radius:16px;padding:13px 15px}.note-meta small{color:#66758d;margin-bottom:4px;display:block}.note-meta strong{color:#17263f}.note-paper{background:#fff;border:1px solid #dce8f6;border-radius:28px;width:min(900px,100%);margin:0 auto 50px;padding:48px;box-shadow:0 10px 40px #00000014}.note-paper h2{color:#2c3e73;border-left:6px solid #7c5cff;margin-top:40px;margin-bottom:18px;padding-left:14px;font-size:30px}.note-paper h2:first-child{margin-top:0}.note-paper p{color:#263a59;margin:0 0 14px;font-size:17px;line-height:1.85}.note-bullet{background:#f8fbff;border:1px solid #e6eef9;border-radius:15px;padding:12px 14px}.note-empty-card{text-align:center;background:#fff;border:1px solid #dce8f6;border-radius:28px;width:min(520px,100%);margin:80px auto;padding:30px;box-shadow:0 18px 45px #1e40781a}.note-empty-card h1{margin-top:0}.note-empty-card p{color:#66758d;line-height:1.6}@media print{.note-topbar,.note-actions{display:none}.note-page-shell{background:#fff;padding:0}.note-hero,.note-paper{box-shadow:none;border:0}}@media (max-width:700px){.note-topbar{align-items:flex-start}.note-actions{width:100%}.note-actions button{flex:1}}.legal-page-shell{color:#17263f;background:radial-gradient(circle at 0 0,#4f7cff1f,#0000 28%),linear-gradient(#f8fbff 0%,#eef5ff 48%,#f9fbff 100%);min-height:100vh;padding:28px}.legal-card{background:#fff;border:1px solid #dce8f6;border-radius:28px;width:min(880px,100%);margin:0 auto;padding:clamp(24px,5vw,46px);box-shadow:0 18px 45px #1e40781a}.legal-back{color:#4f7cff;margin-bottom:20px;font-weight:900;text-decoration:none;display:inline-flex}.legal-badge{color:#4f7cff;background:#eef3ff;border:1px solid #4f7cff2e;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.legal-card h1{letter-spacing:-.04em;margin:18px 0 14px;font-size:clamp(34px,5vw,54px);line-height:1.05}.legal-card h2{margin:28px 0 10px;font-size:24px}.legal-card p{color:#263a59;margin:0 0 14px;font-size:17px;line-height:1.85}.contact-box{background:#f8fbff;border:1px solid #dce8f6;border-radius:18px;margin:18px 0;padding:16px}.contact-box strong{margin-bottom:6px;display:block}.contact-box p{color:#4f7cff;margin:0;font-weight:800}.site-footer{text-align:center;border-top:1px solid #8caadc40;margin-top:80px;padding:32px 20px 50px}.footer-links{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:18px;display:flex}.footer-links a{color:#5a6f96;font-weight:700;text-decoration:none;transition:all .2s}.footer-links a:hover{color:#4f7cff}.site-footer p{color:#8a9ab7;font-size:14px}.brand-logo-image{object-fit:contain;border-radius:14px;width:48px;height:48px}.form-card{width:100%;max-width:820px}.note-paper p{color:#374151;font-size:18px;line-height:1.9}.note-paper{background:#fff;border-radius:28px;padding:48px;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000014}.pdf-top{text-align:center;z-index:2;margin-bottom:42px;position:relative}.pdf-top span{color:#fff;background:linear-gradient(135deg,#7c5cff,#5b8cff);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700}.pdf-top h1{color:#1e293b;margin-top:22px;font-size:38px}.pdf-top p{color:#64748b;margin-top:10px}.pdf-watermark{pointer-events:none;z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pdf-watermark img{opacity:.05;width:420px;transform:rotate(-18deg)}.note-paper h2{color:#2c3e73;z-index:2;border-left:6px solid #7c5cff;margin-top:40px;margin-bottom:18px;padding-left:14px;font-size:30px;position:relative}.note-paper p{color:#374151;z-index:2;font-size:18px;line-height:1.9;position:relative}.user-box{flex-direction:column;align-items:center;gap:6px;display:flex}.user-avatar{object-fit:cover;border:2px solid #fff3;border-radius:999px;width:42px;height:42px}.user-box span{color:#111827;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:12px;font-weight:600;overflow:hidden}.logout-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:999px;margin-top:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ef444440}.logout-btn:hover{opacity:.95;transform:translateY(-1px)}.custom-error{color:#fff;z-index:9999;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:16px;padding:14px 20px;font-weight:600;animation:.2s fadeIn;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #ef444440}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.profile-wrapper,.user-box{position:relative}.profile-menu{z-index:999;background:#fff;border:1px solid #0000000f;border-radius:18px;flex-direction:column;gap:8px;width:220px;padding:10px;display:flex;position:absolute;top:72px;right:24px;box-shadow:0 12px 40px #0000001f}@keyframes profileMenuAnim{0%{opacity:0;transform:scale(.92)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.profile-menu button{cursor:pointer;background:#f7f8fc;border:none;border-radius:12px;padding:12px;font-weight:600;transition:all .2s}.profile-menu button:hover{background:#ff7373}.profile-menu .logout-btn{color:#000}.profile-menu button{opacity:0;animation:.25s forwards profileItemAnim;transform:translateY(-8px)}.profile-menu button:first-child{animation-delay:50ms}.profile-menu button:nth-child(2){animation-delay:.1s}.profile-menu button:nth-child(3){animation-delay:.15s}@keyframes profileItemAnim{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.history-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.history-modal{background:#fff;border-radius:28px;width:min(700px,92%);max-height:80vh;padding:24px;animation:.25s modalAnim;overflow-y:auto;box-shadow:0 30px 80px #0003}.history-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.history-header h2{margin:0}.history-header button{cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;width:38px;height:38px;font-size:16px}.history-list{flex-direction:column;gap:14px;display:flex}.history-card{cursor:pointer;background:#f8fafc;border:1px solid #0000000d;border-radius:18px;flex-direction:column;gap:6px;padding:16px;transition:all .22s;display:flex}.history-card:hover{border-color:#4f46e524;transform:translateY(-4px)scale(1.01);box-shadow:0 14px 34px #4f46e51f}.history-card strong{font-size:16px}.history-card span{color:#4b5563}.history-card small{color:#9ca3af}@keyframes modalAnim{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.history-note-content{margin-top:12px}.history-note-content h3{color:#4f46e5;margin-bottom:18px}.history-note-content pre{white-space:pre-wrap;background:#f8fafc;border-radius:18px;padding:18px;font-family:inherit;line-height:1.7;overflow-x:auto}.delete-history-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:12px;margin-top:10px;padding:10px 14px;font-weight:700;transition:all .2s}.delete-history-btn:hover{background:#fecaca;transform:scale(1.02)}
