.sidebar{width:220px;min-height:100dvh;background:var(--coal-900);border-right:1px solid var(--coal-800);display:flex;flex-direction:column;padding:1.25rem 0;flex-shrink:0}.sidebar__header{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;border-bottom:1px solid var(--coal-800);margin-bottom:1rem}.sidebar__logo{font-family:var(--font-display);font-size:1.25rem;color:var(--coal-50)}.sidebar__badge{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-500);border:1px solid var(--gold-500);border-radius:100px;padding:.15rem .5rem}.sidebar__nav{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}.sidebar__link{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.875rem;font-weight:500;color:var(--coal-400);text-decoration:none;border-radius:8px;transition:all .15s ease}.sidebar__link:hover{color:var(--coal-100);background:var(--coal-800)}.sidebar__link--active{color:var(--gold-400);background:var(--gold-glow)}.sidebar__icon{width:18px;height:18px;flex-shrink:0}.sidebar__footer{padding:.75rem;border-top:1px solid var(--coal-800);margin-top:auto}.sidebar__logout{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--coal-500);background:none;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.sidebar__logout:hover{color:var(--error);background:var(--error-dim)}.layout{display:flex;min-height:100dvh}.layout__main{flex:1;min-width:0;padding:2rem;overflow-y:auto}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;opacity:0;transition:opacity .6s var(--ease-out-expo)}.login-page--mounted{opacity:1}.login-hero{position:relative;display:flex;align-items:center;justify-content:center;background:var(--coal-900);overflow:hidden}.login-hero__noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-size:256px 256px;pointer-events:none;z-index:1}.login-hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:1px;padding:3rem;opacity:.4}.login-hero__cell{border:1px solid var(--coal-800);border-radius:2px;opacity:0;animation:cellFadeIn .8s var(--ease-out-expo) forwards}.login-hero__cell:nth-child(8n+1){border-color:var(--gold-500);opacity:0;animation-delay:.2s}.login-hero__cell:nth-child(11){background:var(--gold-glow);border-color:var(--gold-500)}.login-hero__cell:nth-child(22){background:var(--gold-glow);border-color:var(--gold-500)}.login-hero__cell:nth-child(37){background:var(--gold-glow);border-color:var(--gold-500)}.login-hero__cell:nth-child(54){background:var(--gold-glow);border-color:var(--gold-500)}.login-hero__cell:nth-child(45){background:var(--gold-glow);border-color:var(--gold-500)}@keyframes cellFadeIn{to{opacity:1}}.login-hero__content{position:relative;z-index:2;text-align:center;animation:heroSlideUp 1s var(--ease-out-expo) .3s both}@keyframes heroSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-hero__badge{display:inline-block;padding:.35rem 1rem;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-500);border:1px solid var(--gold-500);border-radius:100px;margin-bottom:2rem}.login-hero__title{font-family:var(--font-display);font-size:clamp(4rem,8vw,7rem);font-weight:400;color:var(--coal-50);line-height:.9;letter-spacing:-.02em;margin-bottom:1rem}.login-hero__subtitle{font-family:var(--font-body);font-size:.95rem;font-weight:400;color:var(--coal-400);letter-spacing:.04em}.login-hero__line{width:48px;height:2px;background:linear-gradient(90deg,var(--gold-500),transparent);margin:1.5rem auto 0;border-radius:2px}.login-hero__corner{position:absolute;width:48px;height:48px;z-index:2}.login-hero__corner--tl{top:2rem;left:2rem;border-top:2px solid var(--gold-500);border-left:2px solid var(--gold-500)}.login-hero__corner--br{bottom:2rem;right:2rem;border-bottom:2px solid var(--gold-500);border-right:2px solid var(--gold-500)}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:3rem;background:var(--coal-950);position:relative}.login-form-panel:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:linear-gradient(to bottom,transparent,var(--coal-700) 30%,var(--gold-glow-strong) 50%,var(--coal-700) 70%,transparent)}.login-form-wrapper{width:100%;max-width:380px;animation:formSlideIn .8s var(--ease-out-expo) .5s both}@keyframes formSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.login-form-header{margin-bottom:2.5rem}.login-form-header__dot{display:block;width:8px;height:8px;background:var(--gold-500);border-radius:50%;margin-bottom:1.25rem;box-shadow:0 0 12px var(--gold-glow-strong)}.login-form-header__title{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--coal-50);margin-bottom:.5rem}.login-form-header__desc{font-size:.875rem;color:var(--coal-400);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field__label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coal-400);margin-bottom:.5rem}.login-field__input-wrap{position:relative;display:flex;align-items:center}.login-field__icon{position:absolute;left:1rem;width:18px;height:18px;color:var(--coal-500);pointer-events:none;transition:color .3s ease}.login-field__input-wrap:focus-within .login-field__icon{color:var(--gold-500)}.login-field__input{width:100%;padding:.875rem 1rem .875rem 2.75rem;font-family:var(--font-body);font-size:.9375rem;color:var(--coal-100);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:10px;outline:none;transition:all .3s ease}.login-field__input::placeholder{color:var(--coal-600)}.login-field__input:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px var(--gold-glow),0 0 24px var(--gold-glow);background:var(--coal-800)}.login-field__toggle{position:absolute;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--coal-500);border-radius:6px;transition:all .2s ease}.login-field__toggle svg{width:18px;height:18px}.login-field__toggle:hover{color:var(--coal-300);background:var(--coal-800)}.login-error{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.8125rem;color:var(--error);background:var(--error-dim);border:1px solid rgba(232,84,84,.2);border-radius:10px;animation:errorShake .4s ease}.login-error svg{width:16px;height:16px;flex-shrink:0}@keyframes errorShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.login-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.95rem 1.5rem;margin-top:.5rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));border:none;border-radius:10px;cursor:pointer;overflow:hidden;transition:all .3s var(--ease-out-expo)}.login-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.login-submit:hover:not(:disabled):before{transform:translate(100%)}.login-submit:hover:not(:disabled){box-shadow:0 4px 24px var(--gold-glow-strong),0 0 48px var(--gold-glow);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.4;cursor:not-allowed}.login-submit__arrow{width:18px;height:18px;transition:transform .3s var(--ease-out-expo)}.login-submit:hover:not(:disabled) .login-submit__arrow{transform:translate(3px)}.login-submit__spinner{width:20px;height:20px;border:2px solid rgba(10,10,11,.2);border-top-color:var(--coal-950);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{display:flex;align-items:center;gap:1rem;margin-top:3rem}.login-footer__line{flex:1;height:1px;background:var(--coal-800)}.login-footer__text{font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--coal-600);white-space:nowrap}@media(max-width:900px){.login-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-hero{min-height:220px;padding:2rem}.login-hero__grid{padding:1.5rem;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(4,1fr)}.login-hero__title{font-size:3rem}.login-hero__corner--tl{top:1rem;left:1rem;width:32px;height:32px}.login-hero__corner--br{bottom:1rem;right:1rem;width:32px;height:32px}.login-form-panel:before{display:none}.login-form-panel{padding:2rem 1.5rem 3rem}}.test-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.test-list__title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--coal-50)}.test-list__create-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));text-decoration:none;border-radius:8px;transition:all .2s ease}.test-list__create-btn:hover{box-shadow:0 4px 16px var(--gold-glow-strong);transform:translateY(-1px)}.test-list__filters{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.test-list__segmented{display:inline-flex;background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;overflow:hidden}.test-list__seg-btn{padding:.45rem .85rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--coal-400);background:none;border:none;cursor:pointer;transition:all .15s ease}.test-list__seg-btn:hover{color:var(--coal-200)}.test-list__seg-btn--active{color:var(--gold-400);background:var(--gold-glow)}.test-list__select{padding:.45rem .75rem;font-family:var(--font-body);font-size:.75rem;color:var(--coal-200);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;outline:none;cursor:pointer}.test-list__select:focus{border-color:var(--gold-500)}.test-list__table-wrap{border:1px solid var(--coal-800);border-radius:10px;overflow:hidden}.test-list__table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.4}.test-list__table th{padding:.75rem .85rem;text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--coal-500);background:var(--coal-900);border-bottom:1px solid var(--coal-800)}.test-list__row{cursor:pointer;transition:background .1s ease}.test-list__row:hover{background:var(--coal-900)}.test-list__table td{padding:.7rem .85rem;color:var(--coal-200);border-bottom:1px solid var(--coal-800)}.test-list__cell--title{color:var(--coal-100);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-list__cell--num{color:var(--coal-500);text-align:center}.test-list__cell--type{font-size:.75rem;color:var(--coal-400)}.test-list__cell--date{color:var(--coal-500);font-size:.75rem}.test-list__cell--actions{display:flex;gap:.35rem}.test-list__badge{display:inline-block;padding:.15rem .5rem;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:4px}.test-list__badge--reading{color:#6ee7b7;background:#6ee7b71a}.test-list__badge--listening{color:#93c5fd;background:#93c5fd1a}.test-list__status{font-size:.75rem;color:var(--coal-500)}.test-list__status--pub{color:var(--success)}.test-list__action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.7rem;background:var(--coal-800);color:var(--coal-400);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.test-list__action-btn:hover{color:var(--coal-100);border-color:var(--coal-600)}.test-list__action-btn--danger:hover{color:var(--error);border-color:var(--error);background:var(--error-dim)}.test-list__pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.test-list__page-btn{padding:.4rem .8rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-300);background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.test-list__page-btn:hover:not(:disabled){color:var(--coal-100);border-color:var(--coal-600)}.test-list__page-btn:disabled{opacity:.3;cursor:not-allowed}.test-list__page-info{font-size:.8125rem;color:var(--coal-500)}.test-list__loading,.test-list__empty{text-align:center;padding:3rem;color:var(--coal-500);font-size:.875rem}.test-create{max-width:520px}.test-create__back{display:inline-flex;align-items:center;font-size:.8125rem;color:var(--coal-400);text-decoration:none;margin-bottom:1.5rem;transition:color .15s ease}.test-create__back:hover{color:var(--coal-200)}.test-create__title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--coal-50);margin-bottom:2rem}.test-create__form{display:flex;flex-direction:column;gap:1.5rem}.test-create__label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coal-400);margin-bottom:.5rem}.test-create__input,.test-create__select{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--coal-100);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;outline:none;transition:all .2s ease}.test-create__input::placeholder{color:var(--coal-600)}.test-create__input:focus,.test-create__select:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px var(--gold-glow)}.test-create__radio-group{display:flex;gap:.5rem}.test-create__radio{flex:1;display:flex;align-items:center;justify-content:center;padding:.6rem 1rem;font-size:.8125rem;font-weight:500;color:var(--coal-400);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;cursor:pointer;transition:all .15s ease}.test-create__radio input{display:none}.test-create__radio:hover{color:var(--coal-200);border-color:var(--coal-600)}.test-create__radio--active{color:var(--gold-400);border-color:var(--gold-500);background:var(--gold-glow)}.test-create__toggle-wrap{display:flex;align-items:center;gap:.6rem;cursor:pointer}.test-create__checkbox{accent-color:var(--gold-500)}.test-create__toggle-label{font-size:.875rem;color:var(--coal-200)}.test-create__toggle-hint{font-size:.75rem;color:var(--coal-500)}.test-create__error{padding:.6rem .85rem;font-size:.8125rem;color:var(--error);background:var(--error-dim);border:1px solid rgba(232,84,84,.2);border-radius:8px}.test-create__submit{padding:.75rem 1.5rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.test-create__submit:hover:not(:disabled){box-shadow:0 4px 16px var(--gold-glow-strong);transform:translateY(-1px)}.test-create__submit:disabled{opacity:.4;cursor:not-allowed}.rte{position:relative;border:1px solid var(--coal-700);border-radius:6px;background:var(--coal-950);transition:border-color .15s ease}.rte:focus-within{border-color:var(--gold-500)}.rte-toolbar{display:flex;align-items:center;gap:3px;padding:5px 8px;border-bottom:1px solid var(--coal-800);background:var(--coal-900);border-radius:6px 6px 0 0;flex-wrap:wrap}.rte-toolbar__btn{min-width:30px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--coal-400);background:none;border:none;border-radius:4px;cursor:pointer;transition:all .1s ease;font-family:var(--font-body);padding:0 4px}.rte-toolbar__btn:hover{color:var(--coal-200);background:var(--coal-800)}.rte-toolbar__btn--active{color:var(--gold-400);background:var(--gold-glow)}.rte-toolbar__btn--wide{min-width:36px;padding:0 5px}.rte-toolbar__btn--heading{font-weight:700;font-size:.8rem}.rte-toolbar__sep{width:1px;height:18px;background:var(--coal-700);margin:0 4px;flex-shrink:0}.rte-toolbar__icon-highlight{background:#facc1559;padding:1px 5px;border-radius:2px;font-weight:700;font-size:.75rem;line-height:1.4}.rte-toolbar__icon-link{font-size:.9rem;line-height:1}.rte-toolbar__icon-list{font-size:.8rem;letter-spacing:-1px;font-weight:700}.rte-toolbar__icon-sub,.rte-toolbar__icon-sup{font-size:.85rem;font-weight:600;line-height:1}.rte-toolbar__icon-sub sub,.rte-toolbar__icon-sup sup{font-size:.6em}.rte-content{padding:.5rem .65rem;min-height:60px}.rte-content--inline{min-height:unset;padding:.35rem .65rem}.rte-content .tiptap{outline:none;font-family:var(--font-body);font-size:.875rem;line-height:1.55;color:var(--coal-100)}.rte-content .tiptap p{margin:0}.rte-content .tiptap p+p{margin-top:.4em}.rte-content--inline .tiptap p+p{margin-top:0}.rte-content .tiptap h1{font-size:1.4rem;font-weight:700;margin:.6em 0 .3em;color:var(--coal-100);line-height:1.3}.rte-content .tiptap h1:first-child{margin-top:0}.rte-content .tiptap h2{font-size:1.15rem;font-weight:600;margin:.5em 0 .25em;color:var(--coal-100);line-height:1.35}.rte-content .tiptap h2:first-child{margin-top:0}.rte-content .tiptap h3{font-size:1rem;font-weight:600;margin:.4em 0 .2em;color:var(--coal-200);line-height:1.4}.rte-content .tiptap h3:first-child{margin-top:0}.rte-content .tiptap mark{background:#facc1559;color:inherit;padding:0 2px;border-radius:2px}.rte-content .tiptap a{color:var(--gold-400);text-decoration:underline;text-underline-offset:2px;cursor:text}.rte-content .tiptap img.rte-image,.rte-content .tiptap img{max-width:100%;height:auto;display:block;margin:.5em 0;border-radius:4px}.rte-content .tiptap img.ProseMirror-selectednode{outline:2px solid var(--gold-500)}.rte-content .tiptap ul,.rte-content .tiptap ol{margin:.3em 0;padding-left:1.4em}.rte-content .tiptap li,.rte-content .tiptap li p{margin:0}.rte-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;padding:42px .65rem 0;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-600);pointer-events:none}.rte-placeholder--inline{padding-top:42px}.rte--large .rte-content{min-height:200px;padding:1rem 1.25rem 1.5rem}.rte--large .rte-content .tiptap{font-size:1.0625rem;line-height:1.72;color:var(--coal-100);max-width:68ch;margin:0 auto}.rte--large .rte-content .tiptap p+p{margin-top:1em}.test-editor{max-width:900px;padding-bottom:5rem}.test-editor__loading{text-align:center;padding:4rem;color:var(--coal-500)}.test-editor__top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.test-editor__back{font-size:.8125rem;color:var(--coal-400);text-decoration:none;transition:color .15s ease}.test-editor__back:hover{color:var(--coal-200)}.test-editor__top-actions{display:flex;align-items:center;gap:.75rem}.test-editor__error{font-size:.75rem;color:var(--error);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-editor__dirty-dot{width:8px;height:8px;background:var(--gold-500);border-radius:50%;flex-shrink:0}.test-editor__publish-btn{padding:.4rem .85rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--coal-400);background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.test-editor__publish-btn:hover{border-color:var(--coal-600);color:var(--coal-200)}.test-editor__publish-btn--active{color:var(--success);border-color:#4ade804d;background:#4ade8014}.test-editor__save-btn{padding:.5rem 1.25rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.test-editor__save-btn:hover:not(:disabled){box-shadow:0 4px 16px var(--gold-glow-strong)}.test-editor__save-btn:disabled{opacity:.4;cursor:not-allowed}.test-editor__section{background:var(--coal-900);border:1px solid var(--coal-800);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.test-editor__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.test-editor__section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--coal-100);margin-bottom:.75rem}.test-editor__section-header .test-editor__section-title{margin-bottom:0}.test-editor__count{font-family:var(--font-body);font-size:.75rem;color:var(--coal-500);margin-left:.5rem}.test-editor__title-input{width:100%;padding:.5rem 0;font-family:var(--font-display);font-size:1.5rem;color:var(--coal-50);background:transparent;border:none;border-bottom:1px solid var(--coal-800);outline:none;transition:border-color .2s ease;margin-bottom:.75rem}.test-editor__title-input:focus{border-color:var(--gold-500)}.test-editor__title-input::placeholder{color:var(--coal-600)}.test-editor__badges{display:flex;gap:.5rem;flex-wrap:wrap}.test-editor__badge{display:inline-block;padding:.2rem .6rem;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:4px}.test-editor__badge--reading{color:#6ee7b7;background:#6ee7b71a}.test-editor__badge--listening{color:#93c5fd;background:#93c5fd1a}.test-editor__badge--type{color:var(--gold-400);background:var(--gold-glow)}.test-editor__badge--mock{color:var(--coal-400);background:var(--coal-800)}.test-editor__content-textarea{width:100%;padding:.75rem;font-family:var(--font-body);font-size:.8125rem;line-height:1.65;color:var(--coal-200);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:8px;outline:none;resize:vertical;min-height:200px;transition:border-color .2s ease}.test-editor__content-textarea:focus{border-color:var(--gold-500);box-shadow:0 0 0 2px var(--gold-glow)}.test-editor__content-input{width:100%;padding:.75rem;font-family:var(--font-body);font-size:.875rem;color:var(--coal-200);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:8px;outline:none}.test-editor__content-input:focus{border-color:var(--gold-500)}.test-editor__add-group-btn{padding:.4rem .85rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--gold-400);background:var(--gold-glow);border:1px solid rgba(200,164,85,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.test-editor__add-group-btn:hover{background:var(--gold-glow-strong)}.test-editor__groups{display:flex;flex-direction:column;gap:1rem}.test-editor__empty-groups{text-align:center;padding:2rem;color:var(--coal-500);font-size:.875rem}.test-editor__floating-save{position:fixed;bottom:2rem;right:2rem;z-index:100;animation:floatIn .3s var(--ease-out-expo)}@keyframes floatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.group-card{background:var(--coal-950);border:1px solid var(--coal-700);border-radius:10px;overflow:hidden}.group-card__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--coal-900);border-bottom:1px solid var(--coal-800)}.group-card__header-left{display:flex;align-items:center;gap:.5rem}.group-card__arrows{display:flex;flex-direction:column;gap:2px}.group-card__arrow-btn{width:20px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.6rem;background:var(--coal-800);color:var(--coal-500);border:none;border-radius:3px;cursor:pointer}.group-card__arrow-btn:hover:not(:disabled){color:var(--coal-200);background:var(--coal-700)}.group-card__arrow-btn:disabled{opacity:.3;cursor:not-allowed}.group-card__collapse-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.6rem;background:none;color:var(--coal-500);border:none;cursor:pointer}.group-card__title{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--coal-200)}.group-card__question-count{font-weight:400;font-size:.75rem;color:var(--coal-500);margin-left:.5rem}.group-card__delete{padding:.3rem .65rem;font-family:var(--font-body);font-size:.7rem;color:var(--coal-500);background:none;border:1px solid var(--coal-700);border-radius:4px;cursor:pointer;transition:all .15s ease}.group-card__delete:hover{color:var(--error);border-color:var(--error);background:var(--error-dim)}.group-card__body{padding:1rem}.group-card__section{margin-bottom:1rem}.group-card__section:last-child{margin-bottom:0}.group-data-form__empty{font-size:.8125rem;color:var(--coal-500);font-style:italic}.qt-group-data{display:flex;flex-direction:column;gap:.6rem}.qt-group-data__label{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--coal-400);margin-top:.25rem}.qt-group-data__list-row{display:flex;align-items:center;gap:.5rem}.qt-group-data__list-id{width:32px;text-align:center;font-size:.75rem;font-weight:600;color:var(--coal-400);flex-shrink:0}.qt-group-data__mode-toggle{display:flex;gap:1.25rem;flex-wrap:wrap}.qt-group-data__mode-option{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.qt-group-data__hint{font-size:.8rem;color:var(--coal-400);margin:0;padding:.5rem .75rem;border-left:2px solid var(--coal-700);background:#ffffff05}.question-card{background:var(--coal-900);border:1px solid var(--coal-800);border-radius:8px;margin-bottom:.5rem}.question-card__header{display:flex;align-items:center;padding:.5rem .75rem;gap:.5rem;border-bottom:1px solid var(--coal-800)}.question-card__arrows{display:flex;gap:2px}.question-card__arrow-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.65rem;background:var(--coal-800);color:var(--coal-500);border:none;border-radius:4px;cursor:pointer}.question-card__arrow-btn:hover:not(:disabled){color:var(--coal-200)}.question-card__arrow-btn:disabled{opacity:.3;cursor:not-allowed}.question-card__num{font-size:.7rem;font-weight:600;color:var(--gold-400);flex:1;display:flex;align-items:center;gap:2px}.question-card__num-input{width:48px;padding:2px 4px;font-size:.7rem;font-weight:600;color:var(--gold-400);background:transparent;border:1px solid transparent;border-radius:4px;font-family:inherit;-moz-appearance:textfield}.question-card__num-input:hover,.question-card__num-input:focus{border-color:var(--coal-700);outline:none;background:var(--coal-900)}.question-card__num-input::-webkit-outer-spin-button,.question-card__num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.question-card__delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--coal-500);background:none;border:none;cursor:pointer;border-radius:4px;transition:all .15s ease}.question-card__delete:hover{color:var(--error);background:var(--error-dim)}.question-card__body{padding:.75rem}.question-list__add-btn{width:100%;padding:.5rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--coal-400);background:none;border:1px dashed var(--coal-700);border-radius:8px;cursor:pointer;transition:all .15s ease;margin-top:.5rem}.question-list__add-btn:hover{color:var(--gold-400);border-color:var(--gold-500);background:var(--gold-glow)}.qt-fields{display:flex;flex-direction:column;gap:.5rem}.qt-fields__textarea{width:100%;padding:.5rem .65rem;font-family:var(--font-body);font-size:.8125rem;line-height:1.5;color:var(--coal-200);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:6px;outline:none;resize:vertical;transition:border-color .15s ease}.qt-fields__textarea:focus{border-color:var(--gold-500)}.qt-fields__input{width:100%;padding:.45rem .65rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-200);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:6px;outline:none;transition:border-color .15s ease}.qt-fields__input:focus{border-color:var(--gold-500)}.qt-fields__input::placeholder{color:var(--coal-600)}.qt-fields__input--small{flex:1}.qt-fields__select{width:100%;padding:.45rem .65rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-200);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:6px;outline:none}.qt-fields__select:focus{border-color:var(--gold-500)}.qt-fields__row{display:flex;align-items:center;gap:.5rem}.qt-fields__mini-label{font-size:.7rem;font-weight:500;color:var(--coal-500);white-space:nowrap;min-width:80px}.qt-fields__inline-label{font-size:.75rem;font-weight:600;color:var(--coal-400)}.qt-fields__segmented{display:inline-flex;background:var(--coal-950);border:1px solid var(--coal-700);border-radius:6px;overflow:hidden}.qt-fields__seg-btn{padding:.35rem .65rem;font-family:var(--font-body);font-size:.7rem;font-weight:500;color:var(--coal-400);background:none;border:none;cursor:pointer;transition:all .1s ease}.qt-fields__seg-btn:hover{color:var(--coal-200)}.qt-fields__seg-btn--active{color:var(--gold-400);background:var(--gold-glow)}.qt-fields__options{display:flex;flex-direction:column;gap:.35rem}.qt-fields__option-row{display:flex;align-items:center;gap:.4rem}.qt-fields__option-select{display:flex;align-items:center;gap:.25rem;cursor:pointer}.qt-fields__option-select input{accent-color:var(--gold-500)}.qt-fields__option-id{font-size:.7rem;font-weight:600;color:var(--coal-400);width:16px}.qt-fields__option-actions{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.qt-fields__multi-toggle{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--coal-500);cursor:pointer}.qt-fields__multi-toggle input{accent-color:var(--gold-500)}.qt-fields__chips-wrap{display:flex;flex-direction:column;gap:.35rem}.qt-fields__chips{display:flex;flex-wrap:wrap;gap:.3rem}.qt-fields__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;color:var(--coal-200);background:var(--coal-800);border-radius:4px}.qt-fields__chip button{font-size:.6rem;color:var(--coal-500);background:none;border:none;cursor:pointer;padding:0;line-height:1}.qt-fields__chip button:hover{color:var(--error)}.qt-fields__chip-input-row{display:flex;gap:.35rem}.qt-fields__add-btn{padding:.3rem .65rem;font-family:var(--font-body);font-size:.7rem;font-weight:500;color:var(--coal-400);background:none;border:1px dashed var(--coal-700);border-radius:4px;cursor:pointer;transition:all .15s ease}.qt-fields__add-btn:hover{color:var(--gold-400);border-color:var(--gold-500)}.qt-fields__remove-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--coal-500);background:none;border:none;cursor:pointer;border-radius:4px;flex-shrink:0}.qt-fields__remove-btn:hover{color:var(--error);background:var(--error-dim)}.qt-fields__answer-block{margin-top:.5rem;padding:.65rem .75rem;background:#4ade800a;border:1px solid rgba(74,222,128,.15);border-radius:8px;display:flex;flex-direction:column;gap:.4rem}.qt-fields__answer-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--success)}.qt-fields__answer-sub-label{font-size:.65rem;font-weight:500;color:var(--coal-500);margin-top:.25rem}.qt-fields__input--answer{border-color:#4ade8040;background:var(--coal-900)}.qt-fields__input--answer:focus{border-color:var(--success);box-shadow:0 0 0 2px #4ade801a}.qt-fields__select--answer{border-color:#4ade8040;background:var(--coal-900)}.qt-fields__select--answer:focus{border-color:var(--success)}.qt-fields__select--small{flex:1}.qt-fields__answer-options{display:flex;flex-wrap:wrap;gap:.35rem}.qt-fields__answer-choice{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.75rem;font-weight:500;color:var(--coal-400);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.qt-fields__answer-choice input{display:none}.qt-fields__answer-choice:hover{color:var(--coal-200);border-color:var(--coal-600)}.qt-fields__answer-choice--selected{color:var(--success);background:#4ade8014;border-color:#4ade8066;font-weight:600}.audio-upload{display:flex;flex-direction:column;gap:.75rem}.audio-upload__player{width:100%;border-radius:8px;outline:none}.audio-upload__actions{display:flex;gap:.5rem}.audio-upload__replace-btn,.audio-upload__browse-btn{padding:.4rem .85rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--gold-400);background:var(--gold-glow);border:1px solid rgba(200,164,85,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.audio-upload__replace-btn:hover,.audio-upload__browse-btn:hover{background:var(--gold-glow-strong)}.audio-upload__delete-btn{padding:.4rem .85rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--coal-500);background:none;border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.audio-upload__delete-btn:hover{color:var(--error);border-color:var(--error);background:var(--error-dim)}.audio-upload__dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;border:2px dashed var(--coal-700);border-radius:10px;text-align:center;transition:all .2s ease}.audio-upload__dropzone:hover{border-color:var(--coal-600)}.audio-upload__dropzone--uploading{opacity:.6;pointer-events:none}.audio-upload__dropzone-text{font-size:.8125rem;color:var(--coal-400)}.audio-upload__hint{font-size:.7rem;color:var(--coal-600)}.audio-upload__error{font-size:.75rem;color:var(--error)}.image-upload{display:flex;flex-direction:column;gap:.5rem}.image-upload__list{display:flex;flex-wrap:wrap;gap:.5rem}.image-upload__item{position:relative;width:100px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--coal-700)}.image-upload__thumb{width:100%;height:100%;object-fit:cover}.image-upload__remove{position:absolute;top:2px;right:2px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#fff;background:#0009;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s ease}.image-upload__item:hover .image-upload__remove{opacity:1}.image-upload__remove:hover{background:var(--error)}.image-upload__actions{display:flex;gap:.5rem;flex-wrap:wrap}.image-upload__add-btn{padding:.3rem .65rem;font-family:var(--font-body);font-size:.7rem;font-weight:500;color:var(--coal-400);background:none;border:1px dashed var(--coal-700);border-radius:4px;cursor:pointer;transition:all .15s ease;align-self:flex-start}.image-upload__add-btn:hover{color:var(--gold-400);border-color:var(--gold-500)}.image-upload__add-btn:disabled{opacity:.5;cursor:not-allowed}.image-upload__error{font-size:.75rem;color:var(--error)}.mock-list{max-width:1280px}.mock-list__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:2.25rem;padding-bottom:1.5rem;border-bottom:1px solid var(--coal-800)}.mock-list__title{font-family:var(--font-display);font-size:2.625rem;font-weight:400;letter-spacing:-.02em;color:var(--coal-50);margin-bottom:.4rem;line-height:1}.mock-list__sub{font-size:.8125rem;color:var(--coal-400);max-width:540px;line-height:1.55}.mock-list__sub-em{color:var(--coal-200);font-variant-numeric:tabular-nums;border-bottom:1px dotted var(--coal-600);padding-bottom:1px}.mock-list__create-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:var(--gold-500);color:var(--coal-950);border:1px solid var(--gold-500);border-radius:999px;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .2s var(--ease-out-expo);box-shadow:0 0 0 0 var(--gold-glow)}.mock-list__create-btn:hover{background:var(--gold-400);border-color:var(--gold-400);box-shadow:0 0 0 4px var(--gold-glow);transform:translateY(-1px)}.mock-list__filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.mock-list__segmented{display:inline-flex;background:var(--coal-900);border:1px solid var(--coal-800);border-radius:8px;padding:2px}.mock-list__seg-btn{padding:.4rem .85rem;background:transparent;border:none;color:var(--coal-400);font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.02em;border-radius:6px;cursor:pointer;transition:all .15s ease}.mock-list__seg-btn:hover{color:var(--coal-200)}.mock-list__seg-btn--active{background:var(--coal-800);color:var(--coal-50)}.mock-list__loading,.mock-list__empty{padding:6rem 2rem;text-align:center;color:var(--coal-500);border:1px dashed var(--coal-800);border-radius:12px}.mock-list__empty-mark{font-family:var(--font-display);font-size:4rem;color:var(--coal-700);margin-bottom:.5rem;line-height:1}.mock-list__empty p{margin-bottom:1rem;color:var(--coal-400)}.mock-list__empty-cta{display:inline-block;padding:.5rem 1.2rem;color:var(--gold-300);border-bottom:1px dashed var(--gold-500);text-decoration:none;font-size:.875rem}.mock-list__empty-cta:hover{color:var(--gold-200)}.mock-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.mock-card{position:relative;display:flex;flex-direction:column;padding:1.4rem 1.4rem 1.2rem;background:radial-gradient(circle at 0% 0%,rgba(219,168,91,.04) 0%,transparent 50%),var(--coal-900);border:1px solid var(--coal-800);border-radius:12px;cursor:pointer;overflow:hidden;transition:all .25s var(--ease-out-expo);isolation:isolate}.mock-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(232,221,208,.025) 1px,transparent 0);background-size:14px 14px;pointer-events:none;opacity:.5;z-index:0}.mock-card>*{position:relative;z-index:1}.mock-card:hover{border-color:var(--coal-600);transform:translateY(-2px);box-shadow:0 12px 28px -12px #00000073}.mock-card--published{border-color:#88c66e40}.mock-card__ribbon{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--coal-700) 50%,transparent 100%);opacity:.5}.mock-card__ribbon.ready{background:linear-gradient(90deg,transparent 0%,var(--gold-400) 50%,transparent 100%);opacity:1;box-shadow:0 0 12px var(--gold-glow-strong)}.mock-card__head{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em}.mock-card__skill{padding:.18rem .55rem;border-radius:4px;font-weight:600;letter-spacing:.1em}.mock-card__skill--reading{color:#e5b870;background:#e5b8701a;border:1px solid rgba(229,184,112,.2)}.mock-card__skill--listening{color:#88c66e;background:#88c66e1a;border:1px solid rgba(136,198,110,.2)}.mock-card__limit{display:inline-flex;align-items:center;gap:.3rem;color:var(--coal-400);font-variant-numeric:tabular-nums}.mock-card__status{margin-left:auto;color:var(--coal-500);font-size:.625rem}.mock-card__status.is-pub{color:var(--success)}.mock-card__title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:-.015em;color:var(--coal-50);line-height:1.15;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.4rem}.mock-card__meter{display:flex;gap:.5rem;margin-bottom:1.25rem}.mock-card__pill{flex:1;display:flex;flex-direction:column;align-items:center;padding:.55rem .4rem .45rem;border:1px solid var(--coal-700);border-radius:8px;background:#221e1a80;transition:all .2s ease}.mock-card__pill.ok{border-color:#dba85b59;background:#dba85b0f}.mock-card__pill-num{font-family:var(--font-mono);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--coal-400);line-height:1;margin-bottom:.2rem}.mock-card__pill.ok .mock-card__pill-num{color:var(--gold-300)}.mock-card__pill-label{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coal-500)}.mock-card__foot{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px dashed var(--coal-800)}.mock-card__date{font-family:var(--font-mono);font-size:.6875rem;color:var(--coal-500);letter-spacing:.04em}.mock-card__actions{display:flex;gap:.35rem}.mock-card__act{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--coal-700);border-radius:6px;color:var(--coal-400);font-size:.7rem;cursor:pointer;transition:all .15s ease}.mock-card__act:hover:not(:disabled){border-color:var(--coal-500);color:var(--coal-100)}.mock-card__act:disabled{opacity:.4;cursor:not-allowed}.mock-card__act--ready{border-color:#dba85b66;color:var(--gold-300)}.mock-card__act--ready:hover:not(:disabled){background:var(--gold-glow);border-color:var(--gold-400);color:var(--gold-200)}.mock-card__act--danger:hover{color:var(--error);border-color:var(--error)}.mock-list__pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.mock-list__page-btn{width:32px;height:32px;background:var(--coal-800);border:1px solid var(--coal-700);color:var(--coal-300);border-radius:6px;cursor:pointer;transition:all .15s ease}.mock-list__page-btn:hover:not(:disabled){border-color:var(--coal-500);color:var(--coal-100)}.mock-list__page-btn:disabled{opacity:.3;cursor:not-allowed}.mock-list__page-info{font-family:var(--font-mono);font-size:.8125rem;color:var(--coal-400);font-variant-numeric:tabular-nums}.mock-create{max-width:640px;padding-bottom:6rem}.mock-create__back{display:inline-block;font-size:.8125rem;color:var(--coal-400);text-decoration:none;margin-bottom:2.5rem;transition:color .15s ease}.mock-create__back:hover{color:var(--coal-200)}.mock-create__hero{text-align:left;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--coal-800);position:relative}.mock-create__hero-mark{font-family:var(--font-display);font-size:5.5rem;font-weight:400;line-height:.85;color:var(--coal-800);letter-spacing:-.04em;margin-bottom:.4rem;-webkit-user-select:none;user-select:none;text-shadow:1px 0 0 var(--coal-900),-1px 0 0 var(--coal-900)}.mock-create__title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;line-height:1.05;color:var(--coal-50);margin-bottom:.5rem}.mock-create__sub{font-size:.9rem;color:var(--coal-400);line-height:1.55;max-width:480px}.mock-create__form{display:flex;flex-direction:column;gap:2rem}.mock-create__field{display:flex;flex-direction:column;gap:.6rem}.mock-create__label{display:flex;align-items:baseline;gap:.6rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--coal-200);letter-spacing:.005em}.mock-create__label-num{font-family:var(--font-mono);font-size:.6875rem;color:var(--gold-400);letter-spacing:.08em;font-variant-numeric:tabular-nums}.mock-create__input,.mock-create__time{width:100%;padding:.75rem 1rem;background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;font-family:var(--font-body);font-size:.9375rem;color:var(--coal-50);transition:all .18s ease}.mock-create__input::placeholder{color:var(--coal-500)}.mock-create__input:focus,.mock-create__time:focus{outline:none;border-color:var(--gold-500);background:var(--coal-950);box-shadow:0 0 0 3px var(--gold-glow)}.mock-create__skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mock-create__skill{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 1.1rem .95rem;background:var(--coal-900);border:1px solid var(--coal-700);border-radius:10px;cursor:pointer;transition:all .2s var(--ease-out-expo)}.mock-create__skill input[type=radio]{position:absolute;opacity:0;pointer-events:none}.mock-create__skill:hover{border-color:var(--coal-500)}.mock-create__skill.is-active{border-color:var(--gold-500);background:#dba85b0d;box-shadow:inset 0 0 0 1px var(--gold-glow-strong)}.mock-create__skill.is-active:after{content:"";position:absolute;top:.7rem;right:.85rem;width:8px;height:8px;border-radius:50%;background:var(--gold-400);box-shadow:0 0 8px var(--gold-glow-strong)}.mock-create__skill-label{font-family:var(--font-display);font-size:1.4rem;font-weight:400;letter-spacing:-.01em;color:var(--coal-50);line-height:1}.mock-create__skill-meta{display:flex;gap:.3rem;font-family:var(--font-mono);font-size:.6875rem;color:var(--coal-400);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums}.mock-create__skill-dot{opacity:.5}.mock-create__time-row{display:grid;grid-template-columns:110px 1fr;gap:.85rem;align-items:start}.mock-create__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center}.mock-create__time-hint{font-size:.75rem;color:var(--coal-500);line-height:1.5;padding-top:.6rem}.mock-create__error{padding:.7rem .9rem;background:var(--error-dim);border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:.8125rem}.mock-create__cta-row{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px dashed var(--coal-800)}.mock-create__cancel{color:var(--coal-400);font-size:.875rem;text-decoration:none;padding:.6rem .5rem;transition:color .15s ease}.mock-create__cancel:hover{color:var(--coal-200)}.mock-create__submit{padding:.75rem 1.5rem;background:var(--gold-500);color:var(--coal-950);border:1px solid var(--gold-500);border-radius:8px;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .2s var(--ease-out-expo)}.mock-create__submit:hover:not(:disabled){background:var(--gold-400);transform:translateY(-1px);box-shadow:0 6px 16px -6px var(--gold-glow-strong)}.mock-create__submit:disabled{opacity:.4;cursor:not-allowed}.mock-editor{max-width:1280px;padding-bottom:6rem}.mock-editor__loading{text-align:center;padding:4rem;color:var(--coal-500)}.mock-editor__top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.mock-editor__back{font-size:.8125rem;color:var(--coal-400);text-decoration:none;transition:color .15s ease}.mock-editor__back:hover{color:var(--coal-200)}.mock-editor__top-actions{display:flex;align-items:center;gap:.75rem}.mock-editor__error{font-size:.75rem;color:var(--error);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-editor__dirty-dot{width:8px;height:8px;background:var(--gold-500);border-radius:50%;box-shadow:0 0 8px var(--gold-glow-strong);animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.55}}.mock-editor__publish-btn{padding:.45rem .95rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--coal-400);background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.mock-editor__publish-btn:hover:not(:disabled){border-color:var(--coal-500);color:var(--coal-200)}.mock-editor__publish-btn:disabled{opacity:.4;cursor:not-allowed}.mock-editor__publish-btn.is-pub{color:var(--success);border-color:#88c66e4d;background:#88c66e14}.mock-editor__save-btn{padding:.45rem 1.1rem;background:var(--gold-500);color:var(--coal-950);border:1px solid var(--gold-500);border-radius:6px;font-family:var(--font-body);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease}.mock-editor__save-btn:hover:not(:disabled){background:var(--gold-400)}.mock-editor__save-btn:disabled{opacity:.35;background:var(--coal-800);border-color:var(--coal-700);color:var(--coal-400);cursor:not-allowed}.mock-editor__publish-error{margin-bottom:1rem;padding:.7rem 1rem;background:var(--error-dim);border:1px solid var(--error);border-radius:6px;color:var(--error);font-size:.8125rem}.mock-editor__header{padding-bottom:1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--coal-800)}.mock-editor__skill-line{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--coal-400)}.mock-editor__skill{padding:.18rem .55rem;border-radius:4px;font-weight:600}.mock-editor__skill--reading{color:#e5b870;background:#e5b8701a;border:1px solid rgba(229,184,112,.2)}.mock-editor__skill--listening{color:#88c66e;background:#88c66e1a;border:1px solid rgba(136,198,110,.2)}.mock-editor__sep{opacity:.4}.mock-editor__time{display:inline-flex;align-items:center;gap:.3rem}.mock-editor__time-input{width:50px;padding:.18rem .3rem;background:var(--coal-900);border:1px solid var(--coal-700);border-radius:4px;color:var(--coal-200);font-family:var(--font-mono);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:center}.mock-editor__time-input:focus{outline:none;border-color:var(--gold-500)}.mock-editor__time-unit{font-family:var(--font-mono);font-size:.6875rem;color:var(--coal-500)}.mock-editor__title-input{width:100%;font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:-.018em;line-height:1.1;color:var(--coal-50);background:transparent;border:none;border-bottom:1px dashed transparent;padding:.2rem 0;transition:border-color .2s ease}.mock-editor__title-input:hover{border-bottom-color:var(--coal-700)}.mock-editor__title-input:focus{outline:none;border-bottom-color:var(--gold-500)}.mock-editor__title-input::placeholder{color:var(--coal-600)}.mock-editor__strip{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--coal-900);border:1px solid var(--coal-800);border-radius:10px;margin-bottom:2rem;flex-wrap:wrap;transition:all .3s ease}.mock-editor__strip.is-ready{border-color:#dba85b66;background:radial-gradient(circle at 100% 50%,var(--gold-glow) 0%,transparent 50%),var(--coal-900);box-shadow:0 0 24px -8px var(--gold-glow-strong)}.mock-editor__strip-pill{display:inline-flex;align-items:baseline;gap:.4rem;padding:.4rem .7rem;background:#221e1a99;border:1px solid var(--coal-700);border-radius:6px;transition:all .2s ease}.mock-editor__strip-pill.ok{border-color:#dba85b59;background:#dba85b0f}.mock-editor__strip-num{font-family:var(--font-mono);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--coal-400)}.mock-editor__strip-pill.ok .mock-editor__strip-num{color:var(--gold-300)}.mock-editor__strip-slash{opacity:.5;margin:0 .1rem}.mock-editor__strip-label{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coal-500)}.mock-editor__strip-status{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--coal-400)}.mock-editor__strip.is-ready .mock-editor__strip-status{color:var(--gold-300);font-weight:600}.mock-editor__audio{margin-bottom:2rem;padding:1.25rem;background:var(--coal-900);border:1px solid var(--coal-800);border-radius:10px}.mock-editor__audio-title{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--coal-400);margin-bottom:.85rem}.mock-editor__columns{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:start}.mock-editor__nav{position:sticky;top:1rem;background:var(--coal-900);border:1px solid var(--coal-800);border-radius:12px;padding:.85rem;max-height:calc(100vh - 2rem);overflow-y:auto}.mock-editor__nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;padding:0 .4rem .6rem;border-bottom:1px dashed var(--coal-800);font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--coal-400)}.mock-editor__nav-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--coal-300);background:var(--coal-800);padding:.1rem .4rem;border-radius:4px;font-size:.625rem}.mock-editor__nav-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}.mock-editor__nav-item{position:relative;width:100%;display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .7rem;background:transparent;border:1px solid transparent;border-radius:8px;text-align:left;color:var(--coal-300);cursor:pointer;transition:all .18s var(--ease-out-expo)}.mock-editor__nav-item:hover{background:var(--coal-800);color:var(--coal-100)}.mock-editor__nav-item.is-active{background:var(--coal-800);border-color:var(--gold-500);box-shadow:inset 3px 0 0 0 var(--gold-500),0 0 0 1px var(--gold-glow);color:var(--coal-50)}.mock-editor__nav-roman{font-family:var(--font-display);font-size:1.7rem;font-weight:400;line-height:.9;color:var(--coal-500);width:1.6rem;text-align:center;flex-shrink:0;letter-spacing:-.02em}.mock-editor__nav-item.is-active .mock-editor__nav-roman{color:var(--gold-300)}.mock-editor__nav-body{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.mock-editor__nav-title{font-family:var(--font-body);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mock-editor__nav-meta{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.04em;color:var(--coal-500);text-transform:uppercase}.mock-editor__nav-dot{width:6px;height:6px;border-radius:50%;background:var(--coal-700);align-self:center;flex-shrink:0}.mock-editor__nav-dot.has-questions{background:var(--gold-400);box-shadow:0 0 6px var(--gold-glow-strong)}.mock-editor__nav-add{margin-top:.4rem;padding:.55rem .7rem;background:transparent;border:1px dashed var(--coal-700);border-radius:8px;color:var(--coal-400);font-family:var(--font-body);font-size:.75rem;cursor:pointer;width:100%;text-align:left;transition:all .15s ease}.mock-editor__nav-add:hover{border-color:var(--gold-500);color:var(--gold-300);background:#dba85b0a}.mock-editor__main{min-width:0}.mock-editor__empty{padding:5rem 2rem;text-align:center;border:1px dashed var(--coal-800);border-radius:12px;color:var(--coal-400)}.mock-editor__empty-roman{font-family:var(--font-display);font-size:4rem;color:var(--coal-700);line-height:1;margin-bottom:1rem}.section-edit{display:flex;flex-direction:column;gap:1.5rem}.section-edit__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--coal-800)}.section-edit__head-left{display:flex;align-items:baseline;gap:.9rem;flex:1;min-width:0}.section-edit__order{font-family:var(--font-display);font-size:2.6rem;font-weight:400;line-height:.85;color:var(--gold-400);letter-spacing:-.02em;flex-shrink:0}.section-edit__title{flex:1;font-family:var(--font-display);font-size:1.6rem;font-weight:400;letter-spacing:-.012em;color:var(--coal-50);background:transparent;border:none;border-bottom:1px dashed transparent;padding:.2rem 0;transition:border-color .2s ease}.section-edit__title:hover{border-bottom-color:var(--coal-700)}.section-edit__title:focus{outline:none;border-bottom-color:var(--gold-500)}.section-edit__title::placeholder{color:var(--coal-600)}.section-edit__head-actions{display:flex;align-items:center;gap:.4rem}.section-edit__counts{margin-right:.5rem;font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--coal-500)}.section-edit__icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--coal-700);border-radius:6px;color:var(--coal-400);cursor:pointer;transition:all .15s ease}.section-edit__icon-btn:hover:not(:disabled){border-color:var(--coal-500);color:var(--coal-100)}.section-edit__icon-btn:disabled{opacity:.3;cursor:not-allowed}.section-edit__icon-btn--danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}.section-edit__block{padding:1.25rem 0}.section-edit__block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.section-edit__block-label{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:var(--coal-400)}.section-edit__block-meta{margin-left:.5rem;color:var(--coal-500);font-weight:400}.section-edit__hint{margin:.4rem 0 .85rem;padding:.55rem .75rem;background:#dba85b0d;border-left:2px solid var(--gold-500);font-size:.75rem;color:var(--coal-300)}.section-edit__add-group-btn{padding:.45rem .85rem;background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;color:var(--coal-200);font-family:var(--font-body);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.section-edit__add-group-btn:hover{border-color:var(--gold-500);color:var(--gold-300)}.section-edit__groups{display:flex;flex-direction:column;gap:1rem}.section-edit__empty-groups{padding:2.5rem 1.5rem;text-align:center;border:1px dashed var(--coal-800);border-radius:8px;color:var(--coal-500);font-size:.875rem}.mock-editor__floating-save{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;animation:floatIn .25s var(--ease-out-expo)}@keyframes floatIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mock-editor__floating-save .mock-editor__save-btn{padding:.7rem 1.4rem;font-size:.9rem;box-shadow:0 8px 24px -8px #0009,0 0 0 4px var(--gold-glow)}@media(max-width:920px){.mock-editor__columns{grid-template-columns:1fr}.mock-editor__nav{position:relative;top:auto;max-height:none}}.providers__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.providers__title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--coal-50)}.providers__add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.providers__add-btn:hover{box-shadow:0 4px 16px var(--gold-glow-strong);transform:translateY(-1px)}.providers__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.providers__card{padding:1.25rem;background:var(--coal-900);border:1px solid var(--coal-800);border-radius:10px;transition:border-color .15s ease}.providers__card:hover{border-color:var(--coal-700)}.providers__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.providers__card-name{font-size:1rem;font-weight:600;color:var(--coal-100)}.providers__card-default{font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-400);background:var(--gold-glow);padding:.15rem .5rem;border-radius:4px}.providers__card-model{font-size:.8125rem;color:var(--coal-400);margin-bottom:.5rem;font-family:monospace}.providers__card-actions{display:flex;gap:.5rem;margin-top:.75rem}.providers__card-btn{padding:.35rem .75rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--coal-300);background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;transition:all .15s ease}.providers__card-btn:hover{color:var(--coal-100);border-color:var(--coal-600)}.providers__card-btn--danger:hover{color:var(--error);border-color:var(--error);background:var(--error-dim)}.providers__card-btn--primary{color:var(--gold-400)}.providers__card-btn--primary:hover{color:var(--gold-300);border-color:var(--gold-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--coal-900);border:1px solid var(--coal-700);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal__title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--coal-50);margin-bottom:1.25rem}.modal__field{margin-bottom:1rem}.modal__label{display:block;font-size:.75rem;font-weight:600;color:var(--coal-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.modal__input,.modal__select,.modal__textarea{width:100%;padding:.55rem .75rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-100);background:var(--coal-950);border:1px solid var(--coal-700);border-radius:8px;outline:none;transition:border-color .15s ease;box-sizing:border-box}.modal__input:focus,.modal__select:focus,.modal__textarea:focus{border-color:var(--gold-500)}.modal__textarea{resize:vertical;min-height:80px;font-family:monospace;font-size:.75rem;line-height:1.5}.modal__textarea--tall{min-height:200px}.modal__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.modal__btn{padding:.55rem 1.25rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease}.modal__btn--cancel{color:var(--coal-400);background:var(--coal-800);border:1px solid var(--coal-700)}.modal__btn--cancel:hover{color:var(--coal-200)}.modal__btn--save{color:var(--coal-950);background:linear-gradient(135deg,var(--gold-400),var(--gold-500));border:none}.modal__btn--save:hover{box-shadow:0 4px 12px var(--gold-glow-strong)}.modal__btn--save:disabled{opacity:.5;cursor:not-allowed}.providers__loading,.providers__empty{text-align:center;padding:3rem;color:var(--coal-500);font-size:.875rem}.providers__has-key{font-size:.75rem;color:var(--success)}.providers__no-key{font-size:.75rem;color:var(--error)}.prompts-intro{margin-bottom:1.75rem;padding:1.1rem 1.35rem;background:var(--coal-950);border:1px solid var(--coal-800);border-radius:10px}.prompts-intro__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.prompts-intro__title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--coal-100);margin:0}.prompts-intro__toggle{padding:.25rem .6rem;font-family:var(--font-body);font-size:.7rem;color:var(--coal-400);background:transparent;border:1px solid var(--coal-700);border-radius:6px;cursor:pointer}.prompts-intro__toggle:hover{color:var(--coal-200);border-color:var(--coal-600)}.prompts-intro__body{margin-top:.85rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem 1.5rem;font-size:.8125rem;color:var(--coal-300);line-height:1.55}@media(max-width:900px){.prompts-intro__body{grid-template-columns:1fr}}.prompts-intro__group-title{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coal-500);margin-bottom:.4rem}.prompts-intro__step{margin:.15rem 0}.prompts-intro__step b{color:var(--gold-400);font-weight:600;font-family:monospace;font-size:.75rem}.prompts-section{margin-bottom:1.75rem}.prompts-section__head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.75rem}.prompts-section__title{font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--coal-100);margin:0}.prompts-section__hint{font-size:.75rem;color:var(--coal-500)}.prompts-section--legacy .prompts-section__title{color:var(--coal-400)}.prompts-card{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:.4rem}.prompts-card__stage{position:absolute;top:.85rem;right:.95rem;font-size:.95rem;color:var(--gold-400);line-height:1}.prompts-card__name{padding-right:1.5rem;font-size:1rem;font-weight:600;color:var(--coal-100)}.prompts-card__code{font-size:.75rem;color:var(--coal-400);font-family:monospace}.prompts-card__desc{font-size:.75rem;color:var(--coal-500);line-height:1.5}.prompts-card__status{font-size:.65rem;letter-spacing:.04em}.prompts-card__status--active{color:var(--success)}.prompts-card__status--inactive{color:var(--error)}.prompts-card--legacy{opacity:.7}.prompt-context{padding:1rem 1.25rem;margin-bottom:1.25rem;background:var(--coal-950);border:1px solid var(--coal-800);border-radius:10px}.prompt-context__stage{display:inline-block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);margin-bottom:.65rem}.prompt-context__row{display:grid;grid-template-columns:130px 1fr;gap:.4rem 1rem;font-size:.8125rem;line-height:1.5;margin-bottom:.35rem}.prompt-context__label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--coal-500);padding-top:.15rem}.prompt-context__value{color:var(--coal-200)}.placeholders{margin-top:.75rem;padding:.85rem 1rem;background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px}.placeholders__title{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coal-300);margin-bottom:.6rem}.placeholders__list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem}@media(max-width:900px){.placeholders__list{grid-template-columns:1fr}}.placeholders__item{display:flex;gap:.5rem;align-items:baseline;font-size:.75rem;line-height:1.45}.placeholders__key{color:var(--gold-400);font-family:monospace;font-size:.7rem;white-space:nowrap}.placeholders__desc{color:var(--coal-400)}.placeholders__empty{font-size:.75rem;color:var(--coal-500)}.clients-list__toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.clients-list__search{flex:1;min-width:240px;padding:.6rem .95rem;font-family:var(--font-body);font-size:.875rem;color:var(--coal-100);background:var(--coal-900);border:1px solid var(--coal-700);border-radius:8px;outline:none;transition:border-color .15s ease}.clients-list__search::placeholder{color:var(--coal-500)}.clients-list__search:focus{border-color:var(--gold-500)}.clients-list__analytics-slot{margin-bottom:1.5rem;padding:1.25rem;border:1px dashed var(--coal-700);border-radius:10px;color:var(--coal-500);font-size:.8125rem;text-align:center;background:var(--coal-900)}.clients-list__cell--muted{color:var(--coal-500)}.clients-detail{max-width:1100px}.clients-detail__tabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--coal-800)}.clients-detail__tab{padding:.55rem 1.1rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-400);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease}.clients-detail__tab:hover{color:var(--coal-100)}.clients-detail__tab--active{color:var(--coal-50);border-bottom-color:var(--gold-500)}.clients-detail__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.clients-detail__back{padding:.4rem .8rem;font-family:var(--font-body);font-size:.8125rem;color:var(--coal-300);background:var(--coal-800);border:1px solid var(--coal-700);border-radius:6px;cursor:pointer;text-decoration:none}.clients-detail__back:hover{color:var(--coal-100);border-color:var(--coal-600)}.clients-detail__title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--coal-50);margin:0}.clients-detail__grid{display:grid;grid-template-columns:180px 1fr;gap:.5rem 1rem;padding:1.25rem 1.5rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-950);max-width:640px}.clients-detail__label{color:var(--coal-500);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;padding-top:.15rem}.clients-detail__value{color:var(--coal-100);font-size:.875rem;word-break:break-word}.clients-detail__value--muted{color:var(--coal-500)}.clients-detail__placeholder{margin-top:1.5rem;padding:1.25rem;border:1px dashed var(--coal-700);border-radius:10px;color:var(--coal-500);font-size:.8125rem;text-align:center}.client-stats{display:flex;flex-direction:column;gap:1.75rem}.client-stats__loading,.client-stats__error{padding:1.5rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-950);color:var(--coal-300);font-size:.875rem;text-align:center}.client-stats__error{color:var(--rose-400, #f87171)}.client-stats__section{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-950)}.client-stats__section-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--coal-100);margin:0}.client-stats__section-subtitle{font-size:.75rem;color:var(--coal-500)}.client-stats__empty{padding:1.25rem;border:1px dashed var(--coal-700);border-radius:8px;color:var(--coal-500);font-size:.8125rem;text-align:center}.client-stats__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:900px){.client-stats__cards{grid-template-columns:repeat(2,1fr)}}.client-stats__card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-900)}.client-stats__card-label{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coal-500)}.client-stats__card-value{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--coal-50)}.client-stats__card-sub{font-size:.75rem;color:var(--coal-500)}.client-stats__chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:900px){.client-stats__chart-grid{grid-template-columns:1fr}}.usage{display:flex;flex-direction:column;gap:1.5rem}.usage__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.usage__title{font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--coal-50);margin:0}.usage__filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.usage__preset,.usage__apply{padding:.4rem .75rem;border:1px solid var(--coal-700);border-radius:8px;background:var(--coal-900);color:var(--coal-200);font-size:.8125rem;cursor:pointer}.usage__preset:hover,.usage__apply:hover{border-color:var(--coal-500)}.usage__apply{background:var(--coal-100);color:var(--coal-950);border-color:var(--coal-100)}.usage__date{padding:.35rem .5rem;border:1px solid var(--coal-700);border-radius:8px;background:var(--coal-900);color:var(--coal-100);font-size:.8125rem;color-scheme:dark}.usage__date-sep{color:var(--coal-500)}.usage__msg{padding:1.25rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-950);color:var(--coal-300);font-size:.875rem;text-align:center}.usage__msg--error{color:var(--rose-400, #f87171)}.usage__warn{padding:.75rem 1rem;border:1px solid #b45309;border-radius:10px;background:#b453091f;color:#fbbf24;font-size:.8125rem;line-height:1.4}.usage__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:900px){.usage__cards{grid-template-columns:repeat(2,1fr)}}.usage__card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-900)}.usage__card-label{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coal-500)}.usage__card-value{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--coal-50)}.usage__card-sub{font-size:.75rem;color:var(--coal-500)}.usage__section{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border:1px solid var(--coal-800);border-radius:10px;background:var(--coal-950)}.usage__section-title{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--coal-100);margin:0}.usage__section-sub{font-size:.75rem;color:var(--coal-500);margin:0}.usage__empty{padding:1.25rem;border:1px dashed var(--coal-700);border-radius:8px;color:var(--coal-500);font-size:.8125rem;text-align:center}.usage__table{width:100%;border-collapse:collapse;font-size:.8125rem}.usage__table th{text-align:left;padding:.5rem .6rem;color:var(--coal-500);font-weight:500;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--coal-800)}.usage__table td{padding:.55rem .6rem;color:var(--coal-200);border-bottom:1px solid var(--coal-900)}.usage__num{font-variant-numeric:tabular-nums}.usage__table th.usage__num,.usage__table td.usage__num{text-align:right}.usage__cost{color:var(--coal-50);font-weight:500}.usage__row-click{cursor:pointer}.usage__row-click:hover td{background:var(--coal-900)}.usage__kind{display:inline-block;padding:.1rem .4rem;border-radius:5px;font-size:.6875rem;font-weight:600}.usage__kind--llm{background:#60a5fa26;color:#60a5fa}.usage__kind--stt{background:#a78bfa26;color:#a78bfa}.usage__bar-cell{width:35%}.usage__bar-track{width:100%;height:6px;border-radius:3px;background:var(--coal-800);overflow:hidden}.usage__bar-fill{height:100%;border-radius:3px;background:#34d399}.usage__detail-total{font-size:.875rem;color:var(--coal-300)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--coal-950: #1A1714;--coal-900: #221E1A;--coal-800: #2B2620;--coal-700: #3A332D;--coal-600: #4A4137;--coal-500: #6E6253;--coal-400: #8A7E6E;--coal-300: #B8AB99;--coal-200: #D4C8B7;--coal-100: #E8DDD0;--coal-50: #F0E8DC;--gold-500: #C8954A;--gold-400: #DBA85B;--gold-300: #E5B870;--gold-200: #EFC988;--gold-glow: rgba(219, 168, 91, .14);--gold-glow-strong: rgba(219, 168, 91, .3);--error: #E07A5F;--error-dim: rgba(224, 122, 95, .12);--success: #88C66E;--font-display: "DM Serif Display", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--font-reading: "IBM Plex Sans", system-ui, sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--coal-950);color:var(--coal-100);min-height:100dvh;font-feature-settings:"ss01","ss02","cv11","kern";text-rendering:optimizeLegibility}.tnum,table td,table th,input,button{font-variant-numeric:tabular-nums}#root{min-height:100dvh}
