*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--la-ink);background:#000;overflow:hidden;-webkit-font-smoothing:antialiased}#app{height:100%;display:flex;flex-direction:column;min-height:0}[hidden]{display:none!important}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,p{margin:0}.grow{flex:1 1 0;min-width:0}.dim{color:var(--la-muted)}code{font:12.5px var(--la-mono);background:#141414;border:1px solid var(--la-line);border-radius:5px;padding:1px 5px}.brand{font:700 64px/.8 var(--la-title);letter-spacing:.01em}.brand.sm{font-size:30px;line-height:.9;padding-top:3px;white-space:nowrap}.ico{display:inline-flex;width:16px;height:16px;flex:none}.ico svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border:1px solid #fff;border-radius:9px;background:#fff;color:#000;font:800 12px/1 var(--la-dot);letter-spacing:.02em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform 90ms,background-color .14s,border-color .14s}.btn:hover{background:#ddd;border-color:#ddd}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost,.ghost{background:transparent;color:#fff;border:1px solid var(--la-line-2)}.btn.ghost:hover,.ghost:hover{background:#141414;border-color:#fff6}button.ghost{height:34px;padding:0 13px;border-radius:9px;font:800 12px/1 var(--la-dot);cursor:pointer}.btn.sm{height:28px;padding:0 10px;font-size:11px;border-radius:7px}.btn.danger{background:var(--la-bad);border-color:var(--la-bad)}.link{background:none;border:0;padding:0;color:var(--la-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13px}.link:hover{color:#fff}.icon-btn{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:8px;background:transparent;color:var(--la-muted);cursor:pointer;text-decoration:none}.icon-btn:hover,.icon-btn.on{background:#141414;color:#fff}.sel{height:28px;padding:0 24px 0 9px;border:1px solid var(--la-line);border-radius:7px;background:#000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;font:800 11px var(--la-dot);cursor:pointer}.sel:hover{border-color:var(--la-line-2)}input:not([type]),input[type=email],input[type=password],textarea{background:#000;border:1px solid var(--la-line-2);border-radius:9px;padding:8px 11px;outline:none;min-width:0}input:focus,textarea:focus{border-color:#fff}input::placeholder,textarea::placeholder{color:var(--la-faint)}.chip{font:700 11px/1 var(--la-dot);padding:4px 7px;border-radius:6px;background:#141414;color:var(--la-muted);white-space:nowrap}.chip.easy{color:var(--la-found)}.chip.medium{color:var(--la-compare)}.chip.hard{color:var(--la-bad)}.top{display:flex;align-items:center;gap:8px;height:46px;flex:none;padding:0 10px;border-bottom:1px solid var(--la-line)}.top .title{overflow:hidden;text-overflow:ellipsis;max-width:32vw;font-weight:700}.status{font:700 10.5px/1 var(--la-dot);color:var(--la-faint);min-width:56px;text-align:right}.status.busy{color:var(--la-muted)}.status.bad{color:var(--la-bad)}.tabs{display:flex;align-items:stretch;gap:2px;height:100%;margin-left:8px;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:0;background:transparent;color:var(--la-muted);font:800 11.5px/1 var(--la-dot);white-space:nowrap;cursor:pointer}.tab:hover,.tab.on{color:#fff}.tab.on:after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;background:#fff;border-radius:2px}.tab.new:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--la-accent)}.tab-x{display:none;width:16px;height:16px;margin-right:-5px;border-radius:4px;color:var(--la-muted)}.tab-x .ico,.tab-x svg{width:12px;height:12px;margin:2px}.tab:hover .tab-x,.tab.on .tab-x{display:inline-block}.tab-x:hover{background:#262626;color:#fff}.badge{position:absolute;top:2px;right:1px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--la-accent);color:#000;font:700 10px/15px var(--la-mono);text-align:center}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;overflow:auto}.center .dim{max-width:420px}.signin{display:flex;flex-direction:column;gap:10px;width:min(320px,100%);margin-top:6px}.signin .btn{height:38px}.form-msg{min-height:20px;font-size:13px;color:var(--la-compare)}.page{flex:1;overflow:auto;width:100%;max-width:860px;margin:0 auto;padding:34px 18px 80px}.page.narrow{max-width:720px}.page section{margin-bottom:40px}.page h2{font:700 13px/1 var(--la-dot);color:var(--la-muted);margin-bottom:12px}.page section>p{margin-bottom:14px;max-width:64ch}.add{display:flex;gap:8px}.add input{flex:1;height:42px;border-radius:12px;padding:0 14px}.add .btn{height:42px;border-radius:12px;padding:0 16px}.empty{margin-top:44px;color:var(--la-muted);display:grid;gap:8px}.problems{list-style:none;margin:26px 0 0;padding:0}.problems li{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--la-line)}.problems li:first-child{border-top:1px solid var(--la-line)}.problem{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:13px 6px;text-decoration:none;border-radius:8px;transition:background-color .14s}.problem:hover{background:#ffffff0d}.state{width:8px;height:8px;flex:none;border-radius:50%;border:1.5px solid var(--la-faint)}.state.done{background:var(--la-found);border-color:var(--la-found)}.p-title{font:500 15px var(--la-font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-meta{margin-left:auto;padding-left:12px;color:var(--la-faint);font-size:12px;white-space:nowrap}.row-del{opacity:0}.problems li:hover .row-del,.row-del:focus-visible{opacity:1}.row-del:hover{color:var(--la-bad)}.keys{list-style:none;margin:16px 0 0;padding:0}.keys li{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid var(--la-line);font-size:13px}.keys li .dim{margin-right:auto}.fresh{margin:18px 0 6px;padding:16px;border:1px solid var(--la-accent);border-radius:16px;display:grid;gap:14px}.snip{min-width:0}.snip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font:700 12px var(--la-dot);color:var(--la-muted)}.snip pre{margin:0;padding:11px 13px;background:#0b0b0b;border:1px solid var(--la-line);border-radius:11px;font:12.5px/1.6 var(--la-mono);white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.snip p{margin-top:6px;font-size:12.5px}.fields{display:flex;flex-wrap:wrap;gap:14px 18px}.fields label{display:grid;gap:6px;font:700 11px var(--la-dot);color:var(--la-muted)}.fields input{height:28px;padding:0 9px;border-radius:7px;font:13px var(--la-font);color:#fff}.work{flex:1;min-height:0;display:flex}.pane{min-width:0;min-height:0;display:flex;flex-direction:column;flex:1 1 0}.work.split .main-pane{flex:0 0 calc((100% - var(--notes-w, 0px)) * var(--ratio, .56))}.pane-body{position:relative;flex:1;min-height:0}.work,.main-pane{position:relative}.main-pane>.pane-body{position:absolute;inset:0}.main-pane.off{position:absolute;inset:0;z-index:-1}.off{visibility:hidden!important;pointer-events:none!important}.pane-head{display:flex;align-items:center;gap:8px;height:40px;flex:none;padding:0 8px 0 14px;border-bottom:1px solid var(--la-line)}.label{font:800 11.5px var(--la-dot);color:var(--la-muted)}.frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;color-scheme:dark}.code-body{overflow:hidden}.code-body .cm-editor{height:100%}.divider{flex:none;width:9px;margin:0 -4px;z-index:3;cursor:col-resize;position:relative}.divider:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:var(--la-line);transition:background-color .12s,box-shadow .12s}.divider:hover:after,.divider:focus-visible:after,.resizing .divider:after{background:#fff;box-shadow:0 0 0 1px #fff}.divider:focus-visible{outline:none}.resizing{cursor:col-resize;user-select:none}.resizing iframe,.resizing .cm-editor{pointer-events:none}.notes{flex:none;width:320px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--la-line);background:#000}.work:has(.notes:not([hidden])){--notes-w: 320px}.note-list{flex:1;min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.note{max-width:92%;display:grid;gap:4px}.note.learner{align-self:flex-end;justify-items:end}.note-body{padding:8px 11px;border:1px solid var(--la-line-2);border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.55}.note.learner .note-body{background:#fff;color:#000;border-color:#fff;border-bottom-right-radius:4px}.note.tutor .note-body{border-bottom-left-radius:4px}.note time{font:700 10px var(--la-dot);color:var(--la-faint)}.note-empty{margin:auto 0;color:var(--la-muted);font-size:13px;display:grid;gap:10px}.quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.chip-btn{height:24px;padding:0 9px;border:1px solid var(--la-line);border-radius:7px;background:transparent;color:var(--la-muted);font:12px var(--la-mono);cursor:pointer}.chip-btn:hover{border-color:#fff;color:#fff}.note-form{display:flex;align-items:flex-end;gap:6px;padding:0 12px 12px}.note-form textarea{flex:1;resize:none;min-height:36px;max-height:160px;font-size:13.5px;line-height:1.45}.toast{position:fixed;left:50%;bottom:22px;z-index:100;transform:translate(-50%,12px);padding:8px 14px;border-radius:9px;background:#fff;color:#000;font-size:13px;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;max-width:calc(100vw - 32px)}.toast.on{opacity:1;transform:translate(-50%)}.modal-bg{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:#000000b3;backdrop-filter:blur(2px)}.modal{width:min(420px,100%);padding:20px 22px;background:#000;border:1px solid var(--la-line-2);border-radius:18px;display:grid;gap:10px}.modal h2{font:700 30px/.9 var(--la-title)}.modal p{color:#ccc}.row{display:flex;gap:8px}.row.end{justify-content:flex-end;margin-top:8px}@media(max-width:899px){.top{gap:4px;padding:0 6px}.top .title{max-width:30vw;font-size:24px}.top .chip,.status{display:none}.tabs{margin-left:2px}.tab{padding:0 8px}.notes{position:fixed;inset:46px 0 0;width:auto;z-index:20;border-left:0}.work:has(.notes:not([hidden])){--notes-w: 0px}.p-meta{display:none}.row-del{opacity:1}.brand{font-size:52px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
