@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--color-primary:#0d9488;--color-on-primary:#fff;--color-primary-soft:#d9fbf3;--color-accent:#ea580c;--color-on-accent:#fff;--color-background:#f0fdfa;--color-surface:#fff;--color-editor:#fbfffe;--color-heading:#102a27;--color-foreground:#134e4a;--color-muted:#e8f1f4;--color-muted-foreground:#475569;--color-border:#b7eee2;--color-border-strong:#72d8ca;--color-ring:#0d9488;--color-mark:#ffedd5;--font-sans:"Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--color-foreground);background:var(--color-background);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,textarea,select{letter-spacing:0}button,select{font-family:inherit}button:disabled{pointer-events:none}::selection{color:#102a27;background:#99f6e4}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--color-background);min-height:100dvh;color:var(--color-foreground);padding-bottom:env(safe-area-inset-bottom)}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:var(--color-primary);color:var(--color-on-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.brand h1,.brand p,.editor-toolbar h2,.editor-toolbar p,.panel-heading h2{margin:0}.brand h1{color:var(--color-heading);font-size:20px;font-weight:700;line-height:1.2}.brand p,.editor-toolbar p{color:var(--color-muted-foreground);font-size:13px;line-height:1.4}.status-row{background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-heading);white-space:nowrap;border-radius:8px;flex:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.spin{animation:.9s linear infinite spin}.workspace{padding:16px clamp(16px, 3vw, 32px) max(32px, env(safe-area-inset-bottom));grid-template-columns:minmax(190px,240px) minmax(0,1fr) minmax(260px,340px);gap:16px;display:grid}.practice-panel,.editor-panel,.issues-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:0}.practice-panel,.issues-panel{flex-direction:column;align-self:start;gap:16px;padding:16px;display:flex}.editor-panel{flex-direction:column;min-height:calc(100svh - 120px);display:flex}.panel-heading,.editor-toolbar{align-items:center;gap:10px;display:flex}.panel-heading h2,.editor-toolbar h2{color:var(--color-heading);font-size:16px;font-weight:800;line-height:1.25}.prompt-list{gap:8px;display:grid}.prompt-button,.issue-summary{background:var(--color-muted);color:var(--color-heading);cursor:pointer;font:inherit;text-align:left;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s;display:flex}.prompt-button:hover,.issue-summary:hover{background:var(--color-primary-soft);border-color:var(--color-border-strong)}.field-label{color:var(--color-muted-foreground);text-transform:uppercase;font-size:12px;font-weight:800;line-height:1;display:block}select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-heading);font:inherit;border-radius:8px;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:700}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats-grid div{background:var(--color-muted);border-radius:8px;padding:10px}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{color:var(--color-heading);font-size:20px;line-height:1.1}.stats-grid span{color:var(--color-muted-foreground);margin-top:4px;font-size:12px;font-weight:700}.editor-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:14px 16px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button,.primary-action,.ghost-action,.suggestion-row button{cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;min-height:44px;font-size:14px;font-weight:800;transition:background-color .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.icon-button{background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-heading);width:44px}.primary-action{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-on-accent);gap:8px;padding:0 14px}.primary-action:disabled{cursor:not-allowed;opacity:.45}.icon-button:hover,.primary-action:not(:disabled):hover,.suggestion-row button:hover{border-color:var(--color-ring)}textarea{background:var(--color-editor);border:0;border-bottom:1px solid var(--color-border);color:var(--color-heading);font:500 17px/1.65 var(--font-sans);resize:vertical;outline:none;flex:320px;width:100%;min-height:320px;padding:18px}textarea:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.preview{color:var(--color-heading);white-space:pre-wrap;min-height:128px;padding:16px 18px 20px;font-size:15px;line-height:1.7}mark{background:var(--color-mark);border-bottom:2px solid var(--color-accent);color:inherit;border-radius:4px;padding:0 2px}.empty-preview,.empty-state{color:var(--color-muted-foreground)}.empty-state{background:var(--color-muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:128px;padding:16px;font-size:14px;display:flex}.issue-list{gap:10px;display:grid}.issue-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.issue-card.is-active{border-color:var(--color-ring)}.issue-summary{background:0 0;border-radius:0;min-height:58px}.issue-summary span{min-width:0}.issue-summary b,.issue-summary small{display:block}.issue-summary b{color:var(--color-heading);font-size:14px;line-height:1.3}.issue-summary small{color:var(--color-muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.4;overflow:hidden}.issue-detail{border-top:1px solid var(--color-border);gap:10px;padding:12px;display:grid}.issue-detail p{color:var(--color-foreground);margin:0;font-size:14px;line-height:1.5}.issue-detail small{color:var(--color-muted-foreground);font-size:13px;font-weight:700}.suggestion-row{flex-wrap:wrap;gap:8px;display:flex}.suggestion-row button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-on-primary);min-width:44px;padding:0 12px}.ghost-action{border:1px solid var(--color-border-strong);color:var(--color-heading);background:0 0;justify-self:start;padding:0 12px}.ghost-action:hover{background:var(--color-muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.workspace{grid-template-columns:minmax(190px,240px) minmax(0,1fr)}.issues-panel{grid-column:1/-1}}@media (width<=760px){.topbar{flex-direction:column;align-items:stretch}.status-row{justify-content:center;width:100%}.workspace{grid-template-columns:1fr}.editor-panel{min-height:auto}.editor-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:stretch}.toolbar-actions .primary-action{flex:auto}textarea{min-height:280px}}@media (width<=560px){.app-shell{overscroll-behavior-y:contain}.topbar{min-height:60px;padding:8px max(10px, env(safe-area-inset-left)) 8px max(10px, env(safe-area-inset-right));flex-direction:row;align-items:center;gap:10px}.brand{gap:10px}.brand-mark{width:40px;height:40px}.brand h1{font-size:18px}.brand p{display:none}.status-row{width:auto;min-height:40px;padding:0 10px;font-size:13px}.workspace{padding:10px max(10px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));gap:10px}.editor-panel{order:1}.issues-panel{order:2}.practice-panel{order:3}.practice-panel,.issues-panel{gap:12px;padding:12px}.prompt-list{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-button{min-height:48px;padding:0 10px}.prompt-button span{overflow-wrap:anywhere}.stats-grid div{padding:8px}.stats-grid strong{font-size:18px}.stats-grid span{font-size:11px}.editor-toolbar{gap:12px;padding:12px}.toolbar-actions{grid-template-columns:48px 48px minmax(0,1fr);width:100%;display:grid}.icon-button,.primary-action,.ghost-action,.suggestion-row button,select{min-height:48px}.icon-button{width:48px}.primary-action{min-width:0;padding:0 10px}textarea{resize:none;flex-basis:auto;min-height:clamp(300px,52svh,460px);padding:14px;font-size:16px;line-height:1.6}.preview{min-height:96px;max-height:160px;padding:12px 14px 14px;font-size:14px;line-height:1.65;overflow:auto}.issue-summary{min-height:64px;padding:0 12px}.issue-summary small{white-space:normal}.suggestion-row{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));display:grid}.suggestion-row button,.ghost-action{width:100%}}
