:root{--primary: #19c8b9;--primary-hover: #3dd4c6;--primary-active: #11a89b;--primary-bg: #e6f9f6;--text: #794f27;--text-body: #725d42;--text-secondary: #9f927d;--text-muted: #8a7b66;--text-disabled: #c4b89e;--border: #9f927d;--border-light: #c4b89e;--border-hover: #a89878;--bg: #f8f8f0;--bg-content: rgb(247, 243, 223);--bg-secondary: #f0e8d8;--success: #6fba2c;--success-active: #5a9e1e;--warning: #f5c31c;--error: #e05a5a;--error-active: #c94444;--focus-yellow: #ffcc00;--focus-yellow-dark: #e0b800;--shadow-btn: #bdaea0;--shadow-input: #d4c9b4;--app-pink: #f8a6b2;--app-blue: #889df0;--app-yellow: #f7cd67;--app-orange: #e59266;--app-teal: #82d5bb;--app-green: #8ac68a;--app-red: #fc736d;--radius-sm: 12px;--radius-base: 18px;--radius-lg: 24px;--radius-pill: 50px;--font-family: Nunito, "Noto Sans SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-weight:500;color:var(--text-body);background:var(--bg);letter-spacing:.01em;line-height:1.6;min-height:100vh}a{color:var(--primary);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:45px;padding:0 20px;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1;border:2px solid var(--bg);border-radius:var(--radius-pill);color:var(--text);background:var(--bg);box-shadow:0 5px 0 0 var(--shadow-btn);transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.ac-btn:hover{transform:translateY(-1px);box-shadow:0 6px 0 0 var(--shadow-btn)}.ac-btn:active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--shadow-btn)}.ac-btn--primary{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 5px 0 0 var(--primary-active)}.ac-btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 6px 0 0 var(--primary-active)}.ac-btn--primary:active{box-shadow:0 1px 0 0 var(--primary-active)}.ac-btn--danger{color:#fff;background:var(--error);border-color:var(--error);box-shadow:0 5px 0 0 var(--error-active)}.ac-btn--large{height:52px;padding:0 32px;font-size:16px;border-radius:var(--radius-lg)}.ac-btn--small{height:32px;padding:0 16px;font-size:12px;border-radius:var(--radius-sm)}.ac-btn:disabled{opacity:.5;pointer-events:none}.ac-btn--block{width:100%}.ac-card{background:var(--bg-content);border-radius:20px;padding:16px 24px;color:var(--text-body);font-weight:500;box-shadow:0 4px 10px #6b5c436b;transition:all .3s ease}.ac-card:hover{transform:translateY(-4px)}.ac-card--flat:hover{transform:none}.ac-input{width:100%;height:40px;padding:0 18px;font-size:14px;font-weight:500;font-family:var(--font-family);color:var(--text-body);background:var(--bg-content);border:2.5px solid var(--border-light);border-radius:var(--radius-pill);box-shadow:0 3px 0 0 var(--shadow-input);transition:all .25s cubic-bezier(.4,0,.2,1);outline:none}.ac-input::placeholder{color:var(--text-disabled);font-weight:400}.ac-input:hover{border-color:var(--border-hover)}.ac-input:focus{border-color:var(--focus-yellow);box-shadow:0 3px 0 0 var(--focus-yellow-dark),0 0 0 3px #ffcc0026}.ac-textarea{width:100%;min-height:80px;padding:12px 18px;font-size:14px;font-weight:500;font-family:var(--font-family);color:var(--text-body);background:var(--bg-content);border:2.5px solid var(--border-light);border-radius:var(--radius-base);box-shadow:0 3px 0 0 var(--shadow-input);transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;resize:vertical}.ac-textarea:focus{border-color:var(--focus-yellow);box-shadow:0 3px 0 0 var(--focus-yellow-dark),0 0 0 3px #ffcc0026}.ac-checkbox-wrapper{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.ac-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2.5px solid var(--border-light);border-radius:8px;background:var(--bg-content);box-shadow:0 3px 0 0 var(--shadow-input);outline:none;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);margin:0;flex-shrink:0}.ac-checkbox:hover{border-color:var(--border-hover)}.ac-checkbox:checked{background:var(--primary);border-color:var(--primary);box-shadow:0 3px 0 0 var(--primary-active)}.ac-checkbox:checked:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:11px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg)}.ac-checkbox:active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--shadow-input)}.ac-checkbox:checked:active{box-shadow:0 1px 0 0 var(--primary-active)}.ac-checkbox-label{font-size:15px;font-weight:700;color:var(--text-body)}.ac-switch-wrapper{display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.ac-switch{position:relative;width:58px;height:32px;border-radius:16px;background-color:var(--border-light);border:2.5px solid var(--border-hover);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 0 0 var(--border-hover);display:flex;align-items:center;overflow:hidden}.ac-switch--checked{background-color:var(--success);border-color:var(--success-active);box-shadow:0 3px 0 0 var(--success-active)}.ac-switch__thumb{position:absolute;left:2px;width:23px;height:23px;border-radius:50%;background-color:#fff9e6;border:2.5px solid var(--border-hover);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.ac-switch--checked .ac-switch__thumb{left:calc(100% - 25px);border-color:var(--success-active)}.ac-switch__text{position:absolute;font-size:13px;font-weight:800;color:#fff;z-index:1;transition:opacity .2s ease}.ac-switch__text--on{left:9px;opacity:0;color:#fff}.ac-switch--checked .ac-switch__text--on{opacity:1}.ac-switch__text--off{right:9px;opacity:1;color:#fff}.ac-switch--checked .ac-switch__text--off{opacity:0}.ac-switch:active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--border-hover)}.ac-switch--checked:active{box-shadow:0 1px 0 0 var(--success-active)}.ac-switch:active .ac-switch__thumb{width:28px}.ac-switch--checked:active .ac-switch__thumb{left:calc(100% - 30px)}.ac-switch-label{font-size:15px;font-weight:700;color:var(--text-body)}.ac-progress{width:100%;height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.ac-progress__bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--app-teal));border-radius:6px;transition:width .4s ease}@keyframes ac-zoom-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes ac-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ac-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ac-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes ac-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.animate-fade-up{animation:ac-fade-up .4s ease-out}.animate-zoom-in{animation:ac-zoom-in .3s ease}.animate-shake{animation:ac-shake .4s ease-in-out}.audio-btn{transition:transform .15s cubic-bezier(.4,0,.2,1)}.audio-btn:active{transform:scale(.9) translate(1px,1px)}.page-container{width:100%;max-width:100%;margin:0 auto;padding:16px 12px;min-height:100vh}.page-container--wide{max-width:1200px}@media(min-width:640px){.page-container{max-width:480px;padding:24px 16px}}.page-title{font-size:24px;font-weight:800;color:var(--text);letter-spacing:.02em;text-align:center;margin-bottom:20px}@media(min-width:640px){.page-title{font-size:28px;margin-bottom:24px}}.page-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary);text-align:center;margin-top:-12px;margin-bottom:20px}.admin-layout{display:flex;min-height:100vh;background:#f5f5f5;font-family:var(--font-family)}.admin-sidebar{width:220px;background:#1e293b;color:#e2e8f0;padding:20px 0;flex-shrink:0;display:flex;flex-direction:column;transition:width .3s ease}.admin-sidebar--collapsed{width:64px}.admin-sidebar--collapsed .admin-sidebar-text{display:none}.admin-sidebar--collapsed .admin-sidebar__item{justify-content:center;padding:12px 0}.admin-sidebar--collapsed .admin-sidebar__logo{padding:0 0 24px;font-size:20px}.admin-sidebar__logo{font-size:20px;font-weight:700;color:#fff;text-align:center;padding:0 16px 24px;border-bottom:1px solid #334155;margin-bottom:12px}.admin-sidebar__item{display:flex;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s}.admin-sidebar__item:hover{color:#fff;background:#334155}.admin-sidebar__item--active{color:#fff;background:#3b82f6}.admin-content{flex:1;padding:24px 32px;overflow-y:auto}.admin-page-title{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:20px}.admin-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.admin-table{width:100%;border-collapse:collapse}.admin-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:2px solid #e2e8f0}.admin-table td{padding:12px 16px;font-size:14px;color:#334155;border-bottom:1px solid #f1f5f9}.admin-table tr:hover td{background:#f8fafc}.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#334155;cursor:pointer;transition:all .15s}.admin-btn:hover{background:#f1f5f9}.admin-btn--primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.admin-btn--primary:hover{background:#2563eb}.admin-btn--danger{color:#ef4444;border-color:#fecaca}.admin-btn--danger:hover{background:#fef2f2}.admin-form-group{margin-bottom:16px}.admin-form-group label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d1d5db;border-radius:8px;outline:none;transition:border-color .15s;font-family:var(--font-family)}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-form-group textarea{min-height:80px;resize:vertical}.admin-badge{display:inline-block;padding:2px 10px;font-size:12px;font-weight:600;border-radius:12px}.admin-badge--active{background:#dcfce7;color:#16a34a}.admin-badge--inactive{background:#f1f5f9;color:#64748b}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-login__card{background:#fff;border-radius:16px;padding:40px;width:400px;max-width:calc(100% - 32px);box-shadow:0 20px 60px #00000026}.admin-login__title{font-size:24px;font-weight:700;color:#1e293b;text-align:center;margin-bottom:32px}.admin-tooltip-container{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.admin-tooltip-dot{width:8px;height:8px;border-radius:50%;background-color:#22c55e;cursor:help}.admin-tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:100;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:8px 12px;background:#1e293b;color:#f8fafc;border-radius:6px;font-size:13px;min-width:200px;width:max-content;max-width:600px;text-align:left;white-space:pre-wrap;line-height:1.5;box-shadow:0 4px 6px -1px #0000001a;transition:opacity .2s,visibility .2s;pointer-events:none}.admin-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:#1e293b transparent transparent transparent}.admin-tooltip-container:hover .admin-tooltip-content{visibility:visible;opacity:1}.admin-tooltip-dot--orange{background-color:#f59e0b}.markdown-content p{margin-bottom:.5em}.markdown-content p:last-child{margin-bottom:0}@keyframes ac-toast-in{0%{opacity:0;transform:translateY(-20px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ac-toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.95)}}.ac-toast{animation:ac-toast-in .35s cubic-bezier(.4,0,.2,1) both}.ac-toast--leave{animation:ac-toast-out .3s cubic-bezier(.4,0,.2,1) both}@media(pointer:fine){.ac-cursor,.ac-cursor *{cursor:url(/cursor-icon.png) 4 0,auto!important}}
