:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--font-family-sans: "Pretendard Variable", "Pretendard JP", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans KR", "Noto Sans JP", "Apple SD Gothic Neo", "Hiragino Kaku Gothic ProN", "Meiryo", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--color-bg: #F0F3ED;--color-surface: #fafafa;--color-surface-alt: #fbfbfb;--color-surface-weak: #f9fafb;--color-surface-soft: #f8f8f8;--color-panel: #ffffff;--color-border: #e5e7eb;--color-border-soft: #eeeeee;--color-border-light: #eef2f7;--color-border-mid: #e0e0e0;--color-border-weak: #e6e8eb;--color-muted: #6b7280;--color-disabled: #A1A1AA;--color-text: #111827;--color-neutral: #3f3f3f;--color-primary: #111827;--color-primary-hover: #0b1220;--color-primary-btn: #C0C2BE;--color-accent: #84cc16;--color-danger: #f2a3a3;--color-danger-border: #e49393;--color-danger-hover: #f6bdbd;--color-toolbar: #D8DBD5;--color-toolbar-bg: #F0F3ED;--color-log-bg: #0a0a0a;--color-log-fg: #d8d8d8;--color-button2: color-mix(in srgb, var(--color-bg) 90%, black 10%);--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-28: 28px;--space-32: 32px;--radius-6: 6px;--radius-8: 8px;--radius-10: 10px;--radius-12: 12px;--reader-font-size: var(--font-size-lg);--reader-font-weight: var(--font-weight-regular);--reader-line-height: 1.6;--reader-letter-spacing: 0px;--reader-paragraph-spacing: 16px;--reader-text-indent: 0px;--reader-padding-top: 24px;--reader-padding-right: 24px;--reader-padding-bottom: 24px;--reader-padding-left: 24px;--reader-font-family: var(--font-family-sans);--reader-bg: transparent;--reader-text: var(--color-text)}.typo-caption1{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:1.5;font-family:var(--font-family-sans)}.typo-caption2{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.5;font-family:var(--font-family-sans)}.typo-label1{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:1.5;font-family:var(--font-family-sans)}.typo-label2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.5;font-family:var(--font-family-sans)}.typo-body1{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:1.5;font-family:var(--font-family-sans)}.typo-body2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.5;font-family:var(--font-family-sans)}.typo-title1{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);line-height:1.5;font-family:var(--font-family-sans)}.typo-title2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.5;font-family:var(--font-family-sans)}.typo-title3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.5;font-family:var(--font-family-sans)}.typo-headline1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.5;font-family:var(--font-family-sans)}.theme-dark{--color-bg: #0d1117;--color-surface: #12161b;--color-surface-alt: #0f1317;--color-surface-weak: #0f1418;--color-surface-soft: #12171c;--color-panel: #161b21;--color-border: #2a2f36;--color-border-soft: #1f242b;--color-border-light: #1d2127;--color-border-mid: #2a2f36;--color-border-weak: #222831;--color-muted: #9aa4b2;--color-disabled: #86868f;--color-text: #e6edf3;--color-neutral: #c5cbd3;--color-primary: #e5e7eb;--color-primary-hover: #ffffff;--color-primary-btn: #33373E;--color-accent: #84cc16;--color-danger: #b94a4a;--color-danger-border: #a64242;--color-danger-hover: #cf5d5d;--color-toolbar: #1c2128;--color-toolbar-bg: #1a1f26;--color-log-bg: #0b0f14;--color-log-fg: #d1d5db}@font-face{font-family:MaruBuri;src:url(/fonts/maruburi/MaruBuri-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/maruburi/MaruBuri-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--gap: var(--space-12)}*{box-sizing:border-box}.app h1{text-align:left;margin-bottom:12px}body{background:var(--color-bg);width:100%;font-family:var(--font-family-sans);color:var(--color-text)}#root{max-width:none;padding:0;width:100%}button,input,select,textarea{font-family:var(--font-family-sans)}.layout{top:0;min-height:100dvh}.sidebar{width:100vw;background:var(--color-surface);border-right:1px solid var(--color-border-weak);position:fixed;height:100dvh;overflow:hidden;transform:translate(-100%);transition:transform .2s ease;z-index:85;box-shadow:0 10px 30px #0000001f}.sidebar.open{transform:translate(0)}.backdrop{position:fixed;inset:0;background:#0006;z-index:20}.main{flex:1}.topbar{display:none}.panel{margin:16px 16px 28px;text-align:left}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:#fff0;color:var(--color-primary);padding:8px 0;cursor:pointer}.history-title-main,.history-title-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.history-title-sub{color:var(--color-muted)}.panel>p{margin:16px 0}.divider{height:8px;background:var(--color-border-soft);width:100%}label{display:flex;flex-direction:row;gap:6px;width:100%;justify-content:space-between;align-items:center}.vertical{display:flex;flex-direction:column;gap:6px;width:100%;justify-content:space-between;align-items:start;margin-bottom:20px}.row{display:flex;align-items:center;flex-wrap:wrap}.checkbox{display:inline-flex;align-items:center;gap:8px}button{padding:12px;border-radius:var(--radius-12);border:none;background:var(--color-toolbar);cursor:pointer}button,.nav-btn,.icon-btn,.btn-ghost,.btn-primary{-webkit-tap-highlight-color:transparent;outline:none}button:focus,.nav-btn:focus,.icon-btn:focus,.btn-ghost:focus,.btn-primary:focus{outline:none}button:focus-visible,.nav-btn:focus-visible,.icon-btn:focus-visible,.btn-ghost:focus-visible,.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 3px #1118271f}button:disabled{opacity:.6;cursor:default}button.danger{background:var(--color-danger);border-color:var(--color-danger-border)}button.danger:hover{background:var(--color-danger-hover)}.btn-primary{background:var(--color-primary-btn);color:var(--color-primary);border-color:var(--color-primary)}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-primary)}.btn-ghost:hover{background:var(--color-surface-hover)}.hint{color:var(--color-muted);margin-top:-4px;margin-bottom:8px}.output pre,.result-header,.result-title{display:none}.reader{min-height:100dvh;max-width:760px;margin:0 auto;padding-top:var(--reader-padding-top);padding-right:var(--reader-padding-right);padding-bottom:var(--reader-padding-bottom);padding-left:var(--reader-padding-left);background:var(--reader-bg);overflow-anchor:none}.reader p{margin:0 0 1em;color:var(--reader-text);font-size:var(--reader-font-size);font-weight:var(--reader-font-weight);line-height:var(--reader-line-height);letter-spacing:var(--reader-letter-spacing);text-indent:var(--reader-text-indent);margin-bottom:var(--reader-paragraph-spacing);font-family:var(--reader-font-family);overflow-wrap:anywhere;word-break:break-word}.reader .p2,.reader .p3{overflow-anchor:none}.reader .sent{cursor:pointer}.reader .sent:hover{background:#0000000a}.reader .sent,.reader .trans-paragraph{-webkit-tap-highlight-color:transparent;outline:none;overflow-wrap:anywhere;word-break:break-word;font-size:var(--reader-font-size);font-weight:var(--reader-font-weight);line-height:var(--reader-line-height);letter-spacing:var(--reader-letter-spacing);text-indent:var(--reader-text-indent);margin-bottom:var(--reader-paragraph-spacing);font-family:var(--reader-font-family)}.reader .trans-paragraph.title-line,.reader p.title-line{font-size:calc(var(--reader-font-size) + 2px);font-weight:clamp(100,calc(var(--reader-font-weight) + 200),900)}.hanja-sub{display:block;margin-top:4px;font-size:var(--reader-font-size);font-weight:var(--reader-font-weight);line-height:var(--reader-line-height);letter-spacing:var(--reader-letter-spacing);font-family:var(--reader-font-family);text-indent:0;color:var(--reader-text);opacity:var(--hanja-opacity, 0)}.sent-line{display:block}.sent-line+.sent-line{margin-top:var(--reader-paragraph-spacing)}.reader a{overflow-wrap:anywhere;word-break:break-word}.p3>p.trans-paragraph:nth-of-type(2){display:none!important}.reader,.reader p,.reader .trans-paragraph{-webkit-user-select:text;user-select:text}.bottomsheet{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:100}.bottomsheet-body{width:100%;max-width:720px;background:var(--color-panel);border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -10px 30px #0000001a;display:flex;flex-direction:column;max-height:90vh}.bottomsheet-content{padding:16px;flex:1;overflow:auto}.bottomsheet .term-row{display:grid;grid-template-columns:minmax(120px,auto) auto 1fr auto auto;gap:8px;align-items:center}.bottomsheet select{padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-6)}.ui-select{width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-panel);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;padding:10px 36px 10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-8);color:var(--color-primary);box-shadow:0 1px 2px #00000005;transition:border-color .15s ease,box-shadow .15s ease}.ui-select:hover{border-color:var(--color-border)}.ui-select:focus{outline:none;border-color:#111827;box-shadow:0 0 0 3px #1118271f}.dl-checkbox,.ui-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;min-width:24px;min-height:24px;box-sizing:border-box;border:2px solid var(--color-disabled);border-radius:24px;background:var(--color-panel);background-clip:padding-box;display:inline-grid;place-content:center;cursor:pointer;position:relative;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.dl-checkbox:focus,.ui-checkbox:focus{outline:none;box-shadow:0 0 0 3px #1118271f}.dl-checkbox:checked,.ui-checkbox:checked{border-color:var(--color-disabled);background:var(--color-disabled)}.dl-checkbox:after,.ui-checkbox:after{content:"";position:absolute;width:4px;height:10px;border-right:3px solid transparent;border-bottom:3px solid transparent;transform:rotate(45deg);top:2px;left:6px}.dl-checkbox:checked:after,.ui-checkbox:checked:after{border-color:var(--color-surface)}.original{color:var(--color-text);background:var(--color-surface-alt)}.translation p{margin-bottom:14px}.htmlOut{border:1px solid var(--color-border-soft);padding:12px;border-radius:var(--radius-6)}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.seg{padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-6);background:var(--color-surface);cursor:pointer;text-align:left}.seg.pending{opacity:.7;cursor:default}.seg.err{border-color:#e99;background:#fff5f5}.seg.done:hover{background:#f0f7ef}.next-page-btn{display:flex;background:var(--color-toolbar);border:none;border-radius:var(--radius-6);padding:16px 20px;cursor:pointer;width:100%;transition:background .2s ease;flex-direction:row;color:var(--color-primary)}.next-page-btn:hover{background:var(--color-surface-soft)}.toast-container{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;z-index:90;width:100dvw}.toast-item{background:var(--color-panel);border:1px solid var(--color-border);color:var(--color-neutral);padding:16px 24px;border-radius:16px;box-shadow:0 10px 30px #0000001f;animation:popIn .16s ease-out}.toast-item.success{border-color:#2ecc71}.toast-item.destructive{border-color:#e74c3c;color:#b91c1c;background:#fff5f5}.toast-title{font-weight:700;margin-bottom:4px}.tab-list button{background:transparent;border:none;padding:8px 12px;border-radius:var(--radius-8);cursor:pointer;color:var(--color-neutral)}.modal{position:fixed;inset:0;background:#00000040;display:flex;align-items:center;justify-content:center;padding:16px;z-index:70;animation:fadeIn .15s ease-out}.modal-body{background:var(--color-panel);max-width:640px;width:100%;border-radius:var(--radius-12);padding:20px;border:1px solid var(--color-border);box-shadow:0 20px 60px #0003,0 6px 20px #0000001a;animation:popIn .18s ease-out}.modal-body .modal-body p{color:var(--color-text)}.modal-body .modal-footer button{color:var(--color-primary)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.modal-title{margin:0;color:var(--color-primary)}.modal-desc{margin:4px 0 0;color:var(--color-muted)}.modal-body .row button{border-radius:999px}.modal-body p{background:var(--color-surface-weak);border:1px solid var(--color-border-light);border-radius:var(--radius-10);padding:12px;width:100%;overflow:auto;overflow-wrap:anywhere;word-break:break-word}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:var(--color-muted);background:transparent;border:none;cursor:pointer;padding:6px;color:var(--color-neutral)}.icon-btn:hover{background:var(--color-surface-hover)}@keyframes popIn{0%{transform:translateY(6px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes viewSlideInRight{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes viewSlideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-28px);opacity:0}}@keyframes viewSlideInLeft{0%{transform:translate(-28px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes viewSlideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(28px);opacity:0}}.main.slide-in-right{animation:viewSlideInRight .26s ease both;will-change:transform,opacity}.main.slide-out-left{animation:viewSlideOutLeft .26s ease both;will-change:transform,opacity}.main.slide-in-left{animation:viewSlideInLeft .26s ease both;will-change:transform,opacity}.main.slide-out-right{animation:viewSlideOutRight .26s ease both;will-change:transform,opacity}@font-face{font-family:JalnanOTF;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/JalnanOTF.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}.terms{display:flex;flex-direction:column;gap:8px;margin:8px 0}.term-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center}.term-src{white-space:nowrap}.progress{position:relative;height:10px;background:var(--color-surface-soft);border-radius:6px;margin:8px 0 6px}.progress .bar{position:absolute;left:0;top:0;bottom:0;background:var(--color-accent);border-radius:6px;transition:width .2s ease}.progress .meta{color:var(--color-neutral);margin-top:6px}.log{max-height:200px;overflow:auto;background:var(--color-log-bg);color:var(--color-log-fg);padding:8px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.logline{white-space:pre-wrap}.nav-overlay{position:fixed;inset:0;background:transparent;z-index:80;display:none;pointer-events:none;flex:1}.nav-overlay.active{display:flex;pointer-events:auto}.nav-overlay.with-drawer{pointer-events:none}.nav-topbar{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;background:var(--color-toolbar);padding:6px 16px 6px 4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--color-primary)}.nav-topbar:before{content:"";position:absolute;inset:0 0 -1px;border-bottom:1px solid var(--color-border-mid);pointer-events:none}.nav-input-container{display:flex;align-items:stretch;gap:4px;width:100%;flex-direction:row;height:max-content}.nav-title span{color:var(--color-primary)}.nav-urlbar{width:100%;background:var(--color-panel);border-radius:8px;border:1px solid var(--color-border-mid);padding:16px 20px;resize:vertical;overflow:auto;line-height:1.5;color:var(--color-text);caret-color:var(--color-text)}.nav-urlbar:before{content:"";position:absolute;inset:0;border:1px solid var(--color-border-mid);border-radius:8px;pointer-events:none}.nav-translate{padding:6px 12px;border-radius:8px;background:var(--color-toolbar-bg);color:var(--color-neutral);border:none;white-space:nowrap;height:100%;display:inline-flex;align-items:center;justify-content:center}.nav-urlbar::placeholder{color:var(--color-muted);opacity:1}.nav-url-actions button{color:var(--color-primary)}.nav-toolbar{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;background:var(--color-toolbar);padding:0;box-sizing:border-box;display:flex;gap:8px;align-items:center;justify-content:center}.nav-toolbar:before{content:"";position:absolute;inset:-1px 0 0;border-top:1px solid var(--color-border-mid);pointer-events:none}.fab-right{position:absolute;background:transparent;border:none;right:24px;bottom:24px;align-items:center;gap:4px;padding:8px;border-radius:8px;color:var(--color-neutral);cursor:pointer;justify-content:center;flex-direction:column;font-size:12px}.fab-right svg{width:24px;height:24px}.nav-btn{background:transparent;border:none;display:inline-flex;align-items:center;gap:4px;width:100%;padding:8px;height:60px;border-radius:8px;color:var(--color-neutral);cursor:pointer;justify-content:center;flex-direction:column;font-size:12px}.nav-btn svg{width:24px;height:24px}.nav-btn:active{background:var(--color-surface-soft)}.drawer-content{height:100%;overflow:auto;padding-bottom:100px;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;width:100%;color:var(--color-text)}.drawer-content .typo-title2,.drawer-content .typo-label2,.drawer-content .typo-body2,.drawer-content .typo-body1,.drawer-content .typo-caption1,.drawer-content .typo-caption2{color:var(--color-text)}.drawer-toolbar{position:fixed;left:0;right:0;bottom:0;background:var(--color-toolbar);padding:0px 0px env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:center;z-index:90}.drawer-toolbar:before{content:"";position:absolute;pointer-events:none}.reader.page-disabled{-webkit-user-select:none;user-select:none}.reader.page-disabled .sent,.reader.page-disabled .trans-paragraph{pointer-events:none}.page-overlay{position:fixed;inset:0;z-index:50;background:transparent}.next-page-btn,.terms-cta,.cta-secondary,.banner-container{position:relative;z-index:60}.settings-sheet-overlay{position:fixed;inset:0;background:#0000001a;display:flex;align-items:flex-end;justify-content:center;z-index:70;padding:16px}.settings-sheet{width:100%;max-width:720px;background:var(--color-toolbar-bg);border-radius:16px;flex-direction:row;gap:12px;padding:8px}.settings-sheet-item{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;color:var(--color-neutral);padding:12px;width:100%;border-radius:12px;flex-direction:column}.cta-btn{background:var(--color-button2);border:none;padding:16px 24px;border-radius:var(--radius-0);cursor:pointer;color:var(--color-primary);font-weight:600;width:100%}.cta-secondary{background:var(--color-toolbar);color:var(--color-primary)}.cta-primary{background:var(--color-primary-btn);color:var(--color-primary)}.theme-dark .terms-cta{background:var(--color-toolbar)}.theme-dark .terms-cta:hover{background:var(--color-surface-soft)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
