@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_e8413677-module__kC_w9a__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_e8413677-module__kC_w9a__variable{--font-sans-next:"Inter", "Inter Fallback"}
@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/88731e1a74492905-s.0tlm39yf_ckdx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/861011d7404b02f6-s.3fnhzl7vreycw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/3381337b621a9a6a-s.0jxe124sc_62t.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.0iws-x-_m0m6k.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0951afe60dbf5d36-s.0f7v04cdymq72.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/97e7b204180d1274-s.3xa5d8otat0m1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.2qe5xx8d5sx8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code Fallback;src:local(Arial);ascent-override:73.56%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:134.59%}.fira_code_4f3a3d09-module__rdzeWG__className{font-family:Fira Code,Fira Code Fallback;font-style:normal}.fira_code_4f3a3d09-module__rdzeWG__variable{--font-fira-code:"Fira Code", "Fira Code Fallback"}
:root{--crust:#11111b;--mantle:#181825;--base:#1e1e2e;--surface0:#313244;--surface1:#45475a;--surface2:#585b70;--text:#cdd6f4;--subtext1:#bac2de;--subtext0:#a6adc8;--overlay2:#9399b2;--overlay1:#7f849c;--overlay0:#6c7086;--mauve:#cba6f7;--blue:#89b4fa;--sapphire:#74c7ec;--green:#a6e3a1;--peach:#fab387;--red:#f38ba8;--bg-main:var(--base);--bg-card:var(--surface0);--bg-input:var(--mantle);--text-main:var(--text);--text-muted:var(--subtext0);--border:var(--surface1);--primary:var(--mauve);--primary-hover:color-mix(in srgb, var(--mauve), #000 14%);--secondary:var(--overlay0);--success:var(--green);--warning:var(--peach);--danger:var(--red);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:"Merriweather", "Georgia", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=latte]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--crust:#dce0e8;--mantle:#e6e9ef;--base:#eff1f5;--surface0:#ccd0da;--surface1:#bcc0cc;--surface2:#acb0be;--text:#4c4f69;--subtext1:#5c5f77;--subtext0:#6c6f85;--overlay2:#7c7f93;--overlay1:#8c8fa1;--overlay0:#9ca0b0;--mauve:#8839ef;--blue:#1e66f5;--sapphire:#209fb5;--green:#40a02b;--peach:#fe640b;--red:#d20f39}[data-theme=frappe]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--crust:#232634;--mantle:#292c3c;--base:#303446;--surface0:#414559;--surface1:#51576d;--surface2:#626880;--text:#c6d0f5;--subtext1:#b5bfe2;--subtext0:#a5adce;--overlay2:#949cbb;--overlay1:#838ba7;--overlay0:#737994;--mauve:#ca9ee6;--blue:#8caaee;--sapphire:#85c1dc;--green:#a6d189;--peach:#ef9f76;--red:#e78284}[data-theme=macchiato]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--crust:#181926;--mantle:#1e2030;--base:#24273a;--surface0:#363a4f;--surface1:#494d64;--surface2:#5b6078;--text:#cad3f5;--subtext1:#b8c0e0;--subtext0:#a5adcb;--overlay2:#939ab7;--overlay1:#8087a2;--overlay0:#6e738d;--mauve:#c6a0f6;--blue:#8aadf4;--sapphire:#7dc4e4;--green:#a6da95;--peach:#f5a97f;--red:#ed8796}.theme-switcher{align-items:center;gap:.35rem;display:inline-flex}.theme-switcher select{background:var(--surface0);color:var(--text-main);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.35rem .5rem;font-family:inherit;font-size:.85rem}.theme-switcher-icon{font-size:.9rem;line-height:1}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;height:100%;overflow-x:hidden}body{color:var(--text-main);background:var(--bg-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 2rem}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-weight:700;line-height:1.2}.button{background:var(--surface0);color:var(--subtext1);font-family:var(--font-fira-code), monospace;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.button:hover{background:var(--mauve);color:var(--crust)}.button:active{transform:translateY(1px)}.button.secondary{background:var(--surface0);color:var(--subtext1)}.button.secondary:hover{background:var(--surface2);color:var(--text-main)}.button.success{background:var(--surface0);color:var(--subtext1)}.button.success:hover{background:var(--green);color:var(--crust)}.hero{text-align:center;background:radial-gradient(circle at top, var(--surface0), var(--base));border-bottom:1px solid var(--border);padding:6rem 2rem}.hero h1{color:var(--mauve);letter-spacing:-.03em;margin-bottom:1.2rem;font-size:3rem}.hero p{color:var(--subtext1);margin-bottom:2.5rem;max-width:600px;margin-inline:auto;font-size:1.2rem}.hero .actions{justify-content:center;gap:1rem;display:flex}.task-selector{padding:2rem 0}.ts-heading{text-align:center;color:var(--text-main);margin-bottom:1.5rem;font-size:2rem}.ts-modes{justify-content:center;gap:.5rem;display:flex}.ts-mode{background:var(--surface0);color:var(--subtext1);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.ts-mode.active,.ts-mode:not(:disabled):hover{background:var(--mauve);color:var(--crust);border-color:var(--mauve)}.ts-mode:disabled{opacity:.6;cursor:default}.ts-mode-hint{text-align:center;color:var(--subtext0);margin:.6rem 0 1.5rem;font-size:.85rem}.ts-modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ts-modal{background:var(--surface0);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;padding:1.75rem;box-shadow:0 12px 40px #00000059}.ts-modal-title{text-align:center;color:var(--text-main);margin:0 0 1.25rem;font-size:1.15rem}.ts-modal .ts-modes{margin-bottom:.75rem}.ts-modal-hint{text-align:center;color:var(--subtext0);margin:0 0 1rem;font-size:.85rem}.ts-modal-cancel{color:var(--subtext1);cursor:pointer;background:0 0;border:none;margin:0 auto;font-size:.85rem;text-decoration:underline;display:block}.ts-modal-cancel:disabled{opacity:.5;cursor:default}.ts-filters{flex-wrap:wrap;align-items:center;gap:.75rem;max-width:760px;margin:0 auto 1rem;display:flex}.ts-tabs,.ts-chips{gap:.4rem;display:flex}.ts-tab,.ts-chip{background:var(--surface0);color:var(--subtext1);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.ts-tab.active{background:var(--blue);color:var(--crust);border-color:var(--blue)}.ts-chip.active{background:var(--surface1);color:var(--text-main);border-color:var(--overlay0)}.ts-search{background:var(--mantle);min-width:140px;color:var(--text-main);border:1px solid var(--border);border-radius:10px;flex:160px;padding:.5rem .8rem;font-size:.9rem}.ts-random{padding:.5rem 1rem}.ts-list{flex-direction:column;gap:.5rem;max-width:760px;margin:0 auto;padding:0;list-style:none;display:flex}.ts-empty{text-align:center;color:var(--subtext0);padding:2rem}.ts-item{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.9rem 1.1rem;transition:border-color .15s,transform .1s;display:flex}.ts-item:hover{border-color:var(--primary);transform:translate(2px)}.ts-item:disabled{opacity:.6;cursor:wait}.ts-item-title{color:var(--text-main);font-size:1rem}.ts-badge{white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.ts-badge.diff-easy{color:var(--green);background:#a6e3a12e}.ts-badge.diff-medium{color:var(--mauve);background:#cba6f72e}.ts-badge.diff-hard{color:var(--red);background:#f38ba82e}.example-box{margin-bottom:1.5rem}.example-content{background:var(--surface0);border:1px solid var(--border);border-radius:10px;max-height:40vh;margin-top:.75rem;padding:1rem;overflow-y:auto}.example-title{color:var(--mauve);margin:0 0 .6rem;font-size:.95rem}.example-content .essay-content{white-space:pre-wrap;color:var(--subtext1);font-size:.9rem;line-height:1.6}.example-structure{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.example-structure li{color:var(--subtext1);font-size:.88rem}.example-structure strong{color:var(--text-main)}.example-target{color:var(--overlay1);font-size:.8rem}.example-structure p{margin:.2rem 0 0}.task-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:800px;margin:0 auto;display:grid}.task-card{background:var(--bg-card);border:2px solid var(--border);cursor:pointer;text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:3rem 2rem;transition:all .3s;display:flex}.task-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 30px #00000040}.task-card h3{color:var(--mauve);margin-bottom:1rem;font-size:2rem}.task-card p{color:var(--subtext1);flex-grow:1;margin-bottom:2rem;font-size:1.1rem}.task-card span{background:var(--mantle);color:var(--blue);border:1px solid var(--border);border-radius:20px;padding:.5rem 1.2rem;font-size:.95rem;font-weight:700;display:inline-block}.dashboard{min-height:100vh;padding:4rem 0}.dashboard header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.back-link{color:var(--blue);align-items:center;gap:.5rem;font-weight:600;display:flex}.back-link:hover{color:var(--text-main)}.stats-overview{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:4rem;display:grid}.stat-box{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:20px;padding:2.5rem 2rem}.stat-box .label{color:var(--overlay1);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.85rem;display:block}.stat-box .value{color:var(--text-main);font-size:2.5rem;font-weight:800}.drafts-section{margin-bottom:3rem}.drafts-section h2{margin-bottom:1rem}.drafts-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.draft-row{background:var(--surface0);border:1px solid var(--border);border-left:3px solid var(--peach);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.draft-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.draft-title{color:var(--text-main);font-weight:600}.draft-meta{color:var(--overlay1);font-size:.85rem}.history-table{border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:1.5rem}th{background:var(--mantle);color:var(--overlay1);text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--surface2);font-size:.85rem;font-weight:600}td:last-child,th:last-child{border-right:none}tr:last-child td{border-bottom:none}.band-tag{background:var(--surface1);color:var(--text-main);border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:700}.band-tag.rated{color:var(--green);background:#a6e3a11a;border:1px solid #a6e3a133}.view-link{color:var(--mauve);font-weight:600}.view-link:hover{text-decoration:underline}.summary-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:16px;padding:1.5rem}.stat-card .label{color:var(--overlay1);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;display:block}.stat-card .value{color:var(--text-main);font-size:1.5rem;font-weight:700}.content-section{background:var(--mantle);border:1px solid var(--border);border-radius:16px;margin-bottom:3rem;padding:2.5rem}.essay-content{white-space:pre-wrap;color:var(--text-main);line-height:1.8;font-family:var(--font-serif);font-size:1.1rem}.model-answer>summary{cursor:pointer;color:var(--green);font-size:1.15rem;font-weight:700;list-style:none}.model-answer>summary::-webkit-details-marker{display:none}.model-answer>summary:before{content:"▶ ";color:var(--overlay1);font-size:.8rem}.model-answer[open]>summary:before{content:"▼ "}.evaluation-container{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;margin-top:2rem;padding:3rem}.evaluation-container h2{color:var(--mauve);text-align:center;margin-bottom:2.5rem}.overall-score{justify-content:center;margin-bottom:3rem;display:flex}.band-circle{background:var(--mantle);width:140px;height:140px;color:var(--mauve);border:4px solid var(--mauve);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 0 30px #cba6f71a}.band-circle .number{font-size:3rem;font-weight:800;line-height:1}.band-circle .label{text-transform:uppercase;color:var(--subtext0);letter-spacing:.05em;margin-top:8px;font-size:.75rem}.criteria-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.criterion{background:var(--mantle);border-left:4px solid var(--blue);border-radius:12px;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.criterion .name{color:var(--subtext1);font-size:.95rem;font-weight:500}.criterion .score{color:var(--text-main);font-size:1.2rem;font-weight:800}.feedback-section h3{color:var(--sapphire);margin-bottom:1.5rem;font-size:1.5rem}.feedback-text{color:var(--subtext1);max-width:72ch;font-size:1.05rem;line-height:1.75}.feedback-text>:first-child{margin-top:0}.feedback-text>:last-child{margin-bottom:0}.feedback-text p{margin:0 0 1rem}.feedback-text h4{color:var(--sapphire);margin:1.75rem 0 .75rem;font-size:1.1rem;font-weight:700}.feedback-text h5{color:var(--mauve);margin:1.5rem 0 .6rem;font-size:1rem;font-weight:700}.feedback-text ul,.feedback-text ol{margin:0 0 1rem;padding-left:1.4rem}.feedback-text li{margin-bottom:.5rem;padding-left:.25rem}.feedback-text ul li::marker{color:var(--sapphire)}.feedback-text ol li::marker{color:var(--sapphire);font-weight:700}.feedback-text strong{color:var(--text-main);font-weight:700}.feedback-text em{color:var(--subtext0)}.feedback-text code{font-family:var(--font-fira-code), monospace;background:var(--surface0);color:var(--peach);border-radius:5px;padding:.1rem .4rem;font-size:.9em}.prompt-recap-head{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.prompt-recap-head h3{color:var(--sapphire);margin:0;font-size:1.2rem}.prompt-recap .zen-prompt-type{margin-bottom:0}.prompt-recap-title{color:var(--mauve);margin:0 0 .75rem;font-size:1.2rem}.prompt-recap-body{color:var(--subtext1);white-space:pre-wrap;margin:0;line-height:1.7}.prompt-recap-image{object-fit:contain;border:1px solid var(--border);border-radius:10px;max-width:100%;max-height:360px;margin-top:1.25rem;display:block}.essay-correction{color:inherit;border-bottom:2px solid var(--peach);cursor:help;background:#fab38738;border-radius:3px;padding:0 1px}.corrections-section{margin-bottom:3rem}.corrections-section h3{color:var(--sapphire);margin-bottom:1.25rem;font-size:1.4rem}.corrections-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.correction-card{background:var(--base);border:1px solid var(--border);border-left:3px solid var(--peach);border-radius:12px;padding:1rem 1.25rem}.correction-type{text-transform:uppercase;letter-spacing:.05em;color:var(--peach);background:#fab3871f;border-radius:6px;margin-bottom:.6rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.correction-diff{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.05rem;line-height:1.6;display:flex}.correction-wrong{color:var(--red);-webkit-text-decoration:line-through #f38ba899;text-decoration:line-through #f38ba899}.correction-arrow{color:var(--overlay1)}.correction-right{color:var(--green);font-weight:600}.correction-explain{color:var(--subtext0);margin:.6rem 0 0;font-size:.9rem;line-height:1.5}.correction-rule{color:var(--subtext1);margin:.6rem 0 0;font-size:.88rem;line-height:1.5}.correction-rule span{color:var(--mauve);margin-right:.35rem;font-weight:700}.loading-state{text-align:center;background:var(--bg-card);border:1px dashed var(--surface2);border-radius:16px;padding:4rem}.spinner{border:4px solid var(--surface1);border-top:4px solid var(--mauve);border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.zen-layout{background:var(--base);grid-template-columns:350px 1fr;height:100vh;display:grid;overflow:hidden}.zen-sidebar{background:var(--mantle);border-right:1px solid var(--border);scrollbar-gutter:stable;flex-direction:column;padding:0 2rem 2.5rem;display:flex;overflow-y:auto}.zen-prompt-title{color:var(--mauve);margin-bottom:.5rem;font-size:1.5rem}.zen-prompt-type{background:var(--surface1);color:var(--text-main);border-radius:6px;margin-bottom:2rem;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.zen-prompt-body{color:var(--mauve);white-space:pre-wrap;margin-bottom:2rem;font-size:1.05rem;font-weight:700;line-height:1.7}.zen-hints{background:var(--surface0);interpolate-size:allow-keywords;border:none;border-radius:8px;margin-bottom:3rem;overflow:hidden}.zen-hints::details-content{opacity:0;block-size:0;transition:block-size .25s ease, opacity .2s ease, content-visibility .25s ease allow-discrete;overflow:hidden}.zen-hints[open]::details-content{opacity:1;block-size:auto}.zen-hints-summary{cursor:pointer;font-family:var(--font-fira-code), monospace;color:var(--subtext0);-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;padding:.65rem 1rem;font-size:.9rem;font-weight:600;list-style:none;transition:background .15s,color .15s;display:flex}.zen-hints-summary:hover{background:var(--surface1);color:var(--text-main)}.zen-hints[open] .zen-hints-summary{color:var(--text-main)}.zen-hints-summary::-webkit-details-marker{display:none}.zen-hints-summary:after{content:"▶";color:var(--overlay1);margin-left:auto;font-size:.7rem;transition:transform .2s}.zen-hints[open] .zen-hints-summary:after{transform:rotate(90deg)}.panel-icon{stroke:currentColor;flex-shrink:0;width:16px;height:16px}.zen-hints-list{color:var(--subtext1);padding:0 1.5rem 1.5rem 3rem;font-size:.95rem;line-height:1.6}.zen-hints-list li{margin-bottom:.75rem}.beginner-group{margin-bottom:3rem}.beginner-group-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--overlay1);margin-bottom:.75rem;font-size:.7rem;display:block}.beginner-group .zen-hints{margin-bottom:.6rem}.zen-aids-bar{box-sizing:border-box;border-top:1px solid var(--border);background:var(--mantle);flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;height:3.25rem;padding:.6rem 2.5rem;display:flex}.aids-outline{flex-wrap:wrap;flex:auto;align-items:center;gap:.4rem .6rem;margin:0;padding:0;list-style:none;display:flex}.aids-outline li{background:var(--surface0);color:var(--subtext1);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.85rem;display:inline-flex}.aids-outline li.met{color:var(--green)}.aids-outline-count{font-family:var(--font-fira-code), monospace;color:var(--overlay1);font-size:.78rem}.aids-outline li.met .aids-outline-count{color:var(--green)}.aids-outline li.has-hint{cursor:help;position:relative}.aids-hint-tip{background:var(--surface1);width:max-content;max-width:280px;color:var(--text-main);border:1px solid var(--border);opacity:0;visibility:hidden;z-index:50;pointer-events:none;border-radius:8px;padding:.5rem .7rem;font-size:.8rem;font-weight:400;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 6px 20px #00000073}.aids-outline li.has-hint:hover .aids-hint-tip,.aids-outline li.has-hint:focus-within .aids-hint-tip{opacity:1;visibility:visible;transform:translateY(0)}.aids-hint-icon{background:var(--surface1);width:14px;height:14px;color:var(--subtext0);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex}.aids-toggles{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-left:auto;display:flex}.aids-toggles label{color:var(--subtext1);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.aids-toggles input[type=checkbox]{accent-color:var(--mauve);cursor:pointer}.template-list{flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1.25rem;display:flex}.template-chip{background:var(--surface0);color:var(--subtext1);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;transition:background .15s,color .15s}.template-chip:hover{background:var(--sapphire);color:var(--crust)}.checklist{margin:0;padding:0 1.25rem 1.25rem;list-style:none}.checklist li{margin-bottom:.5rem}.checklist label{cursor:pointer;color:var(--subtext1);align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.4;display:flex}.checklist input{accent-color:var(--green);margin-top:.2rem}.checklist .done{color:var(--overlay0);text-decoration:line-through}.zen-stats{z-index:5;background:var(--mantle);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1rem;margin:0 -2rem 2rem;padding:2.5rem 2rem 1.5rem;display:grid;position:sticky;top:0}.zen-stat{background:var(--base);text-align:center;border-radius:12px;padding:1rem}.zen-stat .lbl{color:var(--overlay1);text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem;display:block}.zen-stat .val{color:var(--text-main);font-size:1.25rem;font-weight:700}.zen-stat .val.timer-warning{color:var(--red)}.kbd-hint{font-family:var(--font-fira-code), monospace;background:var(--surface1);color:var(--subtext0);border:1px solid var(--border);border-radius:5px;padding:.2rem .4rem;font-size:.7rem;line-height:1}.spellcheck-toggle{text-align:center;margin-top:1rem}.spellcheck-toggle label{cursor:pointer;color:var(--subtext1);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.spellcheck-toggle input[type=checkbox]{accent-color:var(--mauve);cursor:pointer;width:1.1rem;height:1.1rem}.zen-main{flex-direction:column;display:flex;position:relative;overflow:hidden}.editor-wrapper{flex:1;display:flex;position:relative;overflow:hidden}.zen-textarea,.highlight-overlay,.caret-mirror{font-family:var(--font-fira-code), monospace;white-space:pre-wrap;word-wrap:break-word;font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;scrollbar-gutter:stable;width:100%;height:100%;padding:6rem 15% 4rem;font-size:1.1rem;line-height:1.9;position:absolute;top:0;left:0;overflow-y:auto}.caret-mirror{visibility:hidden;pointer-events:none;z-index:0;color:#0000}.zen-textarea{color:#0000;resize:none;z-index:2;caret-color:#0000;background:0 0;border:none;outline:none}.zen-textarea::placeholder{color:var(--surface2);font-style:italic}.zen-textarea::selection{background:#cba6f74d}.zen-textarea::selection{background:#cba6f74d}.zen-caret{background:var(--mauve);z-index:3;opacity:0;pointer-events:none;will-change:transform;border-radius:1px;width:2px;height:1.1rem;transition:transform .11s linear,opacity .15s;position:absolute;top:0;left:0}.zen-caret.visible{opacity:1;animation:1s infinite caret-blink}.zen-caret.visible.typing{opacity:1;animation:none}@keyframes caret-blink{0%,45%{opacity:1}55%,95%{opacity:0}to{opacity:1}}.zen-focus-overlay{z-index:4;cursor:text;-webkit-backdrop-filter:blur(4px);color:var(--subtext0);letter-spacing:.02em;background:#1e1e2e59;justify-content:center;align-items:center;font-size:1rem;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.highlight-overlay{z-index:1;color:var(--text-main);pointer-events:none}.zen-ghost{color:var(--overlay0)}.spelling-error{-webkit-text-decoration:underline wavy var(--red) 2px;text-decoration:underline wavy var(--red) 2px;background-color:#f38ba826}.image-modal-overlay{z-index:1000;background:#11111bf2;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.image-modal-content{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex;position:relative}.image-modal-content img{object-fit:contain;border-radius:8px;max-width:100%;max-height:90vh;box-shadow:0 10px 40px #00000080}.image-modal-overlay.image-view{padding:1.5rem;position:fixed}.image-modal-overlay.image-view .image-modal-content{width:60vw;max-width:60vw;height:68vh;max-height:68vh}.image-modal-overlay.image-view .image-modal-content img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%}.image-modal-overlay.image-view .image-modal-close{top:.5rem;right:.5rem}.image-modal-close{background:var(--red);color:var(--crust);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:700;transition:transform .2s;display:flex;position:absolute;top:-2rem;right:-2rem;box-shadow:0 4px 12px #f38ba84d}.image-modal-close:hover{transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.zen-topbar{z-index:10;opacity:.3;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;transition:opacity .3s;display:flex;position:relative}.zen-topbar:hover,.zen-topbar.active{opacity:1}.zen-topbar-utils,.zen-topbar-main{gap:.5rem;display:flex}.icon-button{background:var(--surface0);color:var(--subtext0);font-family:var(--font-fira-code), monospace;cursor:pointer;border:none;border-radius:8px;padding:.45rem .7rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.icon-button:hover{background:var(--surface1);color:var(--text-main)}.count-good{color:var(--green)}.count-progress{color:var(--peach)}.val-target{color:var(--overlay1);margin-left:.15rem;font-size:.8rem;font-weight:500}.zen-layout.zen-mode{grid-template-columns:1fr}.zen-layout.zen-mode .zen-sidebar{display:none}.zen-layout.zen-mode .zen-topbar{position:absolute;top:0;left:0;right:0}.zen-float-stats{z-index:9;font-family:var(--font-fira-code), monospace;opacity:.5;align-items:baseline;gap:1.25rem;transition:opacity .3s;display:flex;position:absolute;top:1.6rem;left:50%;transform:translate(-50%)}.zen-float-stats:hover{opacity:1}.zen-float-stats .fs-timer{color:var(--text-main);font-size:1.1rem;font-weight:700}.zen-float-stats .fs-timer.timer-warning{color:var(--red)}.zen-float-stats .fs-words{color:var(--overlay1);font-size:.95rem}.zen-toast{z-index:20;background:var(--surface0);color:var(--text-main);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.75rem;padding:.65rem 1rem;font-size:.9rem;animation:.2s fadeIn;display:flex;position:absolute;top:5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.zen-toast.warn{border-color:var(--red);color:var(--red)}.zen-toast button{color:var(--overlay1);cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1}.zen-toast button:hover{color:var(--text-main)}.zen-dialog{background:var(--mantle);border:1px solid var(--border);text-align:center;border-radius:16px;max-width:420px;padding:2.5rem;position:relative;box-shadow:0 16px 48px #0006}.zen-dialog h3{color:var(--mauve);margin-bottom:1rem;font-size:1.4rem}.zen-dialog p{color:var(--subtext1);margin-bottom:1.5rem;line-height:1.6}.zen-dialog .button{width:100%}.zen-dialog-actions{gap:.75rem;display:flex}.zen-dialog-actions .button{flex:1;width:auto}.shortcuts-list{text-align:left;margin:0;padding:0;list-style:none}.shortcuts-list li{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.6rem 0;display:flex}.shortcuts-list li:last-child{border-bottom:none}.shortcuts-list span{color:var(--subtext1);margin-left:auto;font-size:.9rem}.shortcuts-list kbd{font-family:var(--font-fira-code), monospace;background:var(--surface1);color:var(--text-main);border:1px solid var(--border);border-radius:5px;padding:.2rem .45rem;font-size:.75rem}.topbar-word-count{color:var(--overlay0);font-family:var(--font-fira-code), monospace;align-items:center;gap:.6rem;margin-right:.5rem;font-size:.9rem;display:inline-flex}.topbar-word-count .wc-checking{color:var(--mauve);font-size:.8rem}.auth-wrapper{background:radial-gradient(circle at center, var(--surface0), var(--base));justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;width:100%;max-width:420px;padding:3rem 2.5rem;box-shadow:0 16px 40px #0000004d}.auth-card h2{color:var(--mauve);text-align:center;margin-bottom:.5rem;font-size:2.2rem}.auth-card p.subtitle{color:var(--text-muted);text-align:center;margin-bottom:2.5rem;font-size:.95rem}.auth-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--overlay2);font-size:.85rem;font-weight:600}.form-group input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-main);border-radius:12px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:var(--mauve);box-shadow:0 0 0 3px #cba6f726}.auth-error{color:var(--red);background:#f38ba81a;border:1px solid #f38ba833;border-radius:12px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.google-button{color:#1f1f1f;border:1px solid var(--border);background:#fff;justify-content:center;align-items:center;gap:.6rem;display:flex}.google-button:hover:not(:disabled){background:#f1f1f1}.google-button svg{display:block}.auth-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-footer{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.9rem}.auth-footer a{color:var(--mauve);margin-left:.25rem;font-weight:600}.auth-footer a:hover{text-decoration:underline}.app-header{border-bottom:1px solid var(--border);background:var(--mantle);padding:1rem 0}.app-header .container{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--mauve);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:800;display:flex}.nav-links{align-items:center;gap:1.5rem;display:flex}.user-info{color:var(--subtext1);align-items:center;gap:1rem;font-size:.9rem;display:flex}.logout-form{margin:0;padding:0}.logout-button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-weight:500;transition:all .2s}.logout-button:hover{background:var(--surface0);color:var(--red);border-color:var(--red)}
