@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";@import"https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@300;400;700&family=JetBrains+Mono:wght@400;700&display=swap";:root{--bg-color: #0c0c0e;--surface-color: #1c1c1e;--surface-hover: #2c2c2e;--primary-color: #e2e8f0;--accent-color: #fbbf24;--accent-subtle: rgba(251, 191, 36, .1);--text-primary: #f5f5f7;--text-secondary: #a1a1aa;--text-tertiary: #52525b;--border-color: rgba(255, 255, 255, .08);--success-color: #34d399;--warning-color: #fbbf24;--danger-color: #f87171}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app-feedback-backdrop{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px;background:#0c0c0e9e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.app-feedback-card{width:min(460px,100%);border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,#1f1f23fa,#121215fa),var(--surface-color);color:var(--text-primary);box-shadow:0 26px 80px #0000006b;padding:1.1rem}.app-feedback-card.tone-danger{border-color:#f8717152}.app-feedback-card-header{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.app-feedback-card-header strong{color:var(--text-primary);font-size:1rem;letter-spacing:-.01em}.app-feedback-card-header p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.6;white-space:pre-line}.app-feedback-field{display:flex;flex-direction:column;gap:.5rem}.app-feedback-field span{color:var(--text-secondary);font-size:.78rem;font-weight:800}.app-feedback-field input{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff0f;color:var(--text-primary);font:inherit;padding:.72rem .8rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.app-feedback-field input:focus{border-color:#fbbf24a6;background:#ffffff14;box-shadow:0 0 0 4px #fbbf2421}.app-feedback-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.1rem}.app-feedback-actions button{border:1px solid rgba(255,255,255,.14);border-radius:999px;cursor:pointer;font-size:.84rem;font-weight:800;padding:.58rem .92rem}.app-feedback-actions .is-secondary{background:#ffffff12;color:var(--text-secondary)}.app-feedback-actions .is-primary{border-color:#fbbf24b3;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#111827}.app-feedback-actions .is-danger{border-color:#f87171c7;background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}.app-main{flex:1;max-width:none;width:100%;margin:0 0 1rem;padding:0 .75rem 1rem;display:flex;gap:1rem}.metadata-section,.thoughtlog-section,.writing-section{background:var(--surface-color);border-radius:12px;padding:.75rem;border:1px solid var(--border-color);box-shadow:none;display:flex;flex-direction:column;min-height:calc(100vh - 80px);height:auto;flex:1 1 auto;width:100%;min-width:0}.app-header{background:linear-gradient(180deg,#0c0c0eeb,#0c0c0ec7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.35rem 2rem;min-height:50px;display:flex;justify-content:flex-start;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-color);box-shadow:0 10px 30px #0000002e;position:sticky;top:0;z-index:100}.app-header-brand{display:flex;align-items:center;margin-right:auto;min-width:0}.app-header h1{font-size:.95rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em;margin-right:1rem}.app-subtitle{font-size:.8rem;color:var(--text-tertiary);margin-left:0;padding-left:1rem;border-left:1px solid var(--border-color)}.app-header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;min-width:0;max-width:100%}.app-file-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;min-width:0;max-width:min(100%,860px)}.app-file-action{min-width:0;white-space:nowrap}.app-header .app-file-action{min-height:36px;border-radius:999px!important;border:1px solid rgba(148,163,184,.18)!important;background:#f8fafc14!important;color:#e5e7eb!important;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 1px #ffffff12;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.app-header .app-file-action:hover:not(:disabled){transform:translateY(-1px);border-color:#cbd5e152!important;background:#f8fafc21!important;box-shadow:0 8px 24px #00000029}.app-header .app-file-action-certify{border-color:#7dd3fc6b!important;background:linear-gradient(135deg,#4f46e5,#0ea5e9)!important;color:#fff!important;box-shadow:0 10px 28px #0ea5e938!important}.app-file-action svg{flex:0 0 auto}.app-action-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.app-mobile-more-actions{display:none}.app-mobile-more-summary{list-style:none}.app-mobile-more-summary::-webkit-details-marker{display:none}.writing-header{display:flex;justify-content:space-between;align-items:center}.writing-session-strip{gap:.75rem;margin:0 0 .72rem;padding:.62rem .78rem;border:1px solid rgba(148,163,184,.11);border-radius:16px;background:linear-gradient(135deg,#f8fafc12,#f8fafc06),#0c0c0ea8;box-shadow:inset 0 1px #ffffff0a}.session-info,.session-actions,.session-timer{display:flex;align-items:center;min-width:0}.session-info{gap:.48rem}.round-badge{flex:0 0 auto;min-width:2.15rem;padding:.22rem .45rem;border-radius:999px;background:#0ea5e91f;color:#bae6fd;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-align:center}.session-state-dot{width:.5rem;height:.5rem;flex:0 0 auto;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px #94a3b81a}.writing-session-strip.is-active .session-state-dot{background:#22c55e;box-shadow:0 0 0 4px #22c55e21,0 0 18px #22c55e57}.writing-session-strip.is-cooldown .session-state-dot{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b21}.session-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.session-copy strong{color:#f8fafc;font-size:.86rem;letter-spacing:-.01em}.session-copy span{color:#94a3b8;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-actions{flex:0 0 auto;gap:.42rem}.session-timer{gap:.35rem;min-height:32px;padding:.28rem .5rem;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#f8fafc0e;color:#cbd5e1}.session-timer.active{border-color:#22c55e42;background:#22c55e14;color:#bbf7d0}.session-timer.cooldown{border-color:#f59e0b47;background:#f59e0b14;color:#fde68a}.timer-icon{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;font-size:.68rem;font-weight:800}.timer-text{display:flex;align-items:baseline;gap:.24rem}.timer-label,.timer-value{white-space:nowrap;font-size:.73rem}.timer-value{font-weight:800}.timer-message{max-width:14rem;color:#cbd5e1;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-complete-button{min-height:32px;padding:.35rem .72rem;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#f8fafc0e;color:#94a3b8;font-size:.76rem;font-weight:800;cursor:not-allowed}.session-complete-button.is-enabled{border-color:#7dd3fc6b;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;cursor:pointer;box-shadow:0 10px 24px #0ea5e933}.session-complete-button.is-enabled:hover{transform:translateY(-1px)}.writing-grid{display:flex;flex-direction:column;gap:.85rem;flex:1;min-height:clamp(780px,calc(100vh - 180px),1480px);align-items:stretch}.writing-grid.has-admin-sidebar{flex-direction:row}.editor-column{flex:1 1 auto;display:flex;flex-direction:column;min-height:inherit;position:relative;background:transparent;min-width:0}.editor-column>.unified-toolbar,.editor-column>.text-editor.tiptap-container{width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto}.compact-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;padding:.78rem .9rem;align-items:center;background:radial-gradient(circle at top left,rgba(100,108,255,.18),transparent 32%),linear-gradient(180deg,#18181bf5,#0f0f12f5);border:1px solid rgba(148,163,184,.12);border-radius:18px;margin-bottom:.75rem;box-shadow:0 18px 44px #0000002e}.unified-title-input{min-width:0;width:100%;font-family:"Noto Serif KR",serif;letter-spacing:-.015em}.tiptap-container{flex:1;display:flex;flex-direction:column;min-height:inherit;position:relative;background:transparent}.cooldown-message{position:absolute;inset:0;background:#0f172af2;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px}.cooldown-message p{font-size:1.5rem;color:var(--primary-color);margin-bottom:2rem;font-weight:700;animation:pulse 2s infinite}.rest-note-area{width:100%;max-width:500px;background:var(--surface-color);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);box-shadow:0 4px 6px #0000004d}.note-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.95rem!important;font-weight:400!important;animation:none!important}.rest-note-input{width:100%;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);padding:.8rem;font-size:1rem;resize:none}.rest-note-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e533}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.editor-column>.text-editor.tiptap-container{min-height:clamp(780px,calc(100vh - 180px),1480px)}.log-column{flex:1 1 auto;min-width:0;max-width:none;height:100%;overflow-y:auto}.writing-grid.has-admin-sidebar .editor-column{flex:1 1 auto}.writing-grid.has-admin-sidebar .log-column{flex:0 0 280px;min-width:220px;max-width:280px}.previous-content-display{background:#0006;padding:1rem;border-radius:8px;margin-bottom:1.5rem;color:#94a3b8;font-size:.95rem;line-height:1.6;max-height:300px;overflow-y:auto;border-left:3px solid #475569}.previous-label{font-size:.8rem;font-weight:600;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.previous-content-display p{margin:.5rem 0}.toolbar-template-group{display:inline-flex;align-items:center;gap:.45rem;flex:0 1 auto;min-width:0}.document-template-select{min-width:180px;max-width:260px;padding:.48rem .62rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172ab8;color:#f8fafc;font-size:.84rem}.compact-format-select{flex:0 1 230px}.compact-template-apply{padding:.48rem .78rem;font-size:.82rem;white-space:nowrap;border-radius:12px!important;border-color:#7dd3fc47!important;background:linear-gradient(135deg,#0ea5e9f5,#4f46e5f5)!important;color:#fff!important;font-weight:800}.compact-template-hint{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.42rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.12);background:#0f172a6b;color:#a5b4fc;font-size:.78rem;font-weight:700}.autosave-restore-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding:.58rem .75rem;border:1px solid rgba(100,108,255,.28);border-radius:10px;background:#1e293bb8;color:#e4e4e7;font-size:.84rem}.autosave-restore-banner.is-collapsed{position:sticky;top:58px;z-index:15;width:fit-content;max-width:min(100%,520px);margin-left:auto;margin-bottom:.55rem;padding:.42rem .55rem;border-color:#fbbf2447;background:#0f172aeb;box-shadow:0 10px 24px #00000038}.autosave-restore-copy{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:.45rem}.autosave-restore-copy small{color:#a5b4fc;font-size:.76rem}.autosave-restore-actions{display:inline-flex;flex-shrink:0;gap:.45rem}.autosave-restore-actions button{padding:.28rem .62rem;font-size:.8rem}.pdf-export-status{max-width:360px;padding:.28rem .55rem;border:1px solid rgba(251,191,36,.32);border-radius:999px;background:#181208c7;color:#fde68a;font-size:.76rem;line-height:1.35;text-align:right}.llm-warning-inline-wrap{margin-bottom:.55rem}.editor-empty-state{position:absolute;top:2rem;left:2rem;right:2rem;color:#64748b;pointer-events:none;z-index:1;line-height:1.7}.tiptap-editor{width:100%;max-width:var(--editor-text-max-width, 100%);margin:0 auto}.tiptap-editor.essay,.tiptap-editor.assignment,.tiptap-editor.academic_report{font-family:"Noto Serif KR",Georgia,serif;line-height:1.8}.tiptap-editor.report,.tiptap-editor.email,.tiptap-editor.journal{font-family:Pretendard,Segoe UI,sans-serif}.tiptap-editor.report{line-height:1.7;letter-spacing:.01em}.tiptap-editor.novel{font-family:"Noto Serif KR",Georgia,serif;line-height:1.92;letter-spacing:.01em}.tiptap-editor.journal{line-height:1.78}.tiptap-editor.email{line-height:1.62}.editor-empty-state.novel{color:#94a3b8}.editor-empty-state.assignment,.editor-empty-state.academic_report,.editor-empty-state.report{color:#a5b4fc}.type-selection-section{max-width:800px;margin:2rem auto;text-align:center}.type-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.type-card{background:#ffffff0d;border:2px solid transparent;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.type-card:hover{background:#ffffff1a;transform:translateY(-2px)}.type-card.selected{border-color:#646cff;background:#646cff1a;box-shadow:0 0 15px #646cff4d}.type-icon{font-size:2.5rem;margin-bottom:1rem}.type-card h3{margin:.5rem 0;font-size:1.1rem}.type-card p{font-size:.9rem;color:#94a3b8}.tiptap-editor img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0;cursor:pointer;display:block}.tiptap-editor img.ProseMirror-selectednode{outline:2px solid var(--primary-color);outline-offset:2px}.tiptap-editor iframe[data-youtube-video]{width:100%;max-width:640px;height:360px;border-radius:8px;margin:1rem auto;display:block;border:none}.tiptap-editor iframe[data-youtube-video].ProseMirror-selectednode{outline:2px solid var(--primary-color);outline-offset:2px}@media(max-width:720px){.app-header{align-items:flex-start;flex-direction:column;gap:.55rem;padding:.55rem .8rem}.app-header-brand,.app-header-controls,.app-file-actions{width:100%}.app-header-brand{flex-wrap:wrap;gap:.25rem .65rem;margin-right:0}.app-subtitle{margin-left:0;padding-left:.65rem}.app-header-controls{align-items:stretch}.app-file-actions{justify-content:flex-start;gap:.35rem;max-width:100%}.app-file-action{flex:1 1 calc(25% - .35rem);justify-content:center;padding:.45rem .4rem!important;gap:4px!important;font-size:.78rem!important}.app-file-action svg{width:14px;height:14px}.app-file-action-optional{display:none!important}.app-mobile-more-actions{display:block;width:100%}.app-mobile-more-summary{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.55rem .75rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#f8fafc14;color:#e5e7eb;font-weight:700;cursor:pointer}.app-mobile-more-actions[open] .app-mobile-more-summary{border-color:#646cffa6;box-shadow:0 0 0 2px #646cff2e}.app-mobile-more-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.4rem}.app-mobile-more-action{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .55rem;border-radius:12px;border:1px solid rgba(148,163,184,.16);background:#f8fafc14;color:#e5e7eb;font-size:.78rem;white-space:nowrap}.app-mobile-more-action-wide{grid-column:1 / -1}.app-mobile-more-action-submit{display:none}.app-main{width:100%;margin:0}.writing-section{min-height:calc(100vh - 50px);padding:.65rem;border-right:none;border-left:none;border-radius:0}.compact-toolbar{gap:.55rem;padding:.6rem}.toolbar-template-group{width:100%;display:grid;grid-template-columns:minmax(0,1fr)}.document-template-select.compact-format-select{min-width:0;max-width:none;width:100%;flex:1 1 160px}.compact-template-apply{min-width:0;width:100%;padding-left:.7rem;padding-right:.7rem}.compact-template-hint{width:100%}.writing-session-strip{align-items:stretch;gap:.55rem;padding:.58rem .62rem}.session-copy span{white-space:normal}.session-actions{width:100%;justify-content:space-between}.session-timer{flex:1 1 auto}.timer-message{display:none}.autosave-restore-banner{align-items:flex-start;padding:.55rem .65rem}.autosave-restore-banner.is-collapsed{top:54px;width:100%}}@media(max-width:480px){.app-header{padding:.45rem;gap:.42rem}.app-header h1{margin-right:0}.app-file-actions{display:grid;grid-template-columns:38px 38px 132px 54px;justify-content:start;align-items:stretch;gap:.24rem;overflow:visible}.app-file-action{min-width:0;width:100%;min-height:34px;padding:.42rem .2rem!important;font-size:.72rem!important}.app-file-action[data-testid=app-load-button] .app-action-label,.app-file-action[data-testid=app-save-button] .app-action-label{display:none}.app-file-action[data-testid=app-teacher-submission-button]{display:none!important}.app-file-action[data-testid=app-certify-button]{font-weight:800}.app-mobile-more-actions{position:relative;width:auto;min-width:0}.app-mobile-more-summary{min-height:34px;padding:.42rem .2rem;gap:.18rem;font-size:.72rem}.app-mobile-more-action-submit{display:inline-flex}.app-mobile-more-panel{position:absolute;top:calc(100% + .35rem);right:0;z-index:120;width:min(226px,calc(100vw - 1rem));padding:.38rem;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#0f172af5;box-shadow:0 18px 44px #0000005c}.app-subtitle{display:none}.compact-toolbar{padding:.55rem}.writing-header{align-items:flex-start;flex-direction:column;gap:.55rem}.session-info,.session-actions{width:100%}.session-copy strong{font-size:.82rem}.session-copy span{font-size:.68rem}.session-timer{min-width:0}.session-complete-button{flex:0 0 auto;min-width:4rem}.autosave-restore-banner{flex-direction:column}.autosave-restore-banner.is-collapsed{align-items:stretch}.autosave-restore-actions{width:100%}.autosave-restore-actions button{flex:1 1 0}}
