:root{--bg: #FFF6E9;--bg-accent: #FFE8B8;--card: #FFFFFF;--ink: #3A2E2A;--ink-soft: #8A7A6E;--primary: #FF8A5B;--primary-dark: #F0703A;--secondary: #4EC5C1;--secondary-dark: #33A6A2;--correct: #4CAF50;--incorrect: #FF6B6B;--border: #F0DEC0;--shadow: 0 6px 18px rgba(180, 130, 60, .14);--radius: 22px;--radius-sm: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,SF Pro Rounded,Pretendard,system-ui,sans-serif;background:linear-gradient(160deg,var(--bg) 0%,var(--bg-accent) 100%);color:var(--ink);min-height:100vh;font-size:18px;line-height:1.5;-webkit-tap-highlight-color:transparent}#app{max-width:780px;margin:0 auto;padding:1.5rem 1.25rem 4rem}h1,h2,h3{margin:0;font-weight:800}button{font-family:inherit;font-size:1rem;font-weight:700;border:none;border-radius:999px;padding:.85rem 1.6rem;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}button:active{transform:scale(.96)}button:disabled{opacity:.5;cursor:default;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 0 var(--primary-dark)}.btn-primary:active{box-shadow:0 3px 0 var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 6px 0 var(--secondary-dark)}.btn-secondary:active{box-shadow:0 3px 0 var(--secondary-dark)}.btn-ghost{background:transparent;color:var(--ink-soft);box-shadow:none;padding:.6rem 1rem}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.spinner{width:44px;height:44px;border:6px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:.8rem 1.4rem;border-radius:999px;font-size:.92rem;box-shadow:0 8px 20px #0003;z-index:50}.header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.header .logo{font-size:1.7rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0;white-space:nowrap}.header .logo .emoji{font-size:1.9rem}.header .logo-img{height:58px;width:auto;display:block}.header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.quiz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.quiz-card{display:flex;flex-direction:column;gap:.7rem}.quiz-card .card-top{display:flex;justify-content:space-between;align-items:flex-start}.quiz-card .title{font-size:1.15rem;font-weight:800;line-height:1.3}.quiz-card .meta{font-size:.85rem;color:var(--ink-soft);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700}.pill-new{background:#ffe3d3;color:var(--primary-dark)}.pill-done{background:#dff5e3;color:#2e7d32}.pill-folder{background:#e3e7ff;color:#4a5fd9}.quiz-card .actions{margin-top:.3rem}.quiz-card .actions button{width:100%}.icon-btn-group{display:flex;gap:.1rem}.icon-btn{background:none;box-shadow:none;padding:.2rem .4rem;font-size:1.05rem;color:var(--ink-soft)}.folder-up-card{justify-content:center;align-items:center;cursor:pointer;background:#fffbf3;border:2px dashed var(--border);box-shadow:none;min-height:3.2rem}.folder-up-card .title{color:var(--ink-soft);font-size:1.05rem;margin:0}.folder-up-card:active{transform:scale(.98)}.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--ink-soft)}.empty-state .emoji{font-size:3rem;margin-bottom:.5rem}.breadcrumb{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.1rem}.breadcrumb a.crumb{color:var(--secondary-dark);font-weight:700;text-decoration:none}.folder-picker{max-height:260px;overflow-y:auto;border:2px solid var(--border);border-radius:var(--radius-sm);padding:.4rem}.folder-picker-item{padding:.55rem .7rem;border-radius:8px;cursor:pointer;font-size:.92rem}.folder-picker-item:hover{background:#fffbf3}.folder-picker-item.selected{background:#eafbfa;color:var(--secondary-dark);font-weight:700}.form-group{margin-bottom:1.5rem}.form-label{font-weight:800;font-size:1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.form-label .optional{color:var(--ink-soft);font-weight:600;font-size:.85rem}.image-drop{border:3px dashed var(--border);border-radius:var(--radius-sm);padding:2rem 1rem;text-align:center;cursor:pointer;background:#fffbf3}.image-drop .emoji{font-size:2.5rem}.hint{color:var(--ink-soft);font-size:.85rem;margin-top:.4rem}.image-preview{width:100%;max-height:320px;object-fit:contain;border-radius:var(--radius-sm);display:block}input.qk-input,textarea.qk-input{width:100%;font-family:inherit;font-size:1rem;padding:.9rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fffdf9;color:var(--ink)}textarea.qk-input{min-height:120px;resize:vertical}input.qk-input:focus,textarea.qk-input:focus{outline:none;border-color:var(--secondary)}.prompt-history-label{font-size:.8rem;font-weight:700;color:var(--ink-soft);margin:.7rem 0 .4rem}.prompt-history-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.prompt-history-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:#fffbf3;border:2px solid var(--border);cursor:pointer;font-size:.85rem}.prompt-history-item:hover{border-color:var(--secondary)}.prompt-history-text{color:var(--ink);flex:1}.prompt-history-delete{background:none;box-shadow:none;padding:.1rem .4rem;font-size:.9rem;color:var(--ink-soft)}.count-stepper{display:flex;align-items:center;gap:1rem}.count-stepper button{width:46px;height:46px;border-radius:50%;background:var(--secondary);color:#fff;font-size:1.3rem;box-shadow:0 4px 0 var(--secondary-dark);padding:0}.count-stepper .count-value{font-size:1.4rem;font-weight:800;min-width:3ch;text-align:center}.type-toggle{display:flex;gap:.6rem}.type-toggle button{flex:1;background:#fffbf3;color:var(--ink-soft);box-shadow:none;border:2px solid var(--border)}.type-toggle button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 0 var(--primary-dark)}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:2rem}.solve-topbar{display:flex;justify-content:flex-end;margin-bottom:.6rem}.progress-wrap{margin-bottom:1.5rem}.progress-label{display:flex;justify-content:space-between;font-size:.88rem;color:var(--ink-soft);font-weight:700;margin-bottom:.4rem}.progress-track{height:14px;background:#ffe8ce;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#FFB37B);border-radius:999px;transition:width .3s ease}.question-html{font-size:1.15rem;line-height:1.9}.question-html table{border-collapse:collapse;width:100%;margin:.8rem 0}.question-html td,.question-html th{border:2px solid var(--border);padding:.5rem .7rem}.question-html .blank{display:inline-block;min-width:4.5em;border-bottom:3px solid var(--primary);text-align:center;color:transparent;margin:0 .15em}.question-html ul,.question-html ol{padding-left:1.4em}.question-html .q-highlight{background:#eafbfa;border:2px solid var(--secondary);border-radius:var(--radius-sm);padding:.9rem 1.1rem;margin:.9rem 0}.question-html .q-highlight ul,.question-html .q-highlight ol{margin:0;padding-left:1.3em}.question-html .q-highlight li{margin-bottom:.3rem}.question-html .q-highlight li:last-child{margin-bottom:0}.question-html .q-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.2em;padding:.3em .6em;margin:.15em;border:2px dashed var(--border);border-radius:8px;background:#fffbf3;font-weight:700}.options-grid{display:grid;gap:.8rem;margin-top:1.6rem}.option-btn{text-align:left;background:#fffbf3;color:var(--ink);border:2px solid var(--border);box-shadow:none;padding:1rem 1.2rem;font-size:1.05rem;font-weight:700;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.7rem}.option-btn .option-marker{width:28px;height:28px;border-radius:50%;background:var(--border);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.option-btn.selected{border-color:var(--secondary);background:#eafbfa}.option-btn.selected .option-marker{background:var(--secondary);color:#fff}.option-marker-label{margin-left:auto;font-size:.78rem;color:var(--secondary-dark);font-weight:700}.short-answer-input{width:100%;font-size:1.15rem;padding:1rem 1.1rem;border:2px solid var(--border);border-radius:var(--radius-sm);margin-top:1.6rem;font-family:inherit;background:#fffdf9}.short-answer-input:focus{outline:none;border-color:var(--secondary)}.solve-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem}.score-hero{text-align:center;padding:1rem 0 1.8rem}.score-hero .big{font-size:3rem;font-weight:900;color:var(--primary)}.score-hero .sub{color:var(--ink-soft);font-weight:700}.results-table{width:100%;border-collapse:collapse;margin-top:1rem}.results-table tr{cursor:pointer}.results-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border);font-size:.95rem}.results-table tr:hover td{background:#fffbf3}.q-icon{font-size:1.1rem}.q-icon.correct{color:var(--correct)}.q-icon.incorrect{color:var(--incorrect)}.wrong-badge{font-size:.75rem;color:var(--incorrect);font-weight:700}.answer-reveal{color:var(--secondary-dark);font-weight:700}.results-actions{display:flex;flex-direction:column;gap:.8rem;margin-top:1.8rem}.results-actions button{width:100%}.review-banner{background:#eafbfa;color:var(--secondary-dark);padding:.7rem 1rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:700;margin-bottom:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.review-banner .btn-ghost{padding:.4rem .8rem;font-size:.82rem;color:var(--secondary-dark)}.revealed-answer{margin-top:1.2rem;padding:.9rem 1.1rem;background:#dff5e3;color:#2e7d32;border-radius:var(--radius-sm);font-weight:700}.account-btn{width:42px;height:42px;border-radius:50%;background:var(--secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;padding:0;box-shadow:0 4px 0 var(--secondary-dark);flex-shrink:0}.account-btn:active{box-shadow:0 2px 0 var(--secondary-dark)}.dropdown-wrap{position:relative}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:210px;background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.5rem;z-index:60;display:flex;flex-direction:column;gap:.15rem}.dropdown-label{padding:.5rem .8rem .3rem;font-size:.8rem;color:var(--ink-soft);font-weight:700}.dropdown-divider{height:1px;background:var(--border);margin:.3rem .2rem}.dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border-radius:10px;background:none;border:none;text-align:left;font-size:.92rem;font-weight:700;color:var(--ink);cursor:pointer;width:100%;box-shadow:none}.dropdown-item:active{background:#fffbf3;transform:scale(.98)}.dropdown-item.danger{color:var(--incorrect)}.kakao-btn{width:100%;background:#fee500;color:#191919;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;border-radius:999px;font-weight:700;font-size:.95rem;box-shadow:none}.google-btn{width:100%;background:#fff;color:#3c4043;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem;border-radius:999px;font-weight:700;font-size:.95rem;border:none;box-shadow:inset 0 0 0 2px var(--border)}.fab{position:fixed;right:1.5rem;bottom:1.5rem;width:60px;height:60px;border-radius:50%;background:var(--primary);color:#fff;font-size:2rem;line-height:1;box-shadow:0 6px 16px #f0703a73;display:flex;align-items:center;justify-content:center;padding:0;z-index:70;transition:transform .15s ease}.fab.open{transform:rotate(45deg)}.fab-menu{position:fixed;right:1.6rem;bottom:5.6rem;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;z-index:70}.fab-menu-item{display:flex;align-items:center;gap:.6rem;background:var(--card);color:var(--ink);padding:.75rem 1.2rem;border-radius:999px;box-shadow:var(--shadow);font-weight:700;font-size:.92rem;white-space:nowrap}.fab-menu-item:active{transform:scale(.96)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a2e2a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal{max-width:340px;width:100%;text-align:center}.modal.modal-wide{max-width:420px;text-align:left}.modal h3{margin-bottom:.8rem}.pin-input{width:100%;font-size:1.6rem;letter-spacing:.6em;text-align:center;padding:.8rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;margin:1rem 0}.pin-input:focus{outline:none;border-color:var(--secondary)}.modal-actions{display:flex;gap:.6rem}.modal-actions button{flex:1}.modal-error{color:var(--incorrect);font-size:.85rem;min-height:1.2em;margin-top:-.4rem;margin-bottom:.4rem}
