body,html,#root{background-color:#f8fafc;width:100%;height:100%;margin:0;padding:0}.auth-status-page{box-sizing:border-box;color:#172554;background:radial-gradient(circle at 18% 15%,#3b82f624,#0000 28%),radial-gradient(circle at 85% 82%,#84cc161f,#0000 25%),linear-gradient(145deg,#f8fbff 0%,#eef5fb 100%);place-items:center;min-height:100vh;padding:24px;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;display:grid;overflow:hidden}.auth-status-page:before,.auth-status-page:after{content:"";pointer-events:none;border:1px solid #3b82f61f;border-radius:50%;width:260px;height:260px;position:fixed}.auth-status-page:before{top:-130px;right:-70px}.auth-status-page:after{bottom:-160px;left:-90px}.auth-status-card{box-sizing:border-box;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #94a3b838;border-radius:22px;width:min(100%,420px);padding:46px 42px 38px;position:relative;box-shadow:0 24px 60px #1e40af21}.auth-status-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#84cc16);border-radius:0 0 4px 4px;width:72px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%)}.auth-status-logo{object-fit:contain;width:180px;height:76px;margin-bottom:24px}.auth-status-icon{color:#2563eb;background:#eff6ff;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 20px;display:grid}.auth-status-icon--error{color:#dc2626;background:#fff1f2}.auth-status-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:30px}.auth-status-spinner{box-sizing:border-box;border:3px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite auth-status-spin}.auth-status-card h1{letter-spacing:-.03em;margin:0;font-size:24px;line-height:1.35}.auth-status-card p{color:#64748b;word-break:keep-all;margin:12px 0 26px;font-size:15px;line-height:1.65}.auth-status-retry{color:#fff;cursor:pointer;width:100%;min-height:48px;font:inherit;background:#2563eb;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;font-size:15px;font-weight:700;transition:background-color .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 8px 20px #2563eb38}.auth-status-retry:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 24px #2563eb4d}.auth-status-retry:focus-visible{outline-offset:3px;outline:3px solid #3b82f64d}.auth-status-retry svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px}.auth-status-help{color:#94a3b8;margin-top:18px;font-size:12px;line-height:1.5;display:block}@keyframes auth-status-spin{to{transform:rotate(360deg)}}@media (width<=520px){.auth-status-card{padding:38px 24px 30px}.auth-status-logo{width:158px}}@media (prefers-reduced-motion:reduce){.auth-status-spinner{animation-duration:1.6s}.auth-status-retry{transition:none}}.signup-page{box-sizing:border-box;color:#0f172a;background:radial-gradient(circle at 8% 10%,#22d3ee1f,#0000 30%),#eef2f7;min-height:100vh;padding:36px;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.signup-shell{background:#fff;border:1px solid #94a3b840;border-radius:28px;grid-template-columns:minmax(340px,.85fr) minmax(520px,1.15fr);max-width:1120px;min-height:calc(100vh - 72px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 28px 80px #0f172a24}.signup-intro{color:#fff;background:linear-gradient(150deg,#071827 0%,#0f3541 58%,#0f766e 130%);flex-direction:column;padding:38px 44px;display:flex;position:relative;overflow:hidden}.signup-intro:after{content:"";border:1px solid #67e8f92e;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-140px;right:-120px;box-shadow:0 0 0 55px #67e8f90a,0 0 0 110px #67e8f906}.signup-brand{z-index:1;background:#fffffff0;border-radius:14px;width:max-content;padding:6px 14px;display:inline-flex;position:relative}.signup-brand img{object-fit:contain;width:126px;height:72px}.signup-intro__content{z-index:1;margin:auto 0;position:relative}.signup-kicker,.signup-form-header>span,.signup-success>span{letter-spacing:2px;color:#67e8f9;font-size:11px;font-weight:900}.signup-intro h1{letter-spacing:-1.3px;margin:15px 0;font-size:36px;line-height:1.3}.signup-intro__content>p{color:#cbd5e1;max-width:390px;margin:0;font-size:15px;line-height:1.75}.signup-steps{gap:19px;margin:38px 0 0;padding:0;list-style:none;display:grid}.signup-steps li{align-items:center;gap:13px;display:flex}.signup-steps li>span{color:#a5f3fc;background:#06b6d41c;border:1px solid #67e8f973;border-radius:11px;flex:0 0 34px;place-items:center;height:34px;font-weight:800;display:grid}.signup-steps div{gap:3px;display:grid}.signup-steps strong{font-size:14px}.signup-steps small{color:#94a3b8;font-size:12px}.signup-intro__foot{z-index:1;color:#64748b;letter-spacing:1.2px;margin:28px 0 0;font-size:10px;position:relative}.signup-form-panel{background:linear-gradient(#fff,#fbfdff);place-items:center;padding:44px 58px;display:grid}.signup-form-wrap{width:100%;max-width:560px}.signup-form-header>span{color:#0891b2}.signup-form-header h2{letter-spacing:-.8px;margin:9px 0 7px;font-size:30px}.signup-form-header p{color:#64748b;margin:0 0 30px}.signup-form{gap:19px;display:grid}.signup-field{gap:8px;display:grid}.signup-field label{color:#334155;font-size:13px;font-weight:800}.signup-input{background:#fff;border:1px solid #cbd5e1;border-radius:11px;align-items:center;height:48px;transition:border-color .2s,box-shadow .2s;display:flex}.signup-input:focus-within{border-color:#0891b2;box-shadow:0 0 0 4px #0891b21c}.signup-input>span{color:#0f766e;border-right:1px solid #e2e8f0;place-items:center;width:45px;font-size:12px;font-weight:900;display:grid}.signup-input input{box-sizing:border-box;color:#0f172a;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 14px;font-size:14px}.signup-input input::placeholder{color:#94a3b8}.signup-form__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.signup-password-guide{flex-wrap:wrap;gap:7px;margin-top:-7px;display:flex}.signup-password-guide span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.signup-alert{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:10px;padding:13px 15px;font-size:13px;line-height:1.5;display:flex}.signup-alert strong{color:#fff;background:#e11d48;border-radius:50%;flex:0 0 20px;place-items:center;height:20px;display:grid}.signup-submit,.signup-primary-link{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e7490,#0f766e);border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:50px;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 24px #0f766e33}.signup-submit:hover:not(:disabled),.signup-primary-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0f766e47}.signup-submit:disabled{opacity:.65;cursor:wait}.signup-submit i{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite signup-spin}.signup-login-link{text-align:center;color:#64748b;margin:23px 0 0;font-size:13px}.signup-login-link a{color:#0e7490;font-weight:900;text-decoration:none}.signup-success{text-align:center}.signup-success__icon{color:#0f766e;background:linear-gradient(135deg,#ccfbf1,#a7f3d0);border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 23px;font-size:34px;font-weight:900;display:grid;box-shadow:0 12px 28px #0d94882b}.signup-success>span{color:#0d9488}.signup-success h2{margin:10px 0;font-size:29px}.signup-success>p{color:#475569;line-height:1.7}.signup-success__note{color:#115e59;background:#f0fdfa;border-radius:11px;margin:25px 0;padding:15px;font-size:13px}.signup-secondary-button{color:#64748b;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:10px 14px;font-weight:700}@keyframes signup-spin{to{transform:rotate(360deg)}}@media (width<=900px){.signup-page{padding:18px}.signup-shell{grid-template-columns:1fr;min-height:auto}.signup-intro{padding:26px 30px}.signup-intro__content{margin:34px 0}.signup-intro h1{font-size:29px}.signup-steps,.signup-intro__foot{display:none}.signup-form-panel{padding:38px 30px}}@media (width<=560px){.signup-page{background:#fff;padding:0}.signup-shell{box-shadow:none;border:0;border-radius:0}.signup-intro{padding:22px}.signup-brand img{width:105px;height:56px}.signup-intro__content{margin:25px 0 8px}.signup-intro h1{font-size:25px}.signup-form-panel{padding:32px 22px}.signup-form__row{grid-template-columns:1fr}.signup-form-header h2{font-size:27px}}.signup-password-guide span{border:1px solid #0000;align-items:center;gap:4px;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.signup-password-guide span b{font-size:12px;line-height:1}.signup-password-guide span.is-valid{color:#15803d;background:#dcfce7;border-color:#a7f3d0;transform:translateY(-1px)}.practice-layout{min-height:calc(100vh - 194px);margin:-2rem 0 -2rem -2rem;display:flex}.practice-sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #e2e8f0;flex:0 0 184px;align-self:flex-start;width:184px;height:calc(100vh - 130px);padding:1.25rem .75rem;position:sticky;top:130px;overflow-y:auto}.practice-title{color:#0f172a;margin:0 .5rem 1.25rem;font-size:1rem;font-weight:800;text-decoration:none;display:block}.practice-menu-section{margin-top:1.25rem;position:relative}.practice-menu-section h2{color:#94a3b8;letter-spacing:.04em;margin:0 .75rem .5rem;font-size:.72rem;font-weight:800}.practice-admin-section{border-top:1px solid #e2e8f0;padding-top:1.25rem}.practice-admin-badge{color:#9f1239;background:#ffe4e6;border-radius:999px;margin:0 .75rem .6rem;padding:.18rem .45rem;font-size:.65rem;font-weight:800;display:inline-block}.practice-menu{flex-direction:column;gap:.25rem;display:flex}.practice-menu-item{color:#64748b;border-radius:6px;padding:.65rem .75rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}.practice-menu-item:hover{color:#0f172a;background:#f1f5f9}.practice-menu-item.active{color:#047857;background:#d1fae5}.practice-content{background:#fff;border:1px solid #e2e8f0;border-left:0;border-radius:0 10px 10px 0;flex:1;min-width:0;margin:1rem 1rem 1rem 0;overflow:hidden}.practice-page{min-height:100%}.practice-page-header{border-bottom:1px solid #e2e8f0;padding:1.5rem}.practice-page-header h1{color:#0f172a;margin:.25rem 0 0;font-size:1.45rem}.practice-page-header p{color:#64748b;margin:.45rem 0 0;font-size:.9rem}.practice-eyebrow{color:#059669;font-size:.75rem;font-weight:800}.practice-filter{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:1.5rem 1.5rem 0;padding:1.15rem 1.25rem}.practice-filter-heading{align-items:baseline;gap:.65rem;margin-bottom:.9rem;display:flex}.practice-filter-heading strong{color:#1e293b;font-size:.95rem}.practice-filter-heading span{color:#94a3b8;font-size:.78rem}.practice-filter-controls{grid-template-columns:minmax(150px,.8fr) auto minmax(220px,1.5fr) auto minmax(110px,.55fr) auto;align-items:end;gap:.65rem;display:grid}.practice-filter-controls label{flex-direction:column;gap:.35rem;min-width:0;display:flex}.practice-filter-controls label>span{color:#64748b;font-size:.72rem;font-weight:800}.practice-filter-controls select,.practice-filter-controls input{color:#334155;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;height:2.55rem;padding:0 .7rem}.practice-filter-controls select:disabled{color:#94a3b8;background:#f1f5f9}.practice-filter-divider{color:#cbd5e1;padding-bottom:.7rem;font-weight:800}.practice-filter-controls button{color:#fff;cursor:pointer;background:#059669;border:0;border-radius:7px;height:2.55rem;padding:0 1.25rem;font-weight:800}.practice-filter-controls button:hover{background:#047857}.practice-empty-state,.practice-status{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin:1.5rem;padding:4rem 1.5rem}.practice-empty-state.compact{padding:3rem 1.5rem}.practice-empty-state h2,.practice-status h1{color:#334155;margin:.85rem 0 .5rem;font-size:1.1rem}.practice-empty-state p,.practice-status p{margin:0}.practice-language-mark{color:#fff;background:#059669;border-radius:10px;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.9rem;font-weight:900;display:inline-flex}.published-problem-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;padding:1.5rem;display:grid}.published-problem-list article{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #10b981;border-radius:8px;padding:1rem 1.1rem}.published-problem-list article>a{color:inherit;text-decoration:none;display:block}.problem-progress-badge{float:right;color:#475569;background:#e2e8f0;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-style:normal;font-weight:700}.problem-progress-badge.attempted{color:#b45309;background:#fef3c7}.problem-progress-badge.completed{color:#166534;background:#dcfce7}.published-problem-list article:hover{border-color:#6ee7b7;transform:translateY(-1px);box-shadow:0 8px 20px #0f766e1a}.published-problem-list article>span{color:#059669;font-size:.7rem;font-weight:800}.published-problem-list h2{color:#1e293b;margin:.45rem 0;font-size:1rem}.published-problem-list p{color:#64748b;margin:0 0 .7rem;font-size:.78rem}.published-problem-list small{color:#047857;background:#d1fae5;border-radius:999px;padding:.22rem .48rem;font-size:.68rem;font-weight:800}.practice-status-denied{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.practice-status-denied h1{color:#9f1239}.problem-create-form,.problem-solver{background:#f8fafc;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 2rem;display:flex}.problem-solver-header{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem;display:flex}.problem-solver-header>button{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.5rem .7rem}.problem-solver-header span{color:#059669;font-size:.74rem;font-weight:800}.problem-solver-header h1{color:#1e293b;margin:.3rem 0;font-size:1.15rem}.problem-solver-header p{color:#64748b;white-space:pre-wrap;margin:.5rem 0 0;font-size:.82rem;line-height:1.65}.problem-type-tabs button em{border-radius:999px;margin-left:.5rem;padding:.14rem .42rem;font-size:.66rem;font-style:normal}.problem-type-tabs button em.correct{color:#047857;background:#d1fae5}.problem-type-tabs button em.wrong{color:#be123c;background:#ffe4e6}.problem-solver-workspace{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.problem-solver-sidebar{background:#fff;border-left:1px solid #e2e8f0;grid-template-rows:minmax(180px,.8fr) minmax(260px,1.2fr);min-width:0;display:grid}.problem-solver-sidebar section{min-height:0;padding:.9rem;overflow:auto}.problem-solver-sidebar section+section{border-top:1px solid #e2e8f0}.problem-solver-sidebar strong{color:#475569;font-size:.75rem}.problem-solver-sidebar p,.problem-solver-sidebar li{color:#64748b;white-space:pre-wrap;font-size:.76rem;line-height:1.6}.solver-hint-locked{color:#64748b;text-align:center;background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#f1f5f9 8px 16px);border:1px dashed #cbd5e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:120px;margin-top:.75rem;padding:1rem;display:flex}.solver-hint-locked span{font-size:.78rem;font-weight:800}.solver-hint-locked small{font-size:.7rem;line-height:1.5}.problem-solver-sidebar ul{margin:.75rem 0 0;padding:0;list-style:none}.problem-solver-sidebar li{background:#f1f5f9;border-radius:6px;margin-bottom:.4rem;padding:.45rem .55rem}.solver-blank-list{flex-direction:column;gap:.65rem;margin-top:.75rem;display:flex}.solver-blank-list label{border:1px solid #e2e8f0;border-radius:7px;flex-direction:column;gap:.3rem;padding:.55rem;display:flex}.solver-blank-list label.correct{background:#ecfdf5;border-color:#6ee7b7}.solver-blank-list label.wrong{background:#fff1f2;border-color:#fda4af}.solver-blank-list span{color:#64748b;font-size:.7rem;font-weight:700}.solver-blank-list input{color:#1e293b;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.5rem .6rem;font-family:Consolas,monospace}.problem-solver-actions{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.problem-solver-actions button{color:#fff;cursor:pointer;background:#059669;border:1px solid #059669;border-radius:7px;padding:.65rem 1rem;font-weight:800}.problem-solver-actions button:disabled{cursor:not-allowed;opacity:.55}.solver-message{font-size:.82rem;font-weight:700}.solver-message.correct{color:#047857}.solver-message.wrong,.solver-message.error{color:#be123c}.problem-create-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.problem-create-section-heading{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.problem-create-section-heading>span{color:#fff;background:#059669;border-radius:999px;flex:0 0 1.7rem;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.78rem;font-weight:900;display:inline-flex}.problem-create-section-heading h2{color:#1e293b;margin:0;font-size:1rem}.problem-create-section-heading p{color:#64748b;margin:.3rem 0 0;font-size:.82rem}.creation-method-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.creation-method-toggle button{color:#64748b;cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.creation-method-toggle button strong{color:#334155;font-size:.95rem}.creation-method-toggle button span{font-size:.78rem}.creation-method-toggle button.active{color:#047857;background:#ecfdf5;border-color:#10b981;box-shadow:0 0 0 1px #10b981}.creation-method-toggle button.active strong{color:#047857}.problem-create-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.problem-create-grid.ai-settings{grid-template-columns:minmax(0,1fr)}.problem-create-grid.ai-settings label small{color:#64748b;font-size:.78rem;line-height:1.45}.problem-create-grid.ai-settings .ai-prompt-field textarea{resize:none;height:10rem;min-height:10rem;max-height:10rem}.ai-scenario-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.ai-scenario-actions small{color:#64748b;line-height:1.45}.ai-scenario-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.65rem;flex:none;padding:.65rem 1rem}.ai-scenario-actions button:disabled{cursor:not-allowed;opacity:.6}.problem-create-grid .wide{grid-column:auto}.problem-create-grid label,.problem-create-stack label,.problem-type-pair label{flex-direction:column;gap:.35rem;min-width:0;display:flex}.problem-create-grid label>span,.problem-create-stack label>span,.problem-type-pair label>span{color:#64748b;font-size:.74rem;font-weight:800}.problem-create-grid input,.problem-create-grid select,.problem-create-grid textarea,.problem-create-stack input,.problem-create-stack textarea,.problem-type-pair input,.problem-type-pair textarea{color:#334155;box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.65rem .75rem}.problem-create-grid input,.problem-create-grid select{height:2.55rem}.problem-create-grid select:disabled{color:#94a3b8;background:#f1f5f9}.problem-create-stack{flex-direction:column;gap:.85rem;display:flex}.problem-code-input{line-height:1.5;font-family:Consolas,monospace!important}.problem-type-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.problem-type-pair article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;display:flex}.problem-type-pair h3{color:#1e293b;margin:0;font-size:.95rem}.problem-type-label{color:#059669;font-size:.7rem;font-weight:900}.ai-generation-notice{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.ai-generation-notice>div{color:#64748b;background:#f8fafc;border-radius:8px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;font-size:.78rem;display:flex}.ai-generation-notice strong{color:#334155;font-size:.82rem}.problem-create-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.problem-create-actions button{cursor:pointer;border-radius:7px;padding:.65rem 1rem;font-weight:800}.problem-create-actions .primary{color:#fff;background:#059669;border:1px solid #059669}.problem-create-actions .secondary{color:#475569;background:#fff;border:1px solid #cbd5e1}.problem-editor-section{padding:0;overflow:hidden}.problem-editor-section>.problem-create-section-heading{padding:1.25rem 1.25rem 0}.problem-type-tabs{border-bottom:1px solid #e2e8f0;padding:0 1.25rem;display:flex}.problem-type-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.8rem 1rem;font-weight:800}.problem-type-tabs button.active{color:#047857;border-bottom-color:#10b981}.problem-file-toolbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .85rem;display:flex}.problem-file-toolbar>input{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:min(360px,60%);padding:.45rem .65rem;font-family:Consolas,monospace;font-weight:700}.problem-file-toolbar>div{gap:.4rem;display:flex}.problem-file-toolbar button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.1rem;font-weight:900;display:inline-flex}.problem-editor-workspace{grid-template-columns:150px minmax(360px,1fr) minmax(240px,300px);min-height:520px;display:grid}.problem-file-list{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;min-width:0;padding:.75rem;display:flex;overflow:auto}.problem-file-list>strong{color:#94a3b8;margin:0 .5rem .65rem;font-size:.7rem}.problem-file-list button{color:#64748b;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:.55rem .65rem;font-family:Consolas,monospace;overflow:hidden}.problem-file-list button.active{color:#047857;background:#d1fae5;font-weight:800}.problem-code-editor{background:#1e1e1e;min-width:0}.problem-code-editor.line-selectable .monaco-editor .line-numbers{cursor:pointer!important}.selected-problem-line{background:#10b9812e}.selected-problem-line-gutter{background:#10b981;margin-left:3px;width:4px!important}.correct-problem-line{background:#10b9813d}.correct-problem-line-gutter{background:#10b981;margin-left:3px;width:4px!important}.wrong-problem-line{background:#f43f5e3d}.wrong-problem-line-gutter{background:#f43f5e;margin-left:3px;width:4px!important}.solver-result-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.solver-result-modal{text-align:center;background:#fff;border:1px solid #e2e8f0;border-top:4px solid #10b981;border-radius:14px;width:min(420px,100%);padding:1.6rem;box-shadow:0 24px 60px #0f172a3d}.solver-result-modal.wrong{border-top-color:#f43f5e}.solver-result-icon{color:#047857;background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.4rem;font-weight:900;display:inline-flex}.solver-result-modal.wrong .solver-result-icon{color:#be123c;background:#ffe4e6}.solver-result-modal h2{color:#1e293b;margin:.8rem 0 .35rem;font-size:1.25rem}.solver-result-modal>p{color:#64748b;margin:0;font-size:.84rem;line-height:1.6}.solver-result-modal ul{gap:.5rem;margin:1.1rem 0;padding:0;list-style:none;display:grid}.solver-result-modal li{color:#475569;background:#f8fafc;border-radius:7px;justify-content:space-between;padding:.65rem .8rem;font-size:.8rem;display:flex}.solver-result-modal li.correct strong{color:#047857}.solver-result-modal li.wrong strong{color:#be123c}.solver-result-modal>button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:8px;width:100%;padding:.7rem;font-weight:800}.problem-answer-sidebar{background:#fff;border-left:1px solid #e2e8f0;grid-template-rows:minmax(180px,.8fr) minmax(260px,1.2fr);min-width:0;display:grid}.problem-answer-sidebar>label,.problem-answer-panel{flex-direction:column;gap:.55rem;min-height:0;padding:.9rem;display:flex}.problem-answer-sidebar>label{border-bottom:1px solid #e2e8f0}.problem-answer-sidebar label>span,.problem-answer-panel>strong{color:#475569;font-size:.75rem;font-weight:800}.problem-answer-sidebar textarea{resize:vertical;color:#334155;box-sizing:border-box;width:100%;min-height:0;font:inherit;border:1px solid #cbd5e1;border-radius:6px;flex:1;padding:.65rem}.problem-answer-panel{overflow:auto}.problem-answer-panel p{color:#94a3b8;margin:.25rem 0;font-size:.78rem;line-height:1.5}.problem-answer-panel ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.problem-answer-panel li{color:#475569;background:#f1f5f9;border-radius:6px;padding:.5rem .6rem;font-size:.76rem}.problem-answer-panel li code{overflow-wrap:anywhere;color:#334155;white-space:pre-wrap;margin-top:.35rem;font-size:.7rem;display:block}.blank-answer-list{flex-direction:column;gap:.75rem;display:flex}.blank-answer-list label{flex-direction:column;gap:.35rem;display:flex}.blank-answer-list textarea{flex:none;font-family:Consolas,monospace}.blank-answer-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;flex-direction:column;gap:.35rem;padding:.55rem;display:flex}.blank-answer-summary span{color:#64748b;font-size:.72rem;font-weight:700}.blank-answer-summary input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.55rem .65rem;font:.78rem Consolas,monospace}.blank-answer-summary input:focus{border-color:#10b981;outline:2px solid #10b98129}.practice-modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.practice-confirm-modal{text-align:center;background:#fff;border:1px solid #e2e8f0;border-top:4px solid #10b981;border-radius:14px;width:min(440px,100%);padding:1.65rem;box-shadow:0 24px 60px #0f172a3d}.practice-confirm-modal-icon{color:#047857;background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.4rem;font-weight:900;display:inline-flex}.practice-confirm-modal h2{color:#1e293b;margin:.8rem 0 .35rem;font-size:1.2rem}.practice-confirm-modal p{color:#64748b;margin:0;font-size:.84rem;line-height:1.6}.practice-confirm-modal-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.2rem;display:grid}.practice-confirm-modal-actions button{cursor:pointer;border-radius:8px;padding:.7rem;font-weight:800}.practice-confirm-modal-actions button.secondary{color:#475569;background:#fff;border:1px solid #cbd5e1}.practice-confirm-modal-actions button.primary{color:#fff;background:#059669;border:1px solid #059669}.problem-quality-report{background:#fff;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:1rem;padding:1rem 1.1rem}.problem-quality-report.warning{border-color:#fde68a}.problem-quality-report-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.problem-quality-report-heading>div{flex-direction:column;gap:.25rem;display:flex}.problem-quality-report-heading strong{color:#1e293b;font-size:.9rem}.problem-quality-report-heading span{color:#64748b;font-size:.76rem}.problem-quality-report-heading em{color:#047857;white-space:nowrap;background:#d1fae5;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-style:normal;font-weight:800}.problem-quality-report.warning .problem-quality-report-heading em{color:#92400e;background:#fef3c7}.problem-quality-report ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.problem-quality-report li{background:#f8fafc;border-radius:7px;align-items:flex-start;gap:.55rem;padding:.65rem;display:flex}.problem-quality-report li>span{color:#047857;background:#d1fae5;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:900;display:inline-flex}.problem-quality-report li.warning>span{color:#92400e;background:#fef3c7}.problem-quality-report li>div{flex-direction:column;gap:.18rem;min-width:0;display:flex}.problem-quality-report li strong{color:#334155;font-size:.76rem}.problem-quality-report li small{color:#64748b;font-size:.7rem;line-height:1.45}.problem-editor-guide{color:#64748b;background:#ecfdf5;border-top:1px solid #a7f3d0;padding:.7rem 1rem;font-size:.78rem}.problem-editor-section>.problem-create-actions{border-top:1px solid #e2e8f0;margin:0;padding:.9rem 1rem}.problem-save-message{color:#475569;align-self:center;margin-right:auto;font-size:.8rem}.problem-create-actions button:disabled{cursor:not-allowed;opacity:.55}.problem-visibility-manager{background:#f8fafc;padding:1.25rem 1.5rem 2rem}.problem-manager-guide{background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.problem-manager-guide>div{flex-direction:column;gap:.3rem;display:flex}.problem-manager-guide strong{color:#1e293b;font-size:.95rem}.problem-manager-guide span{color:#64748b;font-size:.78rem}.problem-manager-message{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:7px;margin-top:.85rem;padding:.75rem 1rem;font-size:.82rem}.problem-delete-toolbar{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;font-size:.8rem;font-weight:700;display:flex}.problem-delete-toolbar button,.problem-delete-button{color:#fff;cursor:pointer;background:#e11d48;border:1px solid #e11d48;border-radius:6px;padding:.48rem .72rem;font-weight:800}.problem-delete-toolbar button:disabled,.problem-delete-button:disabled{cursor:not-allowed;opacity:.5}.problem-manager-table .problem-delete-check-cell{text-align:center;width:42px;padding-left:.75rem;padding-right:.25rem}.problem-manager-table tr.selected-for-delete td{background:#fff1f2}.problem-manager-list{flex-direction:column;gap:.65rem;margin-top:.85rem;display:flex}.problem-manager-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:.85rem;overflow-x:auto}.problem-manager-table{border-collapse:collapse;width:100%;font-size:.8rem}.problem-manager-table th,.problem-manager-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:.8rem .9rem}.problem-manager-table th{color:#64748b;white-space:nowrap;background:#f8fafc;font-size:.72rem}.problem-manager-table td{color:#334155}.problem-manager-table tbody tr:last-child td{border-bottom:0}.problem-manager-table tbody tr:hover{background:#f8fafc}.problem-manager-item{background:#fff;border:1px solid #e2e8f0;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.15rem;display:grid}.problem-manager-id{color:#94a3b8;font-family:Consolas,monospace;font-size:.78rem;font-weight:800}.problem-manager-info{flex-direction:column;gap:.28rem;min-width:0;display:flex}.problem-manager-info strong{color:#1e293b;font-size:.92rem}.problem-manager-info span,.problem-manager-info small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.problem-manager-info small{color:#94a3b8}.problem-manager-status{align-items:center;gap:.65rem;display:flex}.problem-manager-row-link{cursor:pointer}.problem-manager-row-link:hover,.problem-manager-row-link:focus-visible{background:#ecfdf5;outline:none}.problem-edit-heading{align-items:flex-start;gap:1rem;display:flex}.problem-edit-heading-actions{flex-direction:column;flex:none;gap:.45rem;display:flex}.problem-edit-heading-actions button{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.5rem .7rem}.problem-edit-heading-actions button.download{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.problem-edit-heading-actions button:disabled{cursor:not-allowed;opacity:.55}.problem-edit-heading span{color:#059669;font-size:.72rem;font-weight:800}.problem-edit-heading h1{color:#1e293b;margin:.25rem 0;font-size:1.1rem}.problem-edit-heading p{color:#64748b;margin:0;font-size:.8rem}.problem-edit-metadata{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.problem-edit-metadata .wide{grid-column:1/-1}.problem-manager-status>span{text-align:center;border-radius:999px;min-width:3.2rem;padding:.25rem .5rem;font-size:.68rem;font-weight:800}.problem-manager-status>span.published{color:#047857;background:#d1fae5}.problem-manager-status>span.draft{color:#64748b;background:#e2e8f0}.visibility-switch{width:2.7rem;height:1.5rem;display:inline-flex;position:relative}.visibility-switch input{opacity:0;width:1px;height:1px;position:absolute}.visibility-switch>span{cursor:pointer;background:#cbd5e1;border-radius:999px;width:100%;transition:background-color .18s}.visibility-switch>span:after{content:"";background:#fff;border-radius:50%;width:1.1rem;height:1.1rem;transition:transform .18s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 3px #0f172a40}.visibility-switch input:checked+span{background:#10b981}.visibility-switch input:checked+span:after{transform:translate(1.2rem)}.visibility-switch input:focus-visible+span{outline-offset:2px;outline:2px solid #0ea5e9}.visibility-switch input:disabled+span{cursor:wait;opacity:.6}@media (width<=720px){.practice-layout{flex-direction:column;margin:-2rem}.practice-sidebar{border-bottom:1px solid #e2e8f0;border-right:0;flex-basis:auto;width:100%;height:auto;padding:.75rem;position:static}.practice-title{margin-bottom:.75rem}.practice-menu-section{margin-top:.75rem}.practice-menu{flex-direction:row;overflow-x:auto}.practice-menu-item{flex:none}.practice-content{border:0;border-radius:0;margin:0}.practice-filter-heading{flex-direction:column;align-items:flex-start}.practice-filter-controls{grid-template-columns:1fr}.practice-filter-divider{display:none}.creation-method-toggle,.problem-create-grid,.problem-create-grid.ai-settings,.problem-type-pair,.ai-generation-notice,.problem-editor-workspace{grid-template-columns:1fr}.problem-file-list{border-bottom:1px solid #e2e8f0;border-right:0;flex-direction:row}.problem-file-list>strong{display:none}.problem-answer-sidebar,.problem-solver-sidebar{border-top:1px solid #e2e8f0;border-left:0;grid-template-rows:auto auto}.problem-solver-header,.problem-solver-actions,.problem-edit-heading{flex-direction:column;align-items:stretch}.problem-edit-metadata{grid-template-columns:1fr}.problem-edit-metadata .wide{grid-column:auto}.problem-manager-guide,.problem-manager-item{align-items:flex-start}.problem-manager-item{grid-template-columns:auto minmax(0,1fr)}.problem-manager-status{grid-column:2}}.news-bookmark-message{z-index:5;color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;position:sticky;top:1rem}.news-generation-message{z-index:5;color:#1e40af;background:#dbeafe;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;position:sticky;top:1rem}.news-list-item{transition:transform .2s;position:relative}.news-list-item:hover{transform:translateY(-3px)}.news-list-item:hover>a{box-shadow:0 6px 15px #0000001a!important}.ai-news-card{position:relative;transition:transform .2s,box-shadow .2s!important}.ai-news-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a!important}.news-list-item>a{padding-right:15rem!important}.news-item-actions{z-index:2;align-items:center;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.news-item-actions .news-bookmark-button,.ai-card-actions .news-bookmark-button{position:static}.news-generate-button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;min-height:38px;padding:0 .8rem;font-weight:700}.news-generate-button:hover{color:#fff;background:#2563eb;border-color:#2563eb}.news-generate-button.existing{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.news-generate-button.existing:hover{color:#fff;background:#059669;border-color:#059669}.news-generate-button:disabled{cursor:wait;opacity:.6}.ai-card-actions{z-index:2;gap:.45rem;display:flex;position:absolute;top:1rem;right:1rem}.news-bookmark-button,.news-delete-icon-button{z-index:2;color:#64748b;cursor:pointer;background:#fffffff0;border:1px solid #cbd5e1;border-radius:9px;place-items:center;width:38px;height:38px;padding:0;display:grid;position:absolute;top:1rem;right:1rem}.news-bookmark-button svg,.news-delete-icon-button svg{width:20px;height:20px}.news-bookmark-button:hover,.news-bookmark-button.active{color:#2563eb;background:#eff6ff;border-color:#60a5fa}.news-bookmark-button:disabled{cursor:wait;opacity:.6}.news-delete-icon-button{color:#94a3b8;position:static}.news-delete-icon-button:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.news-delete-icon-button:disabled{cursor:wait;opacity:.6}.news-detail-actions{justify-content:flex-end;gap:.6rem;margin-bottom:1rem;display:flex}.news-detail-bookmark,.news-detail-delete{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem .9rem;font-weight:700;display:inline-flex}.news-detail-bookmark svg,.news-detail-delete svg{width:18px;height:18px}.news-detail-bookmark.active{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa}.news-detail-delete{color:#b91c1c;background:#fff;border-color:#fecaca}.news-detail-delete:hover{background:#fef2f2}.news-confirm-backdrop{z-index:100;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.news-confirm-backdrop>section{text-align:center;background:#fff;border-radius:16px;width:min(460px,100%);padding:2rem;box-shadow:0 24px 60px #0f172a40}.news-confirm-icon{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 1rem;font-weight:800;display:grid}.news-confirm-icon.complete{background:#059669;font-size:1.5rem}.news-confirm-icon.danger{color:#fff;background:#dc2626}.news-confirm-icon.danger svg{width:25px;height:25px}.news-confirm-backdrop h2{color:#0f172a;margin:0}.news-confirm-backdrop p{color:#64748b}.news-confirm-backdrop strong{color:#334155;background:#f8fafc;border-radius:10px;padding:1rem;line-height:1.5;display:block}.news-confirm-backdrop section>div{justify-content:flex-end;gap:.6rem;margin-top:1.5rem;display:flex}.news-confirm-backdrop section>div button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem 1rem}.news-confirm-backdrop section>div .confirm{color:#fff;background:#2563eb;border-color:#2563eb}.news-confirm-backdrop section>div .delete-confirm{color:#fff;background:#dc2626;border-color:#dc2626}@media (width<=720px){.news-list-item>a{padding-top:4.5rem!important;padding-right:1.5rem!important}.news-item-actions{left:1rem;right:auto}}.learning-progress{gap:1.5rem;margin-top:2rem;display:grid}.progress-overview{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem}.progress-summary-grid span{color:#64748b;font-size:.85rem}.progress-summary-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.progress-summary-grid article{background:#f8fafc;border-radius:12px;flex-direction:column;padding:1rem;display:flex}.progress-summary-grid strong{color:#0f172a;font-size:1.4rem}.language-progress-section,.recent-attempt-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem}.progress-section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.progress-section-heading h3{color:#1e293b;margin:0}.progress-section-heading p{color:#64748b;margin:.3rem 0 0;font-size:.85rem}.progress-section-heading>span{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.3rem .6rem;font-size:.75rem;font-weight:700}.language-progress-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.language-progress-grid>button{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.language-progress-grid>button:hover,.language-progress-grid>button.active{background:#eff6ff;border-color:#93c5fd}.language-progress-grid span,.language-progress-grid small{color:#64748b}.language-rate{background:radial-gradient(closest-side, white 72%, transparent 74%), conic-gradient(#3b82f6 var(--progress), #e2e8f0 0);color:#1e3a8a;border-radius:50%;place-items:center;width:68px;height:68px;display:grid}.language-card-copy{flex-direction:column;gap:.2rem;display:flex}.topic-progress-panel{background:#f8fafc;border-radius:12px;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.topic-progress-panel section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.topic-progress-panel header{color:#334155;justify-content:space-between;margin-bottom:.8rem;display:flex}.topic-progress-panel header span{font-size:.85rem}.topic-progress-panel ul{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.topic-progress-panel li{color:#64748b;background:#f8fafc;border-radius:8px;align-items:center;gap:.6rem;padding:.7rem;display:flex}.topic-progress-panel li.completed{color:#166534;background:#f0fdf4}.topic-progress-panel li div{flex-direction:column;display:flex}.topic-progress-panel li small{color:inherit;opacity:.8}.history-toggle{color:#1e293b;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.history-toggle>span:first-child{flex-direction:column;gap:.2rem;display:flex}.history-toggle small{color:#64748b;font-weight:400}.recent-attempt-list{gap:.75rem;display:grid}.history-toggle+.recent-attempt-list,.history-toggle+.progress-empty{margin-top:1rem}.recent-attempt-list>a,.recent-attempt-list>article{color:inherit;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;text-decoration:none;display:grid}.recent-attempt-list>a:hover{background:#eff6ff;border-color:#93c5fd}.recent-attempt-list .unavailable{opacity:.65}.recent-attempt-list p{color:#475569;margin:.2rem 0}.recent-attempt-list small,.recent-attempt-list time{color:#64748b;font-size:.78rem}.attempt-result{text-align:center;border-radius:99px;min-width:74px;padding:.35rem .55rem;font-size:.75rem;font-weight:700}.attempt-result.correct{color:#166534;background:#dcfce7}.attempt-result.wrong{color:#b45309;background:#fef3c7}.progress-empty,.learning-progress-status{text-align:center;color:#64748b;background:#fff;border-radius:12px;padding:2rem}.progress-empty a,.learning-progress-status button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;padding:.65rem 1rem;text-decoration:none;display:inline-block}.learning-progress-status.error{color:#b91c1c}@media (width<=720px){.progress-summary-grid,.language-progress-grid,.topic-progress-panel ul{grid-template-columns:1fr;width:100%}.recent-attempt-list>a,.recent-attempt-list>article{grid-template-columns:1fr}}.news-bookmark-page{gap:1rem;margin-top:2rem;display:grid}.news-bookmark-page>header{background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.news-bookmark-page h3{color:#1e293b;margin:0}.news-bookmark-page header p{color:#64748b;margin:.35rem 0 0}.news-bookmark-page header>strong{color:#b45309}.bookmark-list{gap:.8rem;display:grid}.bookmark-list article{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.2rem;display:grid}.bookmark-link{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.bookmark-link:hover h4{color:#2563eb}.bookmark-list h4{color:#0f172a;margin:.45rem 0;line-height:1.45}.bookmark-list p{color:#64748b;margin:0;font-size:.82rem}.bookmark-kind{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.bookmark-list .bookmark-remove{color:#b45309;cursor:pointer;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:.55rem .8rem}.bookmark-list .bookmark-remove:disabled{cursor:wait;opacity:.6}.bookmark-status,.bookmark-error{text-align:center;color:#64748b;background:#fff;border-radius:12px;padding:2rem}.bookmark-status p{color:#334155;margin:0 0 .35rem;font-weight:700}.bookmark-error{color:#991b1b;background:#fee2e2;padding:.8rem 1rem}@media (width<=640px){.bookmark-list article{grid-template-columns:1fr}.bookmark-list button{justify-self:start}}.signup-admin{color:#0f172a;max-width:1040px;margin:0 auto}.signup-admin__hero{color:#fff;background:linear-gradient(135deg,#0f172a,#164e63);border-radius:20px;justify-content:space-between;gap:24px;padding:32px;display:flex;box-shadow:0 18px 45px #0f172a2e}.signup-admin__eyebrow{letter-spacing:2px;color:#67e8f9;font-size:12px;font-weight:800}.signup-admin__hero h1{margin:8px 0;font-size:30px}.signup-admin__hero p{color:#cbd5e1;max-width:650px;margin:0;line-height:1.65}.signup-admin__refresh{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:10px;align-self:flex-start;padding:10px 14px}.signup-admin__summary{grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0;display:grid}.signup-admin__summary div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:baseline;gap:10px;padding:18px 22px;display:flex}.signup-admin__summary strong{color:#0f766e;font-size:26px}.signup-admin__summary span{color:#64748b;font-size:13px}.signup-admin__notice{border-radius:10px;margin:14px 0;padding:13px 16px}.signup-admin__notice--success{color:#166534;background:#dcfce7}.signup-admin__notice--error{color:#991b1b;background:#fee2e2}.signup-admin__tabs{border-bottom:1px solid #cbd5e1;gap:6px;margin-top:20px;display:flex}.signup-admin__tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px;font-weight:700}.signup-admin__tabs button.is-active{color:#0e7490;border-color:#0891b2}.signup-admin__tabs span{background:#cffafe;border-radius:999px;margin-left:5px;padding:2px 7px}.signup-admin__list{gap:12px;margin-top:16px;display:grid}.signup-admin__empty{color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:60px;display:flex}.signup-admin__empty span{color:#0f766e;background:#ccfbf1;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.signup-request-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;align-items:center;gap:18px;padding:20px;transition:all .2s;display:flex;box-shadow:0 5px 15px #0f172a0a}.signup-request-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0f172a14}.signup-request-card__avatar{color:#0f766e;background:linear-gradient(135deg,#cffafe,#a7f3d0);border-radius:14px;flex:0 0 48px;place-items:center;height:48px;font-size:20px;font-weight:900;display:grid}.signup-request-card__content{flex:1;min-width:0}.signup-request-card__title{align-items:center;gap:10px;display:flex}.signup-request-card__title strong{font-size:18px}.signup-request-card__details{color:#475569;flex-wrap:wrap;gap:18px;margin-top:9px;font-size:14px;display:flex}.signup-request-card__meta{color:#94a3b8;margin-top:8px;font-size:12px}.status{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.status--pending{color:#92400e;background:#fef3c7}.status--approved{color:#166534;background:#dcfce7}.status--rejected{color:#991b1b;background:#fee2e2}.status--expired{color:#475569;background:#e2e8f0}.mail--failed{color:#dc2626}.signup-request-card__actions{gap:8px;display:flex}.button{cursor:pointer;border:0;border-radius:9px;padding:10px 16px;font-weight:800}.button:disabled{opacity:.55;cursor:not-allowed}.button--approve{color:#fff;background:#0f766e}.button--reject{color:#be123c;background:#fff1f2}.button--cancel{color:#334155;background:#e2e8f0}.signup-modal{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.signup-modal__card{text-align:center;background:#fff;border-radius:18px;width:min(420px,100%);padding:30px;box-shadow:0 24px 70px #0f172a4d}.signup-modal__icon{border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 16px;font-size:28px;font-weight:900;display:grid}.signup-modal__icon--approve{color:#0f766e;background:#ccfbf1}.signup-modal__icon--reject{color:#be123c;background:#ffe4e6}.signup-modal__card h2{margin:0}.signup-modal__card p{color:#64748b;margin:12px 0 24px;line-height:1.6}.signup-modal__card>div:last-child{justify-content:center;gap:9px;display:flex}@media (width<=700px){.signup-admin__hero{flex-direction:column;padding:24px}.signup-admin__summary{grid-template-columns:1fr}.signup-request-card{flex-wrap:wrap;align-items:flex-start}.signup-request-card__actions{justify-content:flex-end;width:100%}.signup-request-card__details{flex-direction:column;gap:5px}}.audit-page{color:#0f172a;max-width:1100px;margin:0 auto}.audit-page>header{color:#fff;background:linear-gradient(135deg,#111827,#312e81);border-radius:20px;justify-content:space-between;gap:24px;padding:30px;display:flex;box-shadow:0 18px 45px #1e293b2e}.audit-page>header span{color:#a5b4fc;letter-spacing:2px;font-size:11px;font-weight:900}.audit-page>header h1{margin:8px 0;font-size:30px}.audit-page>header p{color:#cbd5e1;margin:0}.audit-page>header>strong{color:#c7d2fe;align-self:center;font-size:28px}.audit-filters{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1fr 1fr 150px auto;gap:10px;margin:18px 0;padding:15px;display:grid}.audit-filters input,.audit-filters select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-width:0;padding:10px 12px}.audit-filters button{color:#fff;cursor:pointer;background:#4338ca;border:0;border-radius:9px;padding:10px 15px;font-weight:800}.audit-list{gap:10px;display:grid}.audit-list article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:15px;padding:18px;display:flex;box-shadow:0 5px 16px #0f172a0a}.audit-status{border-radius:12px;flex:0 0 38px;place-items:center;height:38px;font-weight:900;display:grid}.audit-status--success{color:#15803d;background:#dcfce7}.audit-status--failure{color:#b91c1c;background:#fee2e2}.audit-main{flex:1;min-width:0}.audit-main>div{align-items:center;gap:8px;display:flex}.audit-badge{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900}.audit-badge--success{color:#166534;background:#dcfce7}.audit-badge--failure{color:#991b1b;background:#fee2e2}.audit-main p{color:#475569;margin:7px 0;font-size:13px}.audit-main small{color:#94a3b8}.audit-main pre{color:#475569;white-space:pre-wrap;background:#f8fafc;border-radius:8px;margin:12px 0 0;padding:10px;font-size:11px}.audit-empty{text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:55px}@media (width<=720px){.audit-page>header{flex-direction:column}.audit-filters{grid-template-columns:1fr}.audit-list article{align-items:flex-start}.audit-main small{line-height:1.6;display:block}}.audit-tabs{gap:8px;margin-top:20px;display:flex}.audit-tabs button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:10px 18px;font-weight:800}.audit-tabs button.active{color:#fff;background:#4338ca;border-color:#4338ca}.audit-filters--alerts{grid-template-columns:minmax(180px,260px) auto;justify-content:start}.alert-list{gap:12px;display:grid}.security-alert{background:#fff;border:1px solid #e2e8f0;border-left-width:5px;border-radius:14px;padding:20px 20px 20px 24px;position:relative}.security-alert--high{border-left-color:#dc2626}.security-alert--medium{border-left-color:#d97706}.security-alert__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.security-alert__head>div{align-items:center;gap:10px;display:flex}.security-alert__head span{color:#991b1b;background:#fee2e2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.security-alert--medium .security-alert__head span{color:#92400e;background:#fef3c7}.security-alert__head small{color:#94a3b8}.security-alert>p{color:#475569;margin:12px 0}.security-alert__meta{flex-wrap:wrap;gap:7px;display:flex}.security-alert__meta span{color:#64748b;background:#f1f5f9;border-radius:7px;padding:5px 8px;font-size:11px}.security-alert>button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:8px;margin-top:14px;padding:8px 13px;font-weight:800}@media (width<=720px){.security-alert__head{flex-direction:column;align-items:flex-start}.audit-filters--alerts{grid-template-columns:1fr}}
