@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;800;900&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Nunito,sans-serif;min-height:100vh;background:var(--bg);color:var(--text);transition:background .3s,color .3s;overflow-x:hidden}:root{--bg:#f0fdf4;--bg2:#fff;--bg3:#dcfce7;--bg4:#bbf7d0;--border:rgba(16,185,129,.2);--border2:rgba(16,185,129,.38);--text:#064e3b;--text2:#065f46;--text3:#64748b;--accent:#059669;--accent2:#10b981;--accent3:#34d399;--accentbg:rgba(5,150,105,.1);--src-text:#1a5e4a;--editor-ph:#90c0ae;--ql-icon:#40a07a;--ql-border:#ccffe8;--card:#fff;--cardborder:#d8ffed}@keyframes logoBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes celebPop{0%{transform:scale(.3) translateY(40px);opacity:0}to{transform:scale(1);opacity:1}}@keyframes celebBounce{0%{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(110vh) rotate(2turn);opacity:0}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes starPop{0%{transform:scale(0) rotate(-40deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.login-logo{width:220px;height:220px;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 6px 28px rgba(16,185,129,.6));animation:logoBob 3s ease-in-out infinite}.app-input{width:100%;background:var(--bg3);border:1px solid var(--border2);color:var(--text);border-radius:10px;padding:.65rem .9rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s}.app-input::placeholder{color:var(--text3)}.app-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentbg)}.btn-login{width:100%;padding:.82rem;border-radius:10px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:900;transition:transform .15s,box-shadow .15s;margin-top:.5rem}.btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(16,185,129,.45)}.btn-login:active{transform:translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}.nav-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text2);border-radius:8px;padding:.35rem .75rem;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:800;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.3rem;text-decoration:none;white-space:nowrap}.nav-btn:hover{background:var(--bg4);color:var(--text)}.nav-btn-accent{background:var(--accentbg);border-color:var(--border2);color:var(--accent2)}.nav-btn-accent:hover{background:rgba(16,185,129,.25);color:var(--accent2)}.ex-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:10px;cursor:pointer;border-left:2px solid transparent;transition:all .15s}.ex-item:hover{background:var(--bg3);color:var(--text)}.ex-item.active{background:var(--accentbg);border-left-color:var(--accent)}.saved-item{display:flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border-radius:8px;cursor:pointer;font-size:.78rem;font-weight:700;color:var(--text2);transition:all .15s}.saved-item:hover{background:var(--bg3);color:var(--text)}.tip-chip{background:var(--bg3);border:1px solid var(--border2);padding:.3rem .85rem;font-size:.78rem}.fmt-tag,.tip-chip{border-radius:99px;font-weight:800;color:var(--accent2)}.fmt-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;background:var(--accentbg);padding:.15rem .55rem;border:1px solid var(--border2);margin-bottom:.1rem}.src-line{padding-left:.6rem;border-left:3px solid var(--accent)}.source-text{font-size:.88rem;line-height:1.8;color:var(--src-text);-moz-user-select:none;user-select:none;-webkit-user-select:none}.source-text strong{color:var(--text)}.source-text em{color:var(--accent2)}.nav-star{display:inline-block;animation:starPop .4s cubic-bezier(.34,1.56,.64,1) both}.confetti-piece{position:absolute;border-radius:3px;animation:confettiFall linear forwards}.btn-clear{background:var(--bg3);border:1px solid var(--border2);color:var(--text2);border-radius:8px;padding:.38rem .75rem;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:800;cursor:pointer;transition:all .15s}.btn-clear:hover{background:var(--bg4);color:var(--text)}.btn-save{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.38rem .95rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:900;cursor:pointer;transition:all .15s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(16,185,129,.45)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500}.modal-box{background:var(--bg2);border:1px solid var(--border2);border-top:3px solid var(--accent);border-radius:16px;padding:1.5rem;max-width:360px;width:92%}.modal-box h3{font-size:1rem;font-weight:900;color:var(--text);margin-bottom:.4rem}.modal-box p{font-size:.85rem;font-weight:600;color:var(--text2);line-height:1.6;margin-bottom:1.1rem}#no-copy-hint{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--border2);color:var(--text2);font-size:.8rem;font-weight:700;padding:.45rem 1.2rem;border-radius:99px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:9998;white-space:nowrap}#no-copy-hint.show{opacity:1}#resize-handle{width:4px;background:var(--border);cursor:col-resize;flex-shrink:0;transition:background .2s}#resize-handle:hover{background:var(--accent)}#editor-pane,#editor-wrapper,#editor-wrapper>div{display:flex;flex-direction:column;flex:1 1;overflow:hidden;min-height:0}.ql-toolbar.ql-snow{flex-shrink:0;border:none!important;border-bottom:1px solid var(--ql-border)!important;background:var(--bg2);padding:.45rem .75rem}.ql-container.ql-snow{flex:1 1;border:none!important;overflow-y:auto;background:var(--bg);font-family:Nunito,sans-serif;min-height:0}.ql-editor{min-height:100%;height:auto;padding:2rem 2rem 2rem 1.5rem;max-width:100%;margin:0;font-size:1rem;line-height:1.85;color:var(--text);box-sizing:border-box}.ql-editor.ql-blank:before{font-style:italic;color:var(--editor-ph)}.ql-snow .ql-stroke{stroke:var(--ql-icon)}.ql-snow .ql-fill{fill:var(--ql-icon)}.ql-snow .ql-picker{color:var(--ql-icon)}.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke{stroke:var(--accent2)}.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill{fill:var(--accent2)}.ql-snow .ql-picker-options{background:var(--bg2)!important;border:1px solid var(--border2)!important;border-radius:8px!important}.ql-snow .ql-picker-item{color:var(--text2)!important}.ql-snow .ql-picker-item:hover{color:var(--accent2)!important;background:var(--bg3)!important}.ql-snow .ql-picker-label{color:var(--ql-icon)!important}.ql-snow .ql-picker-label:hover{color:var(--accent2)!important}.ql-editor{text-align:left}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-align-justify{text-align:justify}