:root{--ink:#16232b;--slate:#5c7079;--line:#dce6e6;--soft:#f4f8f8;--paper:#fff;--teal:#0e9b93;--teal-deep:#0b7c75;--teal-ink:#0a4f4b;--soft-teal:#e9f6f5;--green:#1e9e5a;--green-bg:#eaf8ef;--green-border:#bce8cc;--red:#d14343;--red-bg:#fdefef;--red-border:#f4c2c2;--amber:#b8860b;--amber-bg:#fff8e6;color:var(--ink);background:var(--soft);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.55 -apple-system,Segoe UI,Roboto,Inter,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{letter-spacing:-.3px;color:var(--ink);margin:0;font-weight:800}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:var(--teal-deep);text-decoration:none}.page{flex:1;width:100%;max-width:880px;margin:0 auto;padding:32px 20px 64px}.topbar{border-bottom:1px solid var(--line);background:var(--paper)}.topbar-inner{justify-content:space-between;align-items:center;max-width:880px;margin:0 auto;padding:16px 20px;display:flex}.brand{color:var(--teal-ink);font-size:18px;font-weight:800}.nav-links{gap:8px;display:flex}.nav-link{color:var(--slate);border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.nav-link:hover,.nav-link.active{background:var(--soft-teal);color:var(--teal-ink)}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 1px 2px #1028280a}.btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 4px 14px #0e9b9347}.btn-primary:hover{background:var(--teal-deep)}.btn-secondary{background:var(--soft-teal);color:var(--teal-ink)}.btn-secondary:hover{background:#ddf0ee}.btn-ghost{color:var(--slate)}.btn-ghost:hover{color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.32s both fade-in-up}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}.pop-in{animation:.35s both pop-in}.critters{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.critter{opacity:.55;filter:saturate(1.1)drop-shadow(0 2px 6px #0000001f);font-size:38px;animation:7s ease-in-out infinite critter-float;position:absolute}@keyframes critter-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-18px)rotate(4deg)}}@keyframes check-draw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.check-draw path{stroke-dasharray:24;stroke-dashoffset:24px;animation:.4s .1s forwards check-draw}.option{text-align:left;border:1.5px solid var(--line);background:var(--paper);border-radius:14px;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:border-color .15s,background .15s,transform .1s;display:flex}.option:hover:not(:disabled){border-color:var(--teal);background:var(--soft-teal);transform:translateY(-1px)}.option.selected{border-color:var(--teal);background:var(--soft-teal)}.option.correct{border-color:var(--green);background:var(--green-bg)}.option.incorrect{border-color:var(--red);background:var(--red-bg)}.option-letter{background:var(--soft);width:28px;height:28px;color:var(--slate);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.option.selected .option-letter,.option.correct .option-letter{background:var(--teal);color:#fff}.option.incorrect .option-letter{background:var(--red);color:#fff}.progress-bar{background:var(--line);border-radius:4px;height:6px;overflow:hidden}.progress-fill{background:var(--teal);border-radius:4px;height:100%;transition:width .3s}.text-slate{color:var(--slate)}.text-center{text-align:center}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.pl-cta{text-align:left;color:#fff;background:linear-gradient(135deg,#f08a3c,#e0507a 55%,#7c5cdb);border-radius:18px;align-items:center;gap:14px;width:100%;max-width:480px;margin:0 auto;padding:16px 20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 22px #e0507a47}.pl-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #e0507a5c}.pl-cta strong{font-size:18px;display:block}.pl-cta small{opacity:.92;font-size:13px;display:block}.pl-cta>span:last-child{margin-left:auto;font-size:26px}.pl-cta-icon{background:#ffffff38;border-radius:14px;padding:6px 10px;font-size:30px}.pl-page{max-width:760px}.pl-login-wrap{justify-content:center;align-items:center;display:flex}.pl-login{text-align:center;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:28px;display:flex}.pl-login-icon{font-size:44px}.pl-field{text-align:left;color:var(--slate);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.pl-field input,.pl-field textarea,.pl-history input[type=date]{font:inherit;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:44px;padding:12px 14px;font-weight:500}.pl-field input:focus,.pl-field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0e9b932e}.pl-error{color:var(--red);font-size:14px;font-weight:600}.pl-danger{font-weight:700;color:var(--red)!important}.pl-link{color:var(--teal-deep);min-height:36px;padding:8px 6px;font-size:14px;font-weight:700}.pl-link:hover{text-decoration:underline}.pl-tabs{border:1px solid var(--line);z-index:5;background:#fff;border-radius:16px;gap:6px;margin:16px 0 22px;padding:5px;display:flex;position:sticky;top:8px;box-shadow:0 4px 14px #16232b0f}.pl-tab{color:var(--slate);border-radius:12px;flex:1;padding:11px 8px;font-size:14px;font-weight:700;transition:background .15s,color .15s}.pl-tab.on{background:var(--teal);color:#fff;box-shadow:0 3px 10px #0e9b934d}.pl-dot{border:2px solid #0000;border-radius:50%;flex-shrink:0;display:inline-block}.pl-dot-white{background:#fff;border-color:#b9c7c9}.pl-dot-red{background:#e5484d}.pl-dot-yellow{background:#f5b82e}.pl-dot-green{background:#2fb36b}.pl-section h2{letter-spacing:.6px;text-transform:uppercase;color:var(--teal-ink);align-items:center;gap:8px;margin-bottom:12px;font-size:15px;display:flex}.pl-count{background:var(--soft-teal);color:var(--teal-deep);border-radius:999px;padding:1px 10px;font-size:13px}.pl-overdue h2{color:var(--red)}.pl-overdue .pl-count{background:var(--red-bg);color:var(--red)}.pl-task,.pl-topic{text-align:left;border:1px solid var(--line);border-left:6px solid var(--c,var(--teal));background:#fff;border-radius:16px;align-items:center;gap:14px;width:100%;min-height:60px;padding:14px 16px;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 2px 8px #16232b0a}.pl-task:hover,.pl-topic:hover{transform:translateY(-1px);box-shadow:0 6px 16px #16232b17}.pl-overdue .pl-task{background:var(--red-bg);border-color:var(--red-border);border-left-color:var(--red)}.pl-task-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pl-task-main strong{font-size:15.5px}.pl-task-main small{color:var(--slate);font-size:12.5px}.pl-chip{background:color-mix(in srgb, var(--c) 16%, #fff);color:color-mix(in srgb, var(--c) 70%, #000);border-radius:999px;margin-right:4px;padding:1px 9px;font-weight:800;display:inline-block}.pl-late{background:var(--red);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}.pl-go{color:var(--slate);font-size:24px}.pl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.pl-subject{text-align:left;color:#fff;background:linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 65%, #000));box-shadow:0 8px 20px color-mix(in srgb, var(--c) 35%, transparent);border-radius:20px;flex-direction:column;gap:6px;min-height:120px;padding:18px;transition:transform .15s;display:flex}.pl-subject:hover{transform:translateY(-3px)}.pl-subject strong{font-size:18px}.pl-subject small{opacity:.92}.pl-new{color:var(--teal-deep);border:2px dashed var(--teal);box-shadow:none;background:#fff;justify-content:center;align-items:center}.pl-bar{background:#ffffff4d;border-radius:999px;gap:2px;height:8px;margin-top:auto;display:flex;overflow:hidden}.pl-bar-green{background:#2fb36b}.pl-bar-yellow{background:#f5b82e}.pl-bar-red{background:#e5484d}.pl-bar-white{background:#fff}.pl-hero{color:#fff;background:linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 60%, #000));box-shadow:0 10px 26px color-mix(in srgb, var(--c) 35%, transparent);border-radius:22px;padding:22px}.pl-hero p{opacity:.95;font-size:14px}.pl-hero-btn{color:#fff;background:#ffffff38;border-radius:12px;padding:8px 14px;font-weight:700}.pl-legend{flex-wrap:wrap;gap:6px 16px;margin:8px 0 14px;font-size:14px;font-weight:600;display:flex}.pl-legend span{align-items:center;gap:6px;display:inline-flex}.pl-hero .pl-bar{height:10px;margin-top:0}.pl-topics{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pl-topics li{align-items:stretch;gap:8px;display:flex}.pl-topics .pl-topic{flex:1}.pl-order{flex-direction:column;gap:4px;display:flex}.pl-order button{background:var(--soft-teal);width:40px;color:var(--teal-deep);border-radius:10px;flex:1;font-size:11px}.pl-order button:disabled{opacity:.35}.pl-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16232b80;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.pl-modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:520px;max-height:92vh;padding:22px 20px 28px;overflow-y:auto}@media (width>=600px){.pl-overlay{align-items:center;padding:20px}.pl-modal{border-radius:24px}}.pl-x{background:var(--soft);width:36px;height:36px;color:var(--slate);border-radius:50%}.pl-subject-tag{background:color-mix(in srgb, var(--c) 16%, #fff);color:color-mix(in srgb, var(--c) 70%, #000);border-radius:999px;margin-bottom:14px;padding:3px 12px;font-size:13px;font-weight:700;display:inline-block}.pl-box{background:var(--soft);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.pl-rating{gap:8px;display:grid}.pl-rate{text-align:left;border:2px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;min-height:52px;padding:12px 14px;display:flex}.pl-rate span{flex-direction:column;display:flex}.pl-rate small{color:var(--slate);font-size:12px}.pl-rate-red.on{background:#fdefef;border-color:#e5484d}.pl-rate-yellow.on{background:#fff8e6;border-color:#f5b82e}.pl-rate-green.on{background:#eaf8ef;border-color:#2fb36b}.pl-swatches{flex-wrap:wrap;gap:10px;display:flex}.pl-swatch{width:40px;height:40px;box-shadow:0 0 0 1.5px var(--line);border:3px solid #fff;border-radius:50%}.pl-swatch.on{box-shadow:0 0 0 3px var(--ink)}.pl-history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pl-history li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 4px;display:flex}@media (prefers-reduced-motion:reduce){.pl-cta,.pl-subject,.pl-task,.pl-topic{transition:none}}html,body{overflow-x:hidden}@media (width<=560px){.topbar-inner{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.nav-links{justify-content:space-between;gap:4px}.nav-link{text-align:center;flex:1;padding:8px 6px;font-size:13px}.page{padding:20px 16px 48px}.pl-tab{padding:10px 4px;font-size:13px}.pl-cta{padding:14px 16px}.pl-task,.pl-topic{gap:10px;padding:12px}.pl-login{padding:22px 18px}.pl-history li{flex-wrap:wrap}}.pl-cta-teal{background:linear-gradient(135deg,#0e9b93,#0b7c75 60%,#3b82d9);box-shadow:0 8px 22px #0e9b9347}.pl-cta-teal:hover{box-shadow:0 12px 28px #0e9b935c}
