*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#f4ecdd;background-image:radial-gradient(#e7dcc5 1.4px,transparent 1.4px);background-size:26px 26px;color:#2e2a39;font-family:Nunito,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:#d9c6ff}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:#d8cbb3;border-radius:8px;border:3px solid #f4ecdd}.hide-sb{scrollbar-width:none}.hide-sb::-webkit-scrollbar{display:none}@keyframes pmsFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pmsPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes purpleBob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-5%) rotate(1.5deg)}}@keyframes purpleSparkle{0%,to{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.fade-in{animation:pmsFade .45s ease both}.baloo{font-family:"Baloo 2",cursive}button{font-family:inherit}.card{background:#fff;border:2px solid #eadfc9;border-radius:22px;padding:22px 24px;box-shadow:0 8px 24px -18px #0000004d;margin-top:22px}.header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#faf6efeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid #eadfc9}.nav-scroll{display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0;padding:2px}.nav-btn{flex:0 0 auto;font-family:"Baloo 2",cursive;font-weight:700;font-size:14px;padding:8px 14px;border-radius:12px;cursor:pointer;white-space:nowrap}.main{max-width:940px;margin:0 auto;padding:24px 18px 90px}textarea.answer{width:100%;resize:vertical;font-family:Nunito,sans-serif;font-size:15px;font-weight:600;color:#2e2a39;background:repeating-linear-gradient(#fff,#fff 27px,#f0ebe0 28px);border:2px solid #e7dcc5;border-radius:12px;padding:8px 12px;line-height:28px}input.answer{font-family:Nunito,sans-serif;font-size:15px;font-weight:700;color:#2e2a39;background:#fff;border:2px solid #e7dcc5;border-radius:10px;padding:8px 12px;min-width:0;flex:1}input.answer:focus,textarea.answer:focus{outline:2px solid #b895f5;border-color:#b895f5}.btn-primary{border:none;background:linear-gradient(135deg,#8a4ff0,#6f34d6);color:#fff;font-family:"Baloo 2",cursive;font-weight:700;font-size:14px;padding:8px 16px;border-radius:11px;cursor:pointer}.btn-ghost{border:2px solid #e7dcc5;background:#fbf9f3;color:#6a6152;font-family:"Baloo 2",cursive;font-weight:700;font-size:13px;padding:7px 12px;border-radius:11px;cursor:pointer}.jn-btn{border:2px solid #d9cdb6;background:#fff;color:#5a5266;font-family:"Baloo 2",cursive;font-weight:700;font-size:13.5px;padding:6px 14px;border-radius:10px;cursor:pointer}.jn-btn.active{background:#6f34d6;border-color:#6f34d6;color:#fff}.print-toolbar{position:sticky;top:0;z-index:50;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:#fff;border-bottom:2px solid #eadfc9}.print-doc{max-width:800px;margin:0 auto;padding:24px 18px 60px;background:#fff}.print-doc h1{font-family:"Baloo 2",cursive;font-size:26px;margin:0 0 4px}.print-doc h2{font-family:"Baloo 2",cursive;font-size:20px;margin:26px 0 6px;border-bottom:2px solid #ddd;padding-bottom:4px}.print-doc h3{font-family:"Baloo 2",cursive;font-size:16px;margin:18px 0 6px}.print-doc p,.print-doc li{font-size:14px;line-height:1.55}.print-box{border:1.5px solid #bbb;border-radius:10px;padding:10px 14px;margin:10px 0;page-break-inside:avoid}.print-box.sol{border-color:#7bcf9c;background:#f2fbf5}.print-ex{border:1.5px solid #ccc;border-left:5px solid #888;border-radius:10px;padding:10px 14px;margin:12px 0;page-break-inside:avoid}.print-lines{border-bottom:1px solid #ccc;height:26px}.print-table{border-collapse:collapse;width:100%;font-size:13px;margin:8px 0}.print-table th,.print-table td{border:1px solid #999;padding:5px 8px;text-align:left}.print-tree{font-family:monospace;font-size:13px;white-space:pre;background:#f7f7f2;border-radius:8px;padding:10px;overflow-x:auto}@media print{body{background:#fff!important;background-image:none!important}.no-print{display:none!important}.print-doc{max-width:none;padding:0}.page-break{page-break-before:always}}@media (max-width: 560px){.main{padding:16px 10px 80px}.card{padding:16px 14px;border-radius:18px}}@media (max-width: 640px){.header{flex-wrap:wrap;gap:8px;padding:8px 10px}.nav-scroll{order:3;flex:1 1 100%}}
