*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#edf4f1;color:#1c2b25}button,input,textarea,select{font:inherit}.login-card{max-width:480px;margin:8vh auto;padding:34px;background:#fff;border-radius:26px;box-shadow:0 16px 50px #1734271f}.brand{font-size:12px;font-weight:850;letter-spacing:.16em;color:#507264}h1{font-size:36px;line-height:1.05;margin:16px 0}h1 span{color:#426956}label{display:block;font-weight:700;margin:14px 0}input,textarea,select{width:100%;padding:12px;border:1px solid #cddbd4;border-radius:12px;background:#fbfdfc}textarea{min-height:100px;resize:vertical}button{border:0;border-radius:12px;padding:11px 14px;font-weight:750;background:#315f4a;color:#fff;cursor:pointer}button.secondary{background:#e4eee9;color:#315f4a}button.danger{background:#8b3434}.top{position:sticky;top:0;z-index:30;background:#f8fbf9ee;backdrop-filter:blur(14px);border-bottom:1px solid #dce7e1;padding:9px 14px;display:flex;gap:8px;align-items:center}.top h2{font-size:15px;margin:0;flex:1}.sync{font-size:12px;padding:6px 9px;border-radius:999px;background:#e4eee9;color:#315f4a}.sync.off{background:#f3e7cc;color:#775b1f}.tabs{display:flex;gap:6px;overflow:auto;padding:10px 14px;background:#fff;border-bottom:1px solid #e2ebe6;position:sticky;top:53px;z-index:25}.tabs button{white-space:nowrap;background:#eef4f1;color:#315f4a}.tabs button.active{background:#315f4a;color:#fff}.app{max-width:1100px;margin:auto}.hero{padding:25px 18px 8px}.hero h1{font-size:30px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#dfece5;padding:7px 10px;border-radius:999px;font-size:13px}.pane{display:none}.pane.active{display:block}.navgrid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;padding:12px 18px}.navgrid button{background:#e6eee9;color:#315f4a;padding:10px 0}.navgrid button.answered{background:#7fa791;color:#fff}.card,.qcard{background:#fff;margin:14px 18px 25px;padding:22px;border-radius:22px;box-shadow:0 8px 30px #284b3d12}.qtitle{font-size:20px;line-height:1.4;margin:0 0 16px}.qimg{display:block;max-width:100%;max-height:520px;margin:12px auto 18px;border-radius:14px;border:1px solid #dce5e0}.opt{display:flex;gap:10px;padding:12px;margin:8px 0;border:1px solid #dce5e0;border-radius:14px;align-items:flex-start}.opt input{width:auto;margin-top:4px}.tools,.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.comment{display:none;background:#f0f6f3;border-left:4px solid #638d78;padding:14px;border-radius:10px;margin:12px 0;white-space:pre-wrap}.comment.open{display:block}.canvas-wrap{position:relative;border:1px dashed #a8bbb1;border-radius:14px;margin-top:12px;min-height:220px;background:#fcfdfc;overflow:hidden}.canvas-wrap .hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#81958b;pointer-events:none}.canvas-wrap canvas{width:100%;height:220px;touch-action:none;position:relative;z-index:2}.penbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.penbar input[type=color]{width:42px;height:36px;padding:2px}.score{font-size:44px;font-weight:850}.review-section{border-left:4px solid #769885;padding-left:15px;margin:22px 0}.review-section li{margin:8px 0;line-height:1.45}.flashgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.flashcard{perspective:1000px;min-height:180px;cursor:pointer}.flash-inner{position:relative;min-height:180px;transition:transform .45s;transform-style:preserve-3d}.flashcard.flip .flash-inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;border:1px solid #d8e5de;border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:center;background:#fff}.back{transform:rotateY(180deg);background:#eaf3ee}.source{font-size:11px;color:#698076;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-list{max-height:650px;overflow:auto;border:1px solid #dfe8e3;border-radius:14px;padding:8px}.editor-item{padding:10px;border-bottom:1px solid #e7efeb;cursor:pointer}.editor-item:hover{background:#f4f8f6}.mini{font-size:12px;color:#6c8077}.backup-box{border:1px solid #dce7e1;border-radius:16px;padding:16px;margin:12px 0;background:#fbfdfc}.footer{padding:25px;text-align:center;color:#62766c;font-size:13px}@media(max-width:760px){.tabs{top:51px}.navgrid{grid-template-columns:repeat(6,1fr)}.qcard,.card{margin-left:10px;margin-right:10px;padding:16px}.flashgrid,.editor-grid{grid-template-columns:1fr}.top h2{display:none}.hero{padding-left:12px}}
