.loader-container{align-items:center;background-color:#f0f0f0;display:flex;height:100vh;justify-content:center;width:100vw}.loader{animation:spin 2s linear infinite;border:16px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:30vmin;width:30vmin}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.student-nav{background-color:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.student-nav__inner{align-items:center;display:flex;gap:var(--space-2);height:60px;margin:0 auto;max-width:var(--container-max-width);padding:0 var(--space-5)}.student-nav__side{align-items:center;display:flex;flex-shrink:0;min-width:130px}.student-nav__side--right{align-items:baseline;gap:var(--space-2);justify-content:flex-end}.student-nav__logo{display:block;height:26px;max-width:160px;object-fit:contain;width:auto}.student-nav__student-name{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);white-space:nowrap}.student-nav__student-grade{background-color:var(--color-surface-muted);border-radius:var(--radius-pill);color:var(--color-accent-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:3px 10px;white-space:nowrap}.student-nav__tabs{-webkit-overflow-scrolling:touch;flex:1 1;flex-wrap:nowrap;gap:2px;justify-content:safe center;min-width:0;overflow-x:auto;overflow-y:hidden}.student-nav__tab,.student-nav__tabs{align-items:center;display:flex;height:100%}.student-nav__tab{color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding:0 var(--space-4);position:relative;transition:color .15s;white-space:nowrap}.student-nav__tab--active,.student-nav__tab:hover{color:var(--color-text)}.student-nav__tab-underline{background-color:var(--color-accent);border-radius:3px 3px 0 0;bottom:0;height:3px;left:var(--space-3);position:absolute;right:var(--space-3)}@media (max-width:768px){.student-nav__inner{gap:var(--space-1);height:50px;padding:0 var(--space-2)}.student-nav__side{min-width:auto}.student-nav__logo{height:22px;max-width:90px}.student-nav__student-name{font-size:var(--font-size-base)}.student-nav__student-grade{font-size:var(--font-size-xs);padding:2px 7px}.student-nav__tab{font-size:var(--font-size-md);padding:0 var(--space-3)}}.review-card{color:inherit;text-decoration:none;transition:border-color .12s}.review-card:hover{border-color:#00d9c0}.paper-assignment-calendar{--teal:#00d9c0;--teal-deep:#00a396;--teal-soft:#e5fbf8;--ink:#0e141b;--ink-70:#3a434e;--ink-45:#7a8490;--ink-25:#b9c1c9;--line:#e6edec;--sage:#f4f8f7;color:var(--ink);letter-spacing:-.01em;word-break:keep-all}.paper-assignment-calendar__header{align-items:flex-end;display:flex;gap:16px;margin-bottom:16px}.paper-assignment-calendar__title{color:var(--ink);font-size:1.02rem;font-weight:800;margin:0}.paper-assignment-calendar__subtitle{color:var(--ink-45);font-size:.84rem;margin:4px 0 0}.paper-assignment-calendar__stats{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px -22px #14283238;margin-left:auto;padding:12px 22px;text-align:center}.paper-assignment-calendar__stats-number{font-feature-settings:"tnum";color:var(--teal-deep);display:block;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.paper-assignment-calendar__stats-label{color:var(--ink-45);display:block;font-size:.74rem;font-weight:700;margin-top:2px}.paper-assignment-calendar__controls{align-items:center;display:flex;gap:12px;margin-bottom:16px}.paper-assignment-calendar__filter{align-items:center;display:flex;gap:10px}.paper-assignment-calendar__filter-label{color:var(--ink-70);font-size:.84rem;font-weight:800}.paper-assignment-calendar__select{background:#fff;border:1.5px solid var(--line);border-radius:11px;color:var(--ink-70);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:9px 13px}.paper-assignment-calendar__select:focus{border-color:var(--teal);outline:none}.paper-assignment-calendar__filter-reset{background:none;border:none;color:var(--ink-45);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;margin-left:auto}.paper-assignment-calendar__filter-reset:hover:not(:disabled){color:var(--teal-deep)}.paper-assignment-calendar__filter-reset:disabled{cursor:default;opacity:.4}.paper-assignment-calendar__body{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1.15fr}@media (max-width:900px){.paper-assignment-calendar__body{grid-template-columns:1fr}}.paper-assignment-calendar__picker{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px -22px #14283238;overflow:hidden}.custom-calendar{padding:18px 16px 6px}.custom-calendar__header{align-items:center;display:flex;justify-content:space-between;padding:0 6px 12px}.custom-calendar__month-label{font-size:1.02rem;font-weight:800;margin:0}.custom-calendar__nav-button{background:#fff;border:1.5px solid var(--line);border-radius:9px;color:var(--ink-45);cursor:pointer;font-size:.95rem;height:30px;transition:.12s;width:30px}.custom-calendar__nav-button:hover{border-color:var(--teal);color:var(--teal-deep)}.custom-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.custom-calendar__weekday{color:var(--ink-25);font-size:.74rem;font-weight:700;padding:8px 0 6px;text-align:center}.custom-calendar__weekday:first-child{color:#c96a5e}.custom-calendar__weekday:last-child{color:#5e82c9}.custom-calendar__days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.custom-calendar__day{border:2px solid #0000;border-radius:12px;cursor:pointer;min-height:58px;padding:5px 4px;transition:.12s}.custom-calendar__day--empty{cursor:default}.custom-calendar__day:not(.custom-calendar__day--empty):hover{background:var(--sage)}.custom-calendar__day--selected{background:#fff;border-color:var(--ink)}.custom-calendar__day--selected:hover{background:#fff}.custom-day-content{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.day-number{font-feature-settings:"tnum";color:var(--ink-70);font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:700;padding-left:3px}.custom-calendar__day--has-records .day-number{color:var(--ink);font-weight:800}.day-banners{display:flex;flex-wrap:wrap;gap:3px}.day-banner{border-radius:6px;font-size:.62rem;font-weight:700;line-height:1.4;padding:2px 7px;white-space:nowrap}.day-banner--lesson{background:var(--teal-soft);color:var(--teal-deep)}.day-banner--vocabulary{background:#e9eff7;color:#3e6398}.day-banner--sentence{background:#fbf4d9;color:#8a6d00}.day-banner--analysis{background:#e8f7ee;color:#1db05b}.day-banner--grammar{background:#fdf3e3;color:#e8920a}.day-banner--comprehensive{background:#efebfc;color:#6b4ee6}.day-banner--exam,.day-banner--paragraph{background:#fcede9;color:#c2452d}.day-banner--homework{background:#fdf3e3;color:#e8920a}.day-banner--homework_files{background:var(--sage);color:var(--ink-70)}.day-banner--graded{background:var(--teal-soft);color:var(--teal-deep)}.day-banner--general{background:var(--sage);color:var(--ink-45)}.paper-assignment-calendar__hint{border-top:1px solid var(--line);color:var(--ink-45);font-size:.78rem;margin-top:8px;padding:10px 22px 16px}.paper-assignment-calendar__records{min-height:300px}.paper-assignment-calendar__selection{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.paper-assignment-calendar__selection-title{color:var(--ink);font-size:1.05rem;font-weight:800;margin:0}.paper-assignment-calendar__selection-subtitle{color:var(--ink-45);font-size:.82rem;margin:3px 0 0}.paper-assignment-calendar__count-badge{background:var(--teal-soft);border-radius:999px;color:var(--teal-deep);flex:0 0 auto;font-size:.8rem;font-weight:800;margin-left:auto;padding:5px 13px}.paper-assignment-calendar__empty,.paper-assignment-calendar__placeholder{background:#fff;border:1.5px dashed var(--line);border-radius:16px;color:var(--ink-45);font-size:.88rem;padding:48px 20px;text-align:center}.paper-assignment-calendar__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.paper-assignment-calendar__card{background:#fff!important;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:16px;box-shadow:0 10px 30px -24px #14283233;cursor:pointer;padding:15px 18px;transition:.12s}.paper-assignment-calendar__card:hover{border-color:#cfe9e4;border-left-color:var(--teal-deep)}.paper-assignment-calendar__card-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.paper-assignment-calendar__timestamp{font-feature-settings:"tnum";color:var(--ink-45);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:700}.paper-assignment-calendar__card-chips{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.paper-assignment-calendar__chip{border-radius:999px;font-size:.72rem;font-weight:800;padding:3px 10px}.paper-assignment-calendar__chip--positive{background:var(--teal-soft);color:var(--teal-deep)}.paper-assignment-calendar__chip--negative{background:#fcede9;color:#c2452d}.paper-assignment-calendar__chip--warning{background:#fbf4d9;color:#8a6d00}.paper-assignment-calendar__chip--neutral{background:var(--sage);color:var(--ink-45)}.paper-assignment-calendar__card-comment{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--ink-70);display:-webkit-box;font-size:.9rem;line-height:1.7;margin:10px 0 0;overflow:hidden}.paper-assignment-calendar__card-content{color:var(--ink-70);display:flex;flex-direction:column;font-size:.85rem;gap:4px;line-height:1.6;margin-top:10px}.paper-assignment-calendar__card-content-more{color:var(--teal-deep);font-size:.78rem;font-weight:700}.paper-assignment-calendar__card-footer{align-items:center;display:flex;gap:12px;margin-top:12px}.paper-assignment-calendar__card-meta{color:var(--ink-45);font-size:.8rem;font-weight:600}.paper-assignment-calendar__card-button{background:var(--ink);border:none;border-radius:999px;color:#fff;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;margin-left:auto;padding:8px 17px;transition:.12s}.paper-assignment-calendar__card-button:hover{background:var(--teal-deep)}.paper-assignment-calendar__modal-backdrop{align-items:center;background:#0e141b73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.paper-assignment-calendar__modal{background:#fff;border-radius:20px;box-shadow:0 30px 80px #0e141b4d;max-height:84vh;max-width:640px;overflow-y:auto;padding:26px 26px 30px;position:relative;width:100%}.paper-assignment-calendar__modal-close{background:#fff;border:1.5px solid var(--line);border-radius:10px;color:var(--ink-70);cursor:pointer;font-size:.9rem;height:34px;position:absolute;right:16px;top:16px;width:34px}.paper-assignment-calendar__modal-close:hover{border-color:var(--teal);color:var(--teal-deep)}.paper-assignment-calendar__modal-header{border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding-bottom:16px;padding-right:40px}.paper-assignment-calendar__modal-title{font-size:1.15rem;font-weight:800;margin:0}.paper-assignment-calendar__modal-subtitle{color:var(--ink-45);font-size:.82rem;margin:4px 0 0}.paper-assignment-calendar__modal-chips{display:flex;flex-wrap:wrap;gap:5px}.paper-assignment-calendar__modal-section{border-bottom:1px solid var(--line);padding:14px 0}.paper-assignment-calendar__modal-section:last-child{border-bottom:none}.paper-assignment-calendar__section-title{color:var(--teal-deep);font-size:.8rem;font-weight:800;letter-spacing:.06em;margin:0 0 8px}.paper-assignment-calendar__section-content{color:var(--ink-70);font-size:.92rem;line-height:1.75;margin:4px 0}.paper-assignment-calendar__content-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.paper-assignment-calendar__content-list li{align-items:baseline;color:var(--ink-70);display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px;line-height:1.6}.paper-assignment-calendar__content-badge{background:var(--sage);border-radius:7px;color:var(--ink-70);flex:0 0 auto;font-size:.7rem;font-weight:800;padding:3px 9px}.paper-assignment-calendar__content-file-link{color:var(--teal-deep);font-size:.82rem;font-weight:700;text-decoration:none}.paper-assignment-calendar__content-file-link:hover{text-decoration:underline}.paper-assignment-calendar__file-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.paper-assignment-calendar__file-list li{border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.paper-assignment-calendar__file-title{font-size:.92rem;font-weight:700;margin:0}.paper-assignment-calendar__file-name{color:var(--ink-45);font-size:.8rem;margin:3px 0 0}.paper-assignment-calendar__file-submission{align-items:center;display:flex;gap:8px;margin:6px 0 0}.paper-assignment-calendar__submission-status{color:var(--ink-45);font-size:.8rem;font-weight:600}.paper-assignment-calendar__primary-button{align-items:center;background-color:var(--color-text);border:none;border-radius:var(--radius-pill);color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding:10px 22px;text-decoration:none;transition:background-color .12s}.paper-assignment-calendar__primary-button:hover{background-color:var(--color-accent-strong)}.paper-assignment-calendar__download-button{background:#fff;border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;padding:7px 15px;transition:.12s}.paper-assignment-calendar__download-button:hover{background:var(--ink);color:#fff}@media (max-width:600px){.paper-assignment-calendar__header{align-items:flex-start;flex-direction:column;gap:10px}.paper-assignment-calendar__stats{margin-left:0;padding:10px 18px}.custom-calendar__day{min-height:46px}.day-banner{display:none}.custom-calendar__day--has-records .day-number:after{background:var(--teal);border-radius:50%;content:"";display:inline-block;height:5px;margin-left:3px;vertical-align:2px;width:5px}}.level-test-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);padding:var(--space-5)}.level-test-summary__header{align-items:baseline;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-4)}.level-test-summary__title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:800}.level-test-summary__month{color:var(--color-text-muted);font-size:var(--font-size-md)}.level-test-summary__empty-text{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.7;margin:0}.level-test-summary__score{align-items:baseline;color:var(--color-accent-strong);display:flex;gap:2px}.level-test-summary__score-number{font-size:var(--font-size-3xl);font-weight:800;line-height:1}.level-test-summary__score-unit{font-size:var(--font-size-base);font-weight:800}.level-test-summary__stage{color:var(--color-text);font-size:var(--font-size-base);font-weight:700}.level-test-summary__count{color:var(--color-text-muted);font-size:var(--font-size-md);margin-top:2px}.level-test-summary__areas{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.level-test-summary__area{align-items:center;display:flex;gap:var(--space-3)}.level-test-summary__area-name{color:var(--color-text-secondary);flex:0 0 72px;font-size:var(--font-size-md)}.level-test-summary__area-bar{background:var(--color-surface-muted);border-radius:var(--radius-pill);flex:1 1;height:8px;min-width:0;overflow:hidden}.level-test-summary__area-bar i{background:var(--color-accent);border-radius:var(--radius-pill);display:block;height:100%}.level-test-summary__area-value{color:var(--color-text-secondary);flex:0 0 42px;font-size:var(--font-size-md);font-weight:700;text-align:right}.level-test-summary__history{border-top:1px solid var(--color-border-subtle);list-style:none;margin:var(--space-4) 0 0;padding:var(--space-3) 0 0}.level-test-summary__history-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-md);gap:var(--space-3);padding:var(--space-1) 0}.level-test-summary__history-month{flex:0 0 70px}.level-test-summary__history-stage{flex:1 1;min-width:0}.level-test-summary__history-score{color:var(--color-text);font-weight:700}@media (max-width:640px){.level-test-summary__latest{gap:var(--space-4)}.level-test-summary__area-name{flex-basis:60px}}.level-test-summary__latest{align-items:center;color:inherit;display:flex;gap:var(--space-5);text-decoration:none}.level-test-summary__report-go{color:var(--color-accent-strong);flex:none;font-size:var(--font-size-md);font-weight:700;white-space:nowrap}.level-test-summary__journey{border-top:1px solid var(--color-border-subtle);margin-top:var(--space-4);padding-top:var(--space-4)}.level-test-summary__journey-title{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:800;letter-spacing:.04em;margin-bottom:var(--space-3)}.level-test-summary__journey-grid{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.journey-card{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:var(--space-3)}.journey-card__label{color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:700;margin-bottom:var(--space-1)}.journey-card__months{color:var(--color-text);font-size:var(--font-size-base)}.journey-card__months b{color:var(--color-accent-strong);font-size:var(--font-size-2xl);font-weight:800;margin-right:2px}.journey-card__months--done{color:var(--color-accent-strong);font-size:var(--font-size-lg);font-weight:800}.journey-card__target{color:var(--color-text-muted);font-size:var(--font-size-sm)}.journey-card__pending{color:var(--color-text-muted);font-size:var(--font-size-md)}@media (max-width:640px){.level-test-summary__journey-grid{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden}.journey-card{flex:1 0 auto;min-width:104px;padding:var(--space-2) var(--space-3)}.journey-card__label{font-size:var(--font-size-sm);white-space:nowrap}.journey-card__months b{font-size:var(--font-size-xl)}}.journey-card--checkable{border:1px solid #0000;display:block;text-decoration:none;transition:border-color .12s,background-color .12s}.journey-card--checkable:hover{background:var(--color-surface);border-color:var(--color-accent)}.journey-card--checkable .journey-card__pending{color:var(--color-accent-strong);font-weight:700}.level-test-summary__go-column{align-items:flex-end;display:flex;flex:none;flex-direction:column;gap:6px;margin-left:auto}.level-test-summary__test-go{background:var(--color-text);border-radius:999px;color:var(--color-surface);cursor:pointer;font-size:var(--font-size-sm);font-weight:800;padding:7px 14px;white-space:nowrap}.level-test-summary__test-go:hover{background:var(--color-accent-strong)}.level-test-invite{margin-bottom:var(--space-4);position:relative}.level-test-invite__ghost{filter:blur(1.2px);opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none}.level-test-invite__ghost .level-test-summary{margin-bottom:0}.level-test-invite__body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 18px 44px -20px #14283266;left:50%;padding:var(--space-5);position:absolute;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - var(--space-5)*2))}.level-test-invite__badge{background:var(--color-accent-surface);border-radius:999px;color:var(--color-accent-strong);display:inline-block;font-size:var(--font-size-sm);font-weight:800;margin-bottom:var(--space-3);padding:5px 12px}.level-test-invite__text{color:var(--color-text);font-size:var(--font-size-base);line-height:1.7;margin:0 0 var(--space-4)}.level-test-invite__code{align-items:center;background:var(--color-surface);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:inherit;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:left;width:100%}.level-test-invite__code:hover{border-color:var(--color-accent-strong)}.level-test-invite__code-label{color:var(--color-text-muted);flex:none;font-size:var(--font-size-sm);font-weight:700}.level-test-invite__code-value{color:var(--color-text);flex:1 1;font-family:ui-monospace,Menlo,monospace;font-size:var(--font-size-lg);font-weight:800;letter-spacing:.08em;min-width:0}.level-test-invite__code-copy{color:var(--color-accent-strong);flex:none;font-size:var(--font-size-sm);font-weight:700}.level-test-invite__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.level-test-invite__go{background:var(--color-text);border-radius:999px;color:var(--color-surface);display:inline-block;font-size:var(--font-size-base);font-weight:800;padding:11px 22px}.level-test-invite__go:hover{background:var(--color-accent-strong)}.level-test-invite__sample{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700;text-decoration:underline}@media (max-width:640px){.level-test-invite__ghost{display:none}.level-test-invite__body{box-shadow:none;position:static;transform:none;width:auto}}.student-page{background-color:var(--color-page);letter-spacing:-.01em;min-height:calc(100vh - var(--dev-bar-height))}.student-page__webview-notice{align-items:center;display:flex;height:calc(100vh - var(--dev-bar-height));justify-content:center}.student-page__webview-button{background-color:var(--color-text);border:none;border-radius:var(--radius-lg);color:var(--color-text-inverse);cursor:pointer;font-family:inherit;font-size:var(--font-size-lg);font-weight:var(--font-weight-heavy);padding:22px 34px}.direct-translation{background-color:var(--color-surface);display:flex;flex-direction:column;font-family:var(--font-family-base)}.direct-translation__body{box-sizing:border-box;display:flex;flex:1 1;gap:var(--space-3);margin:0 auto;max-width:var(--container-max-width);min-height:0;padding:var(--space-4) var(--space-5);width:100%}.direct-translation__pane{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.direct-translation__pane-head{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-accent-strong);display:flex;flex-wrap:wrap;font-size:var(--font-size-md);font-weight:var(--font-weight-heavy);gap:var(--space-2);letter-spacing:.06em;padding:9px var(--space-4);row-gap:4px}.direct-translation__stage{display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.direct-translation__pane-scroll{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-3) var(--space-4)}.direct-translation__side{display:flex;flex:0 0 320px;flex-direction:column;gap:var(--space-3);min-height:0}.direct-translation__illustration{flex:0 0 auto}.direct-translation__illustration-image{border-radius:var(--radius-sm);display:block;max-height:260px;object-fit:contain;width:100%}.direct-translation__illustration-empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);justify-content:center;line-height:1.7;min-height:130px;padding:var(--space-4);text-align:center}.direct-translation__words{flex:1 1;min-height:0}.direct-translation__word{align-items:baseline;border-radius:var(--radius-sm);color:var(--color-text-secondary);color:var(--color-text-muted);display:flex;font-size:calc(var(--font-size-base)*1);font-size:calc(var(--font-size-base)*var(--direct-translation-text-scale, 1));gap:var(--space-2);line-height:1.6;padding:6px var(--space-2)}.direct-translation__word.is-current{color:var(--color-text-secondary)}.direct-translation__word.is-rest-start{border-top:1px dashed var(--color-border);margin-top:var(--space-2);padding-top:var(--space-2)}.direct-translation__word-number{color:var(--color-text-muted);flex:0 0 20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-heavy);text-align:right}.direct-translation__word.is-current .direct-translation__word-number{color:var(--color-accent-strong)}.direct-translation__word-english{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.direct-translation__word.is-current .direct-translation__word-english{color:var(--color-text);font-weight:var(--font-weight-heavy)}.direct-translation__word-korean{color:var(--color-text-muted);font-size:var(--font-size-md)}.direct-translation__main{flex:1 1;min-width:0}.direct-translation__text-scale{align-items:baseline;display:flex;gap:2px;margin-left:auto}.direct-translation__scale-button{background-color:initial;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-weight:var(--font-weight-bold);line-height:1;min-width:24px;padding:3px 4px}.direct-translation__scale-button:hover{color:var(--color-accent-strong)}.direct-translation__scale-button.is-on{background-color:var(--color-accent-surface);border-color:var(--color-accent-surface);color:var(--color-accent-strong)}.direct-translation__modes{display:flex;gap:var(--space-1);margin-left:var(--space-2)}.direct-translation__mode{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:3px 10px;white-space:nowrap}.direct-translation__mode:hover{border-color:var(--color-accent)}.direct-translation__mode.is-on{border-color:var(--color-accent-surface)}.direct-translation__call,.direct-translation__mode.is-on{background-color:var(--color-accent-surface);color:var(--color-accent-strong)}.direct-translation__call{border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-heavy);margin:var(--space-2) var(--space-4) 0;padding:8px var(--space-3);text-align:center}.direct-translation__call--recording{align-items:center;background-color:#fcede9;color:var(--color-danger);cursor:pointer;display:flex;gap:var(--space-2);justify-content:center}.direct-translation__mic{fill:var(--color-danger);stroke:var(--color-danger);animation:direct-translation-mic-pulse 1.1s ease-in-out infinite;flex:none;height:26px;width:26px}@keyframes direct-translation-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.88)}}.direct-translation__waveform{align-items:center;display:inline-flex;gap:3px;height:22px}.direct-translation__waveform-bar{animation:direct-translation-wave 1s ease-in-out infinite;background-color:var(--color-danger);border-radius:2px;height:30%;width:4px}.direct-translation__waveform-bar:first-child{animation-delay:0s}.direct-translation__waveform-bar:nth-child(2){animation-delay:.15s}.direct-translation__waveform-bar:nth-child(3){animation-delay:.3s}.direct-translation__waveform-bar:nth-child(4){animation-delay:.45s}.direct-translation__waveform-bar:nth-child(5){animation-delay:.6s}@keyframes direct-translation-wave{0%,to{height:30%}50%{height:65%}}.direct-translation__waveform.is-active .direct-translation__waveform-bar{animation-duration:.5s;animation-name:direct-translation-wave-loud}@keyframes direct-translation-wave-loud{0%,to{height:40%}50%{height:100%}}@media (prefers-reduced-motion:reduce){.direct-translation__mic,.direct-translation__waveform-bar{animation:none}}.direct-translation__call--warning{background-color:var(--color-surface-muted);color:var(--color-danger);font-weight:var(--font-weight-bold);line-height:1.6}.direct-translation__word-strip{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:var(--space-2) var(--space-4) 0;padding:var(--space-2) var(--space-3)}.direct-translation__word-chip{color:var(--color-text-muted);font-size:calc(var(--font-size-md)*1);font-size:calc(var(--font-size-md)*var(--direct-translation-text-scale, 1));white-space:nowrap}.direct-translation__word-chip b{color:var(--color-accent-strong);font-weight:var(--font-weight-heavy)}.direct-translation__button--record{align-items:center;background-color:var(--color-danger);color:var(--color-text-inverse);display:inline-flex;gap:6px;justify-content:center}.direct-translation__button--record.is-listening{background-color:var(--color-text)}.direct-translation__button .direct-translation__mic{fill:currentColor;stroke:currentColor;animation:none;height:18px;width:18px}.direct-translation__sentence.is-waiting{box-shadow:inset 3px 0 0 var(--color-accent)}.direct-translation__score-badge{background-color:var(--color-accent-surface);border-radius:var(--radius-pill);color:var(--color-accent-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-heavy);padding:6px var(--space-3);white-space:nowrap}.direct-translation__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4) 0}.direct-translation__sentence{border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:background-color .12s}.direct-translation__sentence:hover{background-color:var(--color-surface-muted)}.direct-translation__sentence-number{color:var(--color-text-muted);flex:0 0 18px;font-size:var(--font-size-sm);font-weight:var(--font-weight-heavy);padding-top:5px;text-align:right}.direct-translation__sentence.is-current .direct-translation__sentence-number{color:var(--color-accent-strong)}.direct-translation__chunks{align-items:flex-start;column-gap:var(--space-2);display:flex;flex:1 1;flex-wrap:wrap;min-width:0;row-gap:var(--space-2)}.direct-translation__chunk{border-radius:6px;cursor:pointer;display:flex;flex-direction:column;padding:0 var(--space-1)}.direct-translation__chunk-lead{color:var(--color-text-secondary);font-size:calc(var(--font-size-2xl)*1);font-size:calc(var(--font-size-2xl)*var(--direct-translation-text-scale, 1));font-weight:var(--font-weight-regular);line-height:1.45}.direct-translation__sentence.is-current .direct-translation__chunk-lead{color:var(--color-text);font-weight:var(--font-weight-heavy)}.direct-translation__chunk-sub{color:var(--color-text-muted);font-size:calc(var(--font-size-md)*1);font-size:calc(var(--font-size-md)*var(--direct-translation-text-scale, 1));line-height:1.5;padding-top:2px}.direct-translation__chunk-sub.is-empty:before{content:"\00a0"}.direct-translation__chunk-line{align-items:baseline;display:flex;gap:var(--space-1)}.direct-translation__chunk-divider{color:var(--color-accent-strong);font-size:calc(var(--font-size-2xl)*1);font-size:calc(var(--font-size-2xl)*var(--direct-translation-text-scale, 1));font-weight:var(--font-weight-heavy);line-height:1.45}.direct-translation--by-chunk .direct-translation__sentence.is-current .direct-translation__chunk-lead{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.direct-translation--by-chunk .direct-translation__chunk.is-current .direct-translation__chunk-lead{color:var(--color-text);font-weight:var(--font-weight-heavy)}.direct-translation--by-chunk .direct-translation__chunk.is-current .direct-translation__chunk-sub{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.direct-translation__units{display:flex;gap:var(--space-1)}.direct-translation__turn{border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-heavy);padding:6px var(--space-3);white-space:nowrap}.direct-translation__turn.is-listen{background-color:var(--color-surface-muted);color:var(--color-text-secondary)}.direct-translation__turn.is-repeat,.direct-translation__turn.is-student_first{background-color:var(--color-accent);color:var(--color-text)}.direct-translation__turn.is-pass{background-color:var(--color-accent-surface);color:var(--color-accent-strong)}.direct-translation__turn.is-retry{background-color:var(--color-surface-muted);color:var(--color-danger)}.direct-translation__plain{align-items:flex-start;flex-direction:column}.direct-translation__plain-lead{color:var(--color-text-secondary);font-size:calc(var(--font-size-2xl)*1);font-size:calc(var(--font-size-2xl)*var(--direct-translation-text-scale, 1));font-weight:var(--font-weight-regular);line-height:1.45}.direct-translation__sentence.is-current .direct-translation__plain-lead{color:var(--color-text);font-weight:var(--font-weight-heavy)}.direct-translation__plain-sub{color:var(--color-text-muted);font-size:calc(var(--font-size-md)*1);font-size:calc(var(--font-size-md)*var(--direct-translation-text-scale, 1));line-height:1.6;padding-top:var(--space-1)}.direct-translation__score{align-items:center;background-color:#fffffff0;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);inset:0;justify-content:center;padding:var(--space-4);position:absolute;text-align:center}.direct-translation__score.is-grading{cursor:default}.direct-translation__spinner{animation:direct-translation-spin .9s linear infinite;border:6px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:64px;width:64px}@keyframes direct-translation-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.direct-translation__spinner{animation-duration:3s}}.direct-translation__score-mark{height:104px;width:104px}.direct-translation__score-mark-disc{fill:var(--color-surface-muted)}.direct-translation__score-mark-stroke{fill:none;stroke-width:9}.direct-translation__score.is-pass .direct-translation__score-mark-disc{fill:var(--color-accent-surface)}.direct-translation__score.is-pass .direct-translation__score-mark-stroke{stroke:var(--color-accent-strong)}.direct-translation__score.is-partial .direct-translation__score-mark-disc{fill:#fdf3e3}.direct-translation__score.is-partial .direct-translation__score-mark-stroke{stroke:var(--color-warning)}.direct-translation__score.is-fail .direct-translation__score-mark-disc{fill:#fcede9}.direct-translation__score.is-fail .direct-translation__score-mark-stroke{stroke:var(--color-danger)}.direct-translation__score-accuracy{color:var(--color-text-muted);font-size:var(--font-size-2xl);font-weight:var(--font-weight-heavy)}.direct-translation__score-message{color:var(--color-text);font-size:var(--font-size-3xl);font-weight:var(--font-weight-heavy);letter-spacing:-.01em;padding-top:var(--space-1)}.direct-translation__score.is-pass .direct-translation__score-message{color:var(--color-accent-strong)}.direct-translation__score.is-partial .direct-translation__score-message{color:var(--color-warning)}.direct-translation__score.is-fail .direct-translation__score-message{color:var(--color-danger)}.direct-translation__piece-score{border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-heavy);margin-left:var(--space-2);padding:1px var(--space-2);white-space:nowrap}.direct-translation__piece-score.is-correct{background-color:var(--color-accent-surface);color:var(--color-accent-strong)}.direct-translation__piece-score.is-wrong{background-color:#fcede9;color:var(--color-danger)}.direct-translation__score-spoken{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-heavy);line-height:1.5;padding:var(--space-2) 0;text-align:center}.direct-translation__score-detail{color:var(--color-text-muted);font-size:var(--font-size-md)}.direct-translation__foot{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.direct-translation__foot-settings{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1)}.direct-translation__foot-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.direct-translation__count{color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-right:auto;white-space:nowrap}.direct-translation__button{background-color:var(--color-text);border:none;border-radius:var(--radius-pill);color:var(--color-text-inverse);cursor:pointer;flex:none;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding:8px 18px;white-space:nowrap}.direct-translation__button--ghost{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.direct-translation__button--ghost:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.direct-translation--mobile .direct-translation__body{flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.direct-translation--mobile .direct-translation__foot{padding:var(--space-2) var(--space-3)}.direct-translation--mobile .direct-translation__score-mark{height:76px;width:76px}.direct-translation--mobile .direct-translation__count{flex:0 0 100%;margin-right:0}.direct-translation--mobile .direct-translation__foot-actions>button{flex:1 1 auto;padding:10px var(--space-2)}.direct-translation--mobile .direct-translation__turn{margin-left:auto}.direct-translation--mobile .direct-translation__main{flex:1 1 auto}.direct-translation--mobile .direct-translation__side{flex:0 1 auto;max-height:33%}.direct-translation--mobile .direct-translation__chunk-lead,.direct-translation--mobile .direct-translation__plain-lead{font-size:var(--font-size-lg)}.direct-translation--mobile .direct-translation__chunk-sub,.direct-translation--mobile .direct-translation__plain-sub{font-size:var(--font-size-sm)}.direct-translation--mobile .direct-translation__chunk-divider{font-size:var(--font-size-lg)}.direct-translation__side-tabs{display:flex;gap:var(--space-1);margin-left:auto}.direct-translation__hint.is-retry{color:#c0392b;color:var(--color-danger,#c0392b);font-weight:700}.direct-translation__syntax-toggle{background-color:initial;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;font-weight:var(--font-weight-bold);line-height:1.6;margin-left:8px;padding:3px 9px;white-space:nowrap}.direct-translation__syntax-toggle:hover{color:var(--color-accent-strong)}.direct-translation__syntax-toggle.is-on{background-color:var(--color-accent-surface);border-color:var(--color-accent-surface);color:var(--color-accent-strong)}.direct-translation__syntax{display:inline}.direct-translation__syntax-group{white-space:nowrap}.direct-translation__syntax-group+.direct-translation__syntax-group{margin-left:.26em}.direct-translation__syntax-column{align-items:center;display:inline-grid;grid-template-rows:.5em auto .5em;position:relative;vertical-align:top}.direct-translation__syntax-name,.direct-translation__syntax-role{font-size:.44em;font-weight:var(--font-weight-regular);left:50%;letter-spacing:0;line-height:1;position:absolute;transform:translateX(-50%);white-space:nowrap}.direct-translation__syntax-name{top:0}.direct-translation__syntax-role{bottom:0}.direct-translation__syntax-word{color:inherit;grid-row:2;line-height:1.1;text-align:center}.direct-translation__syntax-guide{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:10px;margin:var(--space-2) var(--space-4) 0}.direct-translation__syntax-guide-tail{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.direct-translation--syntax-on .direct-translation__sentence{gap:var(--space-4);padding-bottom:var(--space-3);padding-top:var(--space-3)}.direct-translation--syntax-on .direct-translation__chunk-lead{line-height:2}.direct-translation--syntax-on .direct-translation__chunk-line{align-items:center}.direct-translation--syntax-on .direct-translation__chunks{row-gap:var(--space-3)}.direct-translation__syntax-group.is-tight{margin-left:0}.direct-translation__pane-title{white-space:nowrap}.voca-card-back{-webkit-overflow-scrolling:touch;align-items:center;backface-visibility:hidden;background-color:var(--color-surface);border:1px solid #ebebeb;border-radius:10px;box-shadow:0 2px 4px 0 #00000040;display:flex;flex-direction:column;grid-area:1/1;max-height:68vh;max-height:68dvh;overflow-x:hidden;overflow-y:auto;position:relative;transform:rotateY(180deg)}.voca-card-back__row{align-items:stretch;display:flex;width:100%}.voca-card-back__meaning-cell,.voca-card-back__word-cell{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:16px 12px}.voca-card-back__word-cell{border-right:1px solid #ebebeb;flex:0 0 34%}.voca-card-back__meaning-cell{flex:1 1 auto;font-size:18px;gap:8px}.voca-card-back__word{font-size:24px;font-weight:700;overflow-wrap:anywhere}.voca-card-back__pron{font-size:16px;margin-bottom:8px;overflow-wrap:anywhere}.voca-card-back__relation{display:flex;gap:4px;margin-bottom:4px;overflow-wrap:anywhere}.voca-card-back__example{align-items:flex-start;align-self:stretch;background-color:#ebebeb;display:flex;flex-direction:column;font-size:18px;gap:10px;line-height:1.5;padding:16px 16px 16px 32px}@media (max-width:768px){.voca-card-back__meaning-cell,.voca-card-back__word-cell{padding:12px 8px}.voca-card-back__word{font-size:18px}.voca-card-back__pron{font-size:13px}.voca-card-back__example,.voca-card-back__meaning-cell{font-size:15px}.voca-card-back__example{padding:12px}}.study-page{background-color:var(--color-page);display:flex;flex-direction:column;min-height:calc(100vh - var(--dev-bar-height));-webkit-user-select:none;user-select:none}.study-page__column{box-sizing:border-box;height:calc(100vh - 70px - var(--dev-bar-height));margin:0 auto;max-width:var(--container-max-width);padding:0 var(--space-8);width:100%}@media (max-width:768px){.study-page__column{padding:0 var(--space-2)}}:root{--dev-bar-height:0px;--container-max-width:1280px;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:32px;--font-size-5xl:48px;--font-weight-regular:400;--font-weight-medium:600;--font-weight-bold:700;--font-weight-heavy:800;--font-family-base:"Pretendard","Spoqa Han Sans Neo","Apple SD Gothic Neo","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--color-text:#0e141b;--color-text-secondary:#3a434e;--color-text-muted:#7a8490;--color-text-inverse:#fff;--color-accent:#00d9c0;--color-accent-strong:#00a396;--color-accent-surface:#e5fbf8;--color-danger:#c0392b;--color-warning:#c98a00;--color-surface:#fff;--color-surface-muted:#f4f8f7;--color-page:#f5f8f8;--color-border:#e6edec;--color-border-subtle:#ecf1f2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 12px 30px #0f172a0d;--shadow-popover:0 12px 30px #0f172a1f;--shadow-focus-ring:0 0 0 3px #00d9c024}@font-face{font-display:swap;font-family:Pretendard;font-style:normal;font-weight:400;src:url(/static/media/Pretendard-Regular.38bed7de46e7b9049ced.woff2) format("woff2")}@font-face{font-display:swap;font-family:Pretendard;font-style:normal;font-weight:500;src:url(/static/media/Pretendard-Medium.a9645bebe1a0010e66dc.woff2) format("woff2")}@font-face{font-display:swap;font-family:Pretendard;font-style:normal;font-weight:700;src:url(/static/media/Pretendard-Bold.0c6f5e225ff28f456183.woff2) format("woff2")}.page-container{color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-base);margin:0 auto;max-width:var(--container-max-width);padding:var(--space-5) 22px 44px}@media (max-width:768px){.page-container{padding:14px 14px 32px}}.page-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.page-subtitle{color:var(--color-text-muted);line-height:1.4;margin:6px 0 0}.data-table,.page-subtitle{font-size:var(--font-size-base)}.data-table{border-collapse:collapse;color:var(--color-text-secondary);width:100%}.data-table thead th{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-3) 10px;text-align:left;white-space:nowrap}.data-table tbody tr,.data-table thead th{border-bottom:1px solid var(--color-border)}.data-table tbody td{padding:11px 10px;vertical-align:middle}@media (max-width:768px){.data-table tbody td,.data-table thead th{padding:9px 8px}}.data-table .cell-numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table .cell-strong{white-space:nowrap}.data-table .cell-link,.data-table .cell-strong{color:var(--color-text);font-weight:var(--font-weight-bold)}.data-table .cell-link{cursor:pointer;text-decoration:none;transition:color .12s}.data-table .cell-link:hover{color:var(--color-accent-strong)}.data-table .cell-empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:3px 10px;white-space:nowrap}.data-table__header-row{border-bottom:1.5px solid var(--color-text);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:left}.data-table__header-row td{padding:14px 10px}@media (max-width:768px){.data-table__header-row td{padding:9px 8px}}.cell-center{text-align:center}.button-outline{background-color:var(--color-surface);border:1.5px solid var(--color-text);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:6px 16px;transition:background-color .12s,color .12s;white-space:nowrap}.button-outline:hover{background-color:var(--color-text);color:var(--color-text-inverse)}.section-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-heavy);letter-spacing:-.01em;margin:0 auto 0 0;white-space:nowrap}.icon-button{align-items:center;background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background-color .12s;width:28px}.icon-button:hover{background-color:var(--color-border-subtle)}.icon-button svg{font-size:18px;height:18px;width:18px}.cell-nowrap{white-space:nowrap}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-base)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.11a23e5e.css.map*/