:where(.ui-state){color:var(--text-secondary);font-size:var(--ui-state-font-size,var(--font-size-sm))}:where(.ui-state) :where(.ui-state-title){color:var(--text-primary);font-weight:600;margin:0 0 6px}:where(.ui-state) :where(.ui-state-description){line-height:1.6;margin:0}:where(.ui-state) :where(.ui-state-icon){color:var(--text-muted);font-size:36px}:where(.ui-state) :where(.ui-state-actions){margin-top:var(--spacing-md,16px)}:where(.ui-state--block){align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--ui-state-padding,40px 24px);text-align:center}:where(.ui-state--compact){align-items:center;display:flex;gap:10px;padding:var(--ui-state-padding,12px)}:where(.ui-state--error) :where(.ui-state-icon){color:var(--text-danger)}:where(.ui-state--loading) :where(.ui-state-icon){animation:ui-state-spin 1s linear infinite}@keyframes ui-state-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){:where(.ui-state--loading) :where(.ui-state-icon){animation:none}}:where(.ui-action){cursor:pointer;font-family:inherit;font-size:var(--ui-action-font-size,inherit)}:where(.ui-action):focus-visible{outline:2px solid var(--border-focus,var(--color-primary));outline-offset:2px}:where(.ui-action):disabled{cursor:not-allowed;opacity:var(--ui-control-disabled-opacity,.45)}.btn{align-items:center;border:1px solid #0000;border-radius:var(--ui-control-radius,var(--border-radius-md,12px));cursor:pointer;display:inline-flex;font-weight:500;gap:6px;justify-content:center;line-height:1.4;min-height:var(--ui-control-height,var(--control-height-md,40px));outline:none;padding:0 16px;-webkit-text-decoration:none;text-decoration:none;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none}.btn:focus-visible{box-shadow:var(--focus-ring,0 0 0 3px #06b6d42e)}.btn.btn-sm{border-radius:var(--ui-control-radius,6px);font-size:var(--font-size-xs);min-height:var(--ui-control-height,var(--control-height-sm,32px));padding:0 12px}.btn.btn-md{font-size:var(--font-size-sm);padding:0 18px}.btn.btn-lg{border-radius:var(--ui-control-radius,12px);font-size:var(--font-size-base);min-height:var(--ui-control-height,var(--control-height-lg,48px));padding:0 24px}.btn.btn-primary{background-color:var(--color-primary,#0891b2);border-color:var(--color-primary,#0891b2);box-shadow:0 1px 3px #0891b233;color:var(--text-on-primary)}.btn.btn-primary:hover:not(:disabled):not(.btn-loading){background-color:var(--color-primary-light,#06b6d4);border-color:var(--color-primary-light,#06b6d4);box-shadow:0 4px 12px #0891b247;transform:translateY(-1px)}.btn.btn-primary:active:not(:disabled):not(.btn-loading){background-color:var(--color-primary-dark,#0e7490);border-color:var(--color-primary-dark,#0e7490);box-shadow:0 1px 2px #0891b226;transform:translateY(0)}.btn.btn-secondary{background-color:initial;border-color:var(--border-color-strong,#d1d5db);color:var(--text-primary)}.btn.btn-secondary:hover:not(:disabled):not(.btn-loading){background-color:var(--bg-soft,#f3f4f6);border-color:var(--border-color-hover);transform:translateY(-1px)}.btn.btn-secondary:active:not(:disabled):not(.btn-loading){background-color:var(--bg-soft,#e5e7eb)}.btn.btn-danger{background-color:var(--color-danger,#ef4444);border-color:var(--color-danger,#ef4444);box-shadow:0 1px 3px #ef444433;color:var(--text-on-danger)}.btn.btn-danger:hover:not(:disabled):not(.btn-loading){background-color:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef444440}.btn.btn-danger:active:not(:disabled):not(.btn-loading){background-color:#b91c1c}.btn.btn-text{background-color:initial;border-color:#0000;color:var(--color-primary,#0891b2)}.btn.btn-text:hover:not(:disabled):not(.btn-loading){background-color:#0891b214}.btn.btn-text:active:not(:disabled):not(.btn-loading){background-color:#0891b224}.btn:disabled{cursor:not-allowed;opacity:.45}.btn.btn-loading{cursor:wait;position:relative}.btn.btn-loading .btn-content{opacity:.6}.btn.btn-block{display:flex;width:100%}.btn.btn-round{border-radius:999px}.btn.btn-circle{border-radius:50%}.btn-icon{display:inline-flex;flex-shrink:0}.btn-icon,.public-route-error{align-items:center;justify-content:center}.public-route-error{color:var(--text-primary);display:flex;flex-direction:column;min-height:min(60vh,520px);padding:32px 20px;text-align:center}.public-route-error-icon{background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:18px;color:var(--color-warning);display:grid;font-size:28px;font-weight:800;height:58px;margin-bottom:16px;place-items:center;width:58px}.public-route-error h1{font-size:clamp(20px,3vw,28px);letter-spacing:-.03em;margin:0}.public-route-error p{color:var(--text-tertiary);font-size:var(--font-size-caption);line-height:1.6;margin:10px 0 20px;max-width:320px}.public-route-error-actions{align-items:center;display:flex;gap:10px}.public-route-error-actions a,.public-route-error-actions button{border-radius:11px;font-size:var(--font-size-xs);font-weight:700;min-height:38px;padding:0 15px;-webkit-text-decoration:none;text-decoration:none}.public-route-error-primary{background:var(--gradient-primary);border:0;box-shadow:var(--shadow-primary);color:var(--text-on-control);cursor:pointer}.public-route-error-actions a{align-items:center;background:var(--bg-soft);border:1px solid var(--border-color-strong);color:var(--text-secondary);display:inline-flex}.public-route-error-actions a:focus-visible,.public-route-error-actions button:focus-visible{box-shadow:var(--focus-ring);outline:none}.mobile-button{font-size:var(--font-size-sm);padding:12px 14px}.m-icon{display:inline-block;fill:none;flex:none;vertical-align:middle}.m-error-boundary{display:flex;flex-direction:column;min-height:60vh;padding:48px 32px;text-align:center}.m-error-boundary,.m-error-boundary-icon{align-items:center;justify-content:center}.m-error-boundary-icon{background:#ff95001f;border-radius:50%;color:#ff9500;display:inline-flex;height:76px;margin-bottom:20px;width:76px}.m-error-boundary-title{color:var(--text-primary,#ffffffe6);font-size:var(--font-size-lg);font-weight:700;margin:0 0 8px}.m-error-boundary-desc{color:var(--text-secondary,#ffffff8c);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 28px}.m-error-boundary-actions{display:flex;flex-direction:column;gap:12px;max-width:240px;width:100%}.m-error-boundary-btn{background:#0000;border:1px solid var(--border-color,#ffffff24);border-radius:999px;color:var(--text-primary,#ffffffd9);cursor:pointer;font-size:var(--font-size-md);font-weight:600;padding:12px 20px;transition:transform .12s ease,opacity .12s ease;width:100%;-webkit-tap-highlight-color:transparent}.m-error-boundary-btn:active{opacity:.85;transform:scale(.97)}.m-error-boundary-btn--primary{background:var(--primary-color,#4f7cff);border:none;color:var(--text-on-control)}.global-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffc;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}[data-theme=dark] .global-loading-overlay{background:#000000b3}.global-loading-spinner{align-items:center;display:flex;flex-direction:column;gap:12px}.spinner-circle{animation:global-spinner-rotate .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}.spinner-text{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500}@keyframes global-spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.route-intent-bar{--route-intent-accent:var(--route-accent,var(--color-primary-light));align-items:center;background:color-mix(in srgb,var(--bg-card) 86%,#0000);border:1px solid color-mix(in srgb,var(--route-intent-accent) 24%,var(--border-color));border-radius:14px;box-shadow:0 8px 24px #0000000f;box-sizing:border-box;color:var(--text-secondary);display:flex;font-size:var(--font-size-xs);gap:12px;line-height:1.35;margin:10px 0 0;min-height:42px;padding:8px 12px;width:100%}.route-intent-kicker{color:var(--route-intent-accent);flex:0 0 auto;font-size:var(--font-size-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.route-intent-focus{color:var(--text-primary);flex:0 0 auto;font-size:var(--font-size-sm)}.route-intent-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-intent-action{align-items:center;border:1px solid color-mix(in srgb,var(--route-intent-accent) 30%,var(--border-color));border-radius:999px;color:var(--route-intent-accent);display:inline-flex;flex:0 0 auto;font-weight:700;gap:3px;margin-left:auto;padding:5px 9px;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap}.route-intent-action:focus-visible,.route-intent-action:hover{background:color-mix(in srgb,var(--route-intent-accent) 12%,#0000);outline:none}.route-intent-bar:focus-within{border-color:color-mix(in srgb,var(--route-intent-accent) 55%,var(--border-color))}@media (max-width:768px){.route-intent-bar{border-radius:11px;font-size:var(--font-size-xs);gap:7px;margin:6px 0 0;min-height:36px;padding:7px 9px;width:100%}.route-intent-kicker{display:none}.route-intent-focus{font-size:var(--font-size-xs)}.route-intent-detail{flex:1 1 auto}.route-intent-action{font-size:var(--font-size-2xs);padding:4px 7px}}@media (max-width:480px){.route-intent-detail{display:none}.route-intent-action{margin-left:auto}}.alert{border:1px solid #0000;border-radius:6px;font-size:var(--font-size-sm);gap:10px;line-height:1.5;padding:12px 16px}.alert,.alert .alert-icon{align-items:flex-start;display:flex}.alert .alert-icon{flex-shrink:0;padding-top:1px}.alert .alert-icon .alert-icon-svg{height:16px;width:16px}.alert .alert-body{flex:1;min-width:0}.alert .alert-title{font-weight:600;margin-bottom:2px}.alert .alert-message{word-break:break-word}.alert .alert-close{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:.6;padding:0;transition:opacity .2s ease,background-color .2s ease;width:20px}.alert .alert-close .alert-close-icon{height:12px;width:12px}.alert .alert-close:hover{background-color:#0000000f;opacity:1}.alert .alert-action{align-items:center;background:#0000;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--font-size-xs);line-height:1.5;opacity:.8;padding:2px 8px;transition:opacity .2s ease,background-color .2s ease}.alert .alert-action:hover{background-color:#0000000f;opacity:1}.alert.alert-info{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert.alert-info .alert-icon-svg{color:var(--color-info,#3b82f6)}.alert.alert-info .alert-title{color:#1e40af}.alert.alert-success{background-color:#f0fdf4;border-color:#bbf7d0;color:var(--text-success)}.alert.alert-success .alert-icon-svg{color:#22c55e}.alert.alert-success .alert-title{color:var(--text-success)}.alert.alert-warning{background-color:#fffbeb;border-color:#fde68a;color:var(--text-warning)}.alert.alert-warning .alert-icon-svg{color:var(--color-warning,#f59e0b)}.alert.alert-warning .alert-title{color:var(--text-warning)}.alert.alert-error{background-color:#fef2f2;border-color:#fecaca;color:var(--text-danger)}.alert.alert-error .alert-icon-svg{color:var(--color-error,#ef4444)}.alert.alert-error .alert-title{color:var(--text-danger)}:where(.ui-dialog-surface){background:var(--ui-dialog-surface,var(--surface-overlay,var(--bg-primary)));border-radius:var(--ui-dialog-radius,var(--border-radius-lg,16px));color:var(--ui-dialog-text,var(--text-primary));font-size:var(--ui-dialog-font-size,inherit)}.dialog-overlay{align-items:center;animation:dialogFadeIn .18s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:radial-gradient(circle at 50% 16%,#3b82f624,#0000 34%),#020617a8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-modal{animation:dialogSlideUp .24s cubic-bezier(.22,1,.36,1);background:linear-gradient(145deg,#1e293bfc,#0f172afc);border:1px solid #94a3b83d;border-radius:20px;box-shadow:0 28px 72px #02061780,0 2px 8px #0206173d,inset 0 1px 0 #ffffff0d;display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:min(calc(100vw - 48px),100%);overflow:hidden;position:relative}:is([data-theme=light],[data-theme=normal]) .dialog-modal{background:linear-gradient(145deg,#fff,#f8fafc);border-color:#94a3b847;box-shadow:0 28px 72px #0f172a2e,0 2px 8px #0f172a0f}.dialog-header{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.035),#0000);border-bottom:1px solid #94a3b824;display:flex;justify-content:space-between;min-height:66px;padding:18px 22px 14px 24px}.dialog-header .dialog-title{color:var(--text-primary,#1a1a1a);font-family:var(--font-heading);font-size:var(--font-size-body-lg);font-weight:800}.dialog-header .dialog-close{align-items:center;background:#94a3b80f;border:1px solid #0000;border-radius:10px;color:var(--text-muted,#94a3b8);cursor:pointer;display:inline-flex;font-size:var(--font-size-xl);height:34px;justify-content:center;margin:-4px -4px -2px 0;padding:0;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease;width:34px}.dialog-header .dialog-close:hover{background:#94a3b824;border-color:#94a3b838;color:var(--text-primary,#1a1a1a);transform:rotate(4deg)}.dialog-body{color:var(--text-secondary,#555);flex:1;font-size:var(--font-size-sm);line-height:1.7;overflow-y:auto;padding:22px 24px 24px}.dialog-footer{align-items:center;background:#0206171f;border-top:1px solid #94a3b81a;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px 18px;position:relative}.dialog-footer:before{background:linear-gradient(90deg,#0000,#67e8f93d,#0000);content:"";height:1px;left:20px;pointer-events:none;position:absolute;right:20px;top:-1px}.dialog-footer>.btn{border-radius:12px;font-weight:700;min-height:42px;min-width:96px;padding:9px 17px}.dialog-close:focus-visible,.dialog-footer button:focus-visible{box-shadow:0 0 0 3px #38bdf84d;outline:none}.dialog-btn{border:1px solid #0000;border-radius:12px;cursor:pointer;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.01em;min-height:42px;min-width:104px;padding:9px 18px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.dialog-btn:active{transform:scale(.98)}.dialog-btn--cancel{background:#94a3b80f;border-color:#94a3b842;color:var(--text-secondary)}.dialog-btn--cancel:hover{background:#94a3b81f;border-color:#94a3b86b;color:var(--text-primary)}.dialog-btn--ok{background:linear-gradient(180deg,#0891b2,#0e7490);border-color:#67e8f975;box-shadow:0 6px 14px #0891b23d,inset 0 1px 0 #ffffff1f;color:var(--text-on-solid)}.dialog-btn--ok:hover{background:linear-gradient(180deg,#06b6d4,#0891b2);border-color:#a5f3fcb3;box-shadow:0 8px 18px #0891b257,inset 0 1px 0 #ffffff29;transform:translateY(-1px)}:is([data-theme=light],[data-theme=normal]) .dialog-overlay{background:radial-gradient(circle at 50% 16%,#0ea5e91f,#0000 34%),#0f172a6b}:is([data-theme=light],[data-theme=normal]) .dialog-footer{background:#f1f5f9b8;border-top-color:#64748b1f}:is([data-theme=light],[data-theme=normal]) .dialog-footer:before{background:linear-gradient(90deg,#0000,#0e749038,#0000)}:is([data-theme=light],[data-theme=normal]) .dialog-btn--cancel{background:#ffffffb3;border-color:#64748b3d;color:var(--text-secondary)}:is([data-theme=light],[data-theme=normal]) .dialog-btn--cancel:hover{background:#e0f2fec2;border-color:#0e749052;color:#0c4a6e}@media (max-width:640px){.dialog-overlay{align-items:flex-end;padding:12px}.dialog-modal{border-radius:18px;max-height:calc(100vh - 24px);max-width:100%}.dialog-header{min-height:60px;padding:16px 16px 12px 20px}.dialog-body{padding:18px 20px 20px}.dialog-footer{gap:10px;padding:12px 16px calc(16px + env(safe-area-inset-bottom, 0px))}.dialog-btn,.dialog-footer>button{border-radius:13px;flex:1;min-height:48px;min-width:0}.dialog-footer:before{left:16px;right:16px}}.dialog-overlay.confirm-dialog{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 20%,#22d3ee1f,#0000 36%),#020617b3;padding:20px;z-index:1300}.dialog-overlay.confirm-dialog .dialog-modal{background:linear-gradient(145deg,#1e293bfa,#0f172afa);border:1px solid #94a3b83d;border-radius:22px;box-shadow:0 28px 80px #02061785,inset 0 0 0 1px #ffffff08;overflow:hidden;width:min(100%,440px)!important}.dialog-overlay.confirm-dialog .dialog-header{border:0;padding:24px 24px 0}.confirm-dialog-title{align-items:center;color:var(--text-primary);display:inline-flex;font-size:var(--font-size-lg);font-weight:800;gap:11px;letter-spacing:-.02em}.confirm-dialog-title-icon{background:#06b6d424;border:1px solid #22d3ee61;border-radius:9px;color:var(--text-link);display:inline-grid;font-family:var(--font-body);font-size:var(--font-size-md);font-weight:900;height:28px;place-items:center;width:28px}.confirm-dialog--danger .dialog-modal{background:radial-gradient(circle at 4% 0,#f43f5e29,#0000 34%),linear-gradient(145deg,#321926fa,#0f172afa);border-color:#fb718552}.confirm-dialog--danger .confirm-dialog-title-icon{background:#f43f5e26;border-color:#fb71856b;color:var(--text-danger)}.dialog-overlay.confirm-dialog .dialog-close{border:1px solid #0000;border-radius:10px;color:var(--text-muted);height:34px;margin:-7px -7px 0 0;width:34px}.dialog-overlay.confirm-dialog .dialog-close:hover{background:#94a3b81f;border-color:#94a3b83d;color:var(--text-primary)}.dialog-overlay.confirm-dialog .dialog-body{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.75;padding:16px 24px 24px}.confirm-dialog-message strong{color:var(--text-primary)}.dialog-overlay.confirm-dialog .dialog-footer{border:0;gap:10px;padding:16px 24px 22px}.confirm-dialog-button{border-radius:11px;cursor:pointer;font-size:var(--font-size-sm);font-weight:750;min-height:42px;min-width:96px;padding:10px 16px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.confirm-dialog-button:active{transform:translateY(1px)}.confirm-dialog-button--cancel{background:#94a3b814;border:1px solid #94a3b847;color:var(--text-secondary)}.confirm-dialog-button--cancel:hover{background:#94a3b826;border-color:#94a3b87a}.confirm-dialog-button--confirm{background:linear-gradient(135deg,#0891b2,#0e7490);border:1px solid #22d3ee8c;box-shadow:0 8px 20px #0891b247;color:#ecfeff}.confirm-dialog-button--confirm:hover{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 10px 26px #0891b261;transform:translateY(-1px)}.confirm-dialog--danger .confirm-dialog-button--confirm{background:linear-gradient(135deg,#e11d48,#be123c);border-color:#fb718594;box-shadow:0 8px 20px #e11d4847}.confirm-dialog--danger .confirm-dialog-button--confirm:hover{background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 10px 26px #e11d4861}:is([data-theme=light],[data-theme=normal]) .dialog-overlay.confirm-dialog{background:#0f172a70}:is([data-theme=light],[data-theme=normal]) .dialog-overlay.confirm-dialog .dialog-modal{background:linear-gradient(145deg,#fff,#f1f5f9);border-color:#94a3b84d;box-shadow:0 28px 80px #0f172a38}:is([data-theme=light],[data-theme=normal]) .confirm-dialog-message strong,:is([data-theme=light],[data-theme=normal]) .confirm-dialog-title{color:var(--text-primary)}:is([data-theme=light],[data-theme=normal]) .dialog-overlay.confirm-dialog .dialog-body{color:var(--text-secondary)}:is([data-theme=light],[data-theme=normal]) .confirm-dialog-button--cancel{background:#94a3b81f;border-color:#64748b47;color:var(--text-secondary)}@media (max-width:560px){.dialog-overlay.confirm-dialog{align-items:flex-end;padding:12px}.dialog-overlay.confirm-dialog .dialog-modal{border-radius:20px}.dialog-overlay.confirm-dialog .dialog-header{padding:20px 20px 0}.dialog-overlay.confirm-dialog .dialog-body{padding:14px 20px 20px}.dialog-overlay.confirm-dialog .dialog-footer{padding:12px 20px 20px}.confirm-dialog-button{flex:1;min-height:46px}}.m-toast-container{align-items:center;bottom:80px;display:flex;flex-direction:column;gap:8px;left:50%;padding-bottom:env(safe-area-inset-bottom,0);pointer-events:none;position:fixed;transform:translateX(-50%);z-index:9999}.m-toast{animation:m-toast-enter .25s ease;background:#000000c7;border-radius:10px;box-shadow:0 4px 16px #00000026;font-size:var(--font-size-md);font-weight:500;min-height:44px;min-width:120px;padding:12px 20px}.m-toast--success{background:#10b981e6}.m-toast--error{background:#ef4444e6}.m-toast--warning{background:#f59e0be6}.m-toast--info{background:#3b82f6e6}.m-toast-icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:var(--font-size-base);height:20px;justify-content:center;width:20px}.m-toast-message{flex:1;line-height:1.4;word-break:break-all}.m-toast-close{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:var(--text-on-solid);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--font-size-lg);justify-content:center;min-height:28px;min-width:28px;padding:0;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.m-toast-close:active{background:#ffffff4d}@keyframes m-toast-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.m-network-status{align-items:center;animation:m-network-slide .28s cubic-bezier(.22,.61,.36,1) both;color:var(--text-on-control);display:flex;font-size:var(--font-size-caption);font-weight:600;gap:8px;justify-content:center;left:0;padding:8px 16px;position:fixed;right:0;top:calc(env(safe-area-inset-top, 0px));z-index:9000}.m-network-status .m-network-status-dot{animation:m-network-pulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;flex:none;height:8px;width:8px}.m-network-status.is-offline{background:#ff3b30}.m-network-status.is-online{background:#34c759}@keyframes m-network-slide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes m-network-pulse{0%,to{opacity:1}50%{opacity:.35}}:root{--font-size-root:100%;--density-scale:1;--font-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;--color-primary:#0891b2;--color-primary-light:#06b6d4;--color-primary-dark:#0e7490;--color-secondary:#a855f7;--color-accent:#f59e0b;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--gradient-primary:linear-gradient(135deg,#0891b2,#a855f7);--gradient-secondary:linear-gradient(135deg,#a855f7,#ec4899);--gradient-dark:radial-gradient(ellipse at top,#0c1222 0%,#050a14 58%);--gradient-glow:conic-gradient(from 180deg at 50% 50%,#0891b2 0deg,#a855f7 180deg,#10b981 360deg);--gradient-surface:linear-gradient(180deg,#ffffff0d,hsla(0,0%,100%,.015));--bg-primary:#060a13;--bg-secondary:#0c1322;--bg-tertiary:#111827;--bg-elevated:#1a2332;--bg-card:#0c1322c7;--bg-card-hover:#1a2332eb;--bg-glass:#060a13c7;--bg-soft:#ffffff0a;--surface-control:#ffffff0a;--surface-control-hover:#ffffff12;--surface-selected:#0b2338b8;--text-primary:#fafafa;--text-secondary:#c4c4ce;--text-tertiary:#a1a1aa;--text-muted:#71717a;--text-inverse:#09090b;--text-link:var(--color-primary-light);--text-on-solid:#fff;--text-on-primary:var(--text-on-solid);--text-on-danger:var(--text-on-solid);--text-on-control:var(--text-on-solid);--text-on-media:var(--text-on-solid);--text-on-selected:var(--text-on-solid);--text-success:#6ee7b7;--text-warning:#fde68a;--text-danger:#fecaca;--border-color:#ffffff1a;--border-color-strong:#ffffff26;--border-color-hover:#fff3;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:24px;--border-radius-pill:9999px;--shadow-sm:0 2px 8px #0000001f,0 4px 16px #060a1314;--shadow-md:0 4px 16px #060a132e,0 8px 32px #060a131f;--shadow-lg:0 8px 24px #060a1338,0 16px 48px #060a1329;--shadow-primary:0 8px 24px #0891b247,0 4px 12px #06b6d42e;--shadow-glow:0 8px 32px #a855f738,0 4px 16px #0891b224;--focus-ring:0 0 0 3px #06b6d438;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--spacing-4xl:96px;--font-size-2xs:0.625rem;--font-size-xs:0.75rem;--font-size-caption:0.8125rem;--font-size-sm:0.875rem;--font-size-md:0.9375rem;--font-size-base:1rem;--font-size-body-lg:1.0625rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-heading:1.375rem;--font-size-2xl:1.5rem;--font-size-3xl:2.25rem;--font-size-4xl:3.5rem;--content-gutter:clamp(16px,3.2vw,40px);--page-max-width:1280px;--control-height-sm:32px;--control-height-md:40px;--control-height-lg:48px;--surface-0:var(--bg-primary);--surface-1:var(--bg-card);--surface-2:var(--bg-elevated);--surface-3:color-mix(in srgb,var(--bg-elevated) 88%,var(--color-primary) 12%);--border-subtle:color-mix(in srgb,var(--border-color) 72%,#0000);--border-focus:color-mix(in srgb,var(--color-primary-light) 70%,var(--border-color-strong));--shadow-card:0 8px 24px #0f172a12,0 2px 6px #0f172a0a;--shadow-card-hover:0 16px 36px #0f172a1f,0 4px 12px #0f172a0f;--ease-standard:cubic-bezier(0.2,0.65,0.25,1);--ease-emphasis:cubic-bezier(0.16,1,0.3,1);--transition-fast:0.15s ease-out;--transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.5s cubic-bezier(0.22,1,0.36,1);--transition-spring:0.6s cubic-bezier(0.175,0.885,0.32,1.275);--title-font-size:var(--font-size-4xl);--title-font-weight:800;--title-letter-spacing:-0.02em;--title-gradient:linear-gradient(135deg,#fff,#a5f3fc 30%,#c4b5fd 60%,#fde68a);--content-max-width:1440px;--reading-max-width:840px}:is([data-theme=light],[data-theme=normal]){--color-primary:#0e7490;--color-primary-light:#0891b2;--color-primary-dark:#155e75;--color-secondary:#7c3aed;--bg-primary:#f0f9ff;--bg-secondary:#ecfeff;--bg-tertiary:#e0f2fe;--bg-elevated:#fff;--bg-card:#ffffffe0;--bg-card-hover:#fff;--bg-glass:#ffffffd1;--bg-soft:#0891b20d;--surface-control:rgba(15,23,42,.035);--surface-control-hover:#0f172a12;--surface-selected:linear-gradient(135deg,#ecfdfff5,#e0f2feeb);--text-primary:#0c1322;--text-secondary:#1e3a5f;--text-tertiary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--text-link:var(--color-primary-dark);--text-on-primary:#f8fafc;--text-on-danger:#450a0a;--text-on-control:#0f172a;--text-on-selected:#0f172a;--text-success:#047857;--text-warning:#a16207;--text-danger:#b91c1c;--border-color:#0c132214;--border-color-strong:#0c13221f;--border-color-hover:#0c132229;--gradient-dark:linear-gradient(180deg,#f0f9ff,#ecfeff);--gradient-surface:linear-gradient(180deg,#fffffff5,#f0f9fff5);--title-gradient:linear-gradient(135deg,#0c1322,#0e7490 50%,#7c3aed);--shadow-sm:0 2px 8px #0c13220a,0 4px 16px #0c132208;--shadow-md:0 4px 16px #0c13220f,0 8px 28px #0c13220d;--shadow-lg:0 8px 24px #0c132214,0 16px 48px #0c13220f;--shadow-primary:0 8px 24px #0891b229,0 4px 12px #0891b21a;--shadow-glow:0 8px 28px #a855f71f,0 4px 14px #0891b214;--focus-ring:0 0 0 3px #0891b22e,0 0 0 1px var(--bg-elevated);--shadow-card:0 8px 24px #0c132212,0 2px 6px #0c13220a;--shadow-card-hover:0 16px 36px #0c13221f,0 4px 12px #0c13220f}[data-theme=normal]{--color-primary:#597589;--color-primary-light:#7892a4;--color-primary-dark:#435d70;--color-secondary:#7b7390;--color-accent:#b78a4d;--color-success:#4f8a6b;--color-warning:#a8783d;--color-danger:#ad6565;--bg-primary:#f5f6f7;--bg-secondary:#f0f2f3;--bg-tertiary:#e8ecee;--bg-elevated:#fff;--bg-card:#ffffffeb;--bg-card-hover:#fff;--bg-glass:#ffffffe6;--bg-soft:rgba(67,93,112,.045);--surface-control:rgba(67,93,112,.045);--surface-control-hover:#435d7014;--surface-selected:linear-gradient(135deg,#eef2f3,#e6ecee);--text-primary:#26333b;--text-secondary:#52636d;--text-tertiary:#71808a;--text-muted:#94a0a7;--text-inverse:#fff;--text-link:var(--color-primary-dark);--text-on-primary:#f8fafc;--text-on-danger:#3f2020;--text-on-control:#1f2c34;--text-on-selected:#26333b;--text-success:#356a4d;--text-warning:#805a2b;--text-danger:#8b4545;--border-color:#26333b17;--border-color-strong:#26333b24;--border-color-hover:#26333b30;--gradient-primary:linear-gradient(135deg,#6c8798,#858096);--gradient-secondary:linear-gradient(135deg,#858096,#a58b92);--gradient-dark:linear-gradient(180deg,#f5f6f7,#eef1f2);--gradient-surface:linear-gradient(180deg,#fffffff5,#f5f6f7f5);--title-gradient:linear-gradient(135deg,#26333b,#597589 55%,#7b7390);--shadow-sm:0 2px 8px rgba(38,51,59,.035),0 4px 16px rgba(38,51,59,.025);--shadow-md:0 4px 16px rgba(38,51,59,.055),0 8px 28px #26333b0a;--shadow-lg:0 8px 24px #26333b12,0 16px 48px #26333b0d;--shadow-primary:0 8px 20px #5975891f,0 4px 10px #59758914;--shadow-glow:0 6px 18px #7b739014,0 4px 10px #5975890f;--focus-ring:0 0 0 3px #59758929,0 0 0 1px var(--bg-elevated);--shadow-card:0 8px 24px #26333b12,0 2px 6px #26333b0a;--shadow-card-hover:0 16px 36px #26333b1f,0 4px 12px #26333b0f}[data-theme=evening]{--color-primary:#70838d;--color-primary-light:#8a9aa2;--color-primary-dark:#566871;--color-secondary:#85818a;--color-accent:#a58a62;--color-success:#668673;--color-warning:#a4875b;--color-danger:#a16b6b;--gradient-primary:linear-gradient(135deg,#70838d,#85818a);--gradient-secondary:linear-gradient(135deg,#85818a,#987f7d);--gradient-dark:linear-gradient(180deg,#151a1d,#101416);--gradient-glow:none;--gradient-surface:linear-gradient(180deg,hsla(0,0%,100%,.045),hsla(0,0%,100%,.018));--bg-primary:#101416;--bg-secondary:#161c1f;--bg-tertiary:#1c2427;--bg-elevated:#232c30;--bg-card:#161c1feb;--bg-card-hover:#232c30f5;--bg-glass:#101416e6;--bg-soft:rgba(138,154,162,.045);--surface-control:hsla(0,0%,100%,.045);--surface-control-hover:hsla(0,0%,100%,.075);--surface-selected:#56687157;--text-primary:#edf0ef;--text-secondary:#c2cbcb;--text-tertiary:#9ba8a8;--text-muted:#748080;--text-link:#9eafb4;--text-success:#9ec4aa;--text-warning:#d2bc92;--text-danger:#d3a5a5;--border-color:#ffffff17;--border-color-strong:#ffffff24;--border-color-hover:#ffffff2e;--title-gradient:linear-gradient(135deg,#edf0ef,#b9c5c7 55%,#c5c0c5);--shadow-sm:0 2px 8px #00000029;--shadow-md:0 4px 16px #00000038;--shadow-lg:0 8px 24px #00000047;--shadow-primary:0 6px 16px #70838d21;--shadow-glow:0 6px 16px #85818a14;--focus-ring:0 0 0 3px #8a9aa22e;--shadow-card:0 8px 24px #00000029,0 2px 6px #0000001a;--shadow-card-hover:0 12px 28px #00000038,0 3px 8px #0000001f}.toast-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:center;animation:slideIn .3s ease;background:#fff;border-radius:10px;box-shadow:0 4px 12px #00000026;display:flex;font-size:var(--font-size-md);gap:12px;max-width:420px;min-width:280px;padding:14px 20px}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:var(--font-size-lg);font-weight:700;height:24px;justify-content:center;width:24px}.toast-message{color:var(--text-primary);flex:1;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;font-size:var(--font-size-xl);line-height:1;padding:0 4px;transition:color .2s}.toast-close,.toast-close:hover{color:var(--text-muted)}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{background:#d1fae5;color:var(--text-success)}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{background:#fee2e2;color:var(--text-danger)}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{background:#fef3c7;color:var(--text-warning)}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{background:#dbeafe;color:var(--text-link)}@media (max-width:480px){.toast-container{left:16px;right:16px}.toast{max-width:none;min-width:auto}}html[data-route]{--route-accent:var(--color-primary-light);--route-accent-soft:#06b6d41f;--route-surface:color-mix(in srgb,var(--bg-card) 90%,#0000);--route-surface-raised:color-mix(in srgb,var(--bg-elevated) 92%,#0000)}html[data-route="/archive"],html[data-route="/books"],html[data-route="/mobile/archive"],html[data-route="/mobile/books"]{--route-accent:#60a5fa;--route-accent-soft:#60a5fa24}html[data-route="/mobile/tags"],html[data-route="/tags"],html[data-route="/ui"],html[data-route="/ui-mobile"]{--route-accent:#a78bfa;--route-accent-soft:#a78bfa24}html[data-route="/about"],html[data-route="/albums"],html[data-route="/mobile/about"],html[data-route="/mobile/albums"]{--route-accent:#34d399;--route-accent-soft:#34d39924}html[data-route="/guestbook"],html[data-route="/links"],html[data-route="/mobile/guestbook"],html[data-route="/mobile/links"]{--route-accent:#f59e0b;--route-accent-soft:#f59e0b24}html[data-route="/admin/bookkeeping"],html[data-route="/admin/upload"]{--route-accent:#22c55e;--route-accent-soft:#22c55e24}html[data-route="/admin/menu"],html[data-route="/admin/role"],html[data-route="/admin/user"]{--route-accent:#8b5cf6;--route-accent-soft:#8b5cf624}html[data-route="/admin/personalsetting"],html[data-route="/admin/settings"],html[data-route="/admin/sms-settings"]{--route-accent:#14b8a6;--route-accent-soft:#14b8a624}html[data-route="/admin/todos"]{--route-accent:#f97316;--route-accent-soft:#f9731624}html[data-route="/admin/log"],html[data-route="/admin/log-viewer"]{--route-accent:#64748b;--route-accent-soft:#64748b29}html[data-route="/admin/backup"],html[data-route="/admin/webhooks"]{--route-accent:#ef4444;--route-accent-soft:#ef444424}html[data-route="/admin/banner"],html[data-route="/admin/tag"]{--route-accent:#ec4899;--route-accent-soft:#ec489924}html[data-route="/admin/api-tests"],html[data-route="/admin/monitor"],html[data-route="/admin/routes"]{--route-accent:#38bdf8;--route-accent-soft:#38bdf824}html[data-route="/ui"],html[data-route="/ui-mobile"],html[data-route="/ui/changelog"]{--route-accent:#a78bfa;--route-accent-soft:#a78bfa24}html:is([data-theme=normal],[data-theme=evening])[data-route]{--route-accent:var(--color-primary);--route-accent-soft:color-mix(in srgb,var(--color-primary) 12%,#0000)}html[data-theme=evening][data-route]:not([data-route^="/admin"]):not([data-route^="/m-admin"]){--color-primary:#6f9fcf;--color-primary-light:#93bce4;--color-primary-dark:#4f78a4;--color-secondary:#9a8bc2;--bg-primary:#0b1020;--bg-secondary:#101b35;--bg-tertiary:#18294a;--bg-elevated:#21365b;--bg-card:#1a2d50;--bg-card-hover:#263e68;--bg-glass:#0b1020f0;--bg-soft:#6f9fcf1a;--surface-control:#94a3b81a;--surface-control-hover:#94a3b829;--surface-selected:#4f78a485;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-muted:#718096;--border-color:#94a3b82e;--border-color-strong:#94a3b847;--border-color-hover:#93bce475;--gradient-primary:linear-gradient(135deg,#6f9fcf,#8d91bb);--gradient-secondary:linear-gradient(135deg,#8d91bb,#a4849d);--gradient-dark:linear-gradient(180deg,#0b1020,#101b35);--gradient-surface:linear-gradient(180deg,#263e68,#1a2d50);--route-surface:#1a2d50;--route-surface-raised:#223a60;--shadow-card:0 10px 26px #02061738,0 2px 6px #02061729;--shadow-card-hover:0 16px 34px #0206174d,0 4px 10px #02061733}html[data-theme=evening][data-route]:not([data-route^="/admin"]):not([data-route^="/m-admin"]) :is(.blog-detail-content,.article-content,.book-content,.album-photo-grid,.tags-cloud-card,.tags-list-card,.search-placeholder-panel){background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 7%,#0000),#0000 42%),var(--route-surface-raised)}html[data-theme=evening] :is(.public-page-hero-icon,.album-hero-icon,.guestbook-hero-icon,.book-hero-icon){background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 12px 28px #3b82f640}html[data-route] .archive-hero,html[data-route] .book-hero,html[data-route] .public-page-hero-shell,html[data-route] .search-hero,html[data-route] .tags-hero{border:1px solid color-mix(in srgb,var(--route-accent) 28%,var(--border-color-strong));box-shadow:0 18px 44px #0000001f,0 0 0 1px color-mix(in srgb,var(--route-accent) 8%,#0000)}html[data-route] .archive-hero,html[data-route] .search-hero,html[data-route] .tags-hero{background:radial-gradient(circle at 92% 0,var(--route-accent-soft),#0000 38%),var(--route-surface);border-radius:24px;overflow:hidden;padding:28px clamp(20px,4vw,40px);position:relative}html[data-route] .archive-hero:after,html[data-route] .search-hero:after,html[data-route] .tags-hero:after{border:1px solid color-mix(in srgb,var(--route-accent) 22%,#0000);border-radius:50%;bottom:-72px;content:"";height:180px;pointer-events:none;position:absolute;right:8%;width:180px}html[data-route] .archive-hero h1,html[data-route] .book-hero h1,html[data-route] .search-title,html[data-route] .tags-hero h1{font-size:clamp(1.85rem,3vw,2.7rem);position:relative;z-index:1}html[data-route] .album-detail-header,html[data-route] .article-header,html[data-route] .blog-detail-header{background:linear-gradient(135deg,var(--route-accent-soft),#0000 54%),var(--route-surface);border:1px solid color-mix(in srgb,var(--route-accent) 20%,var(--border-color-strong));border-radius:20px;box-shadow:var(--shadow-sm);padding:24px clamp(18px,3vw,32px);position:relative}html[data-route] .album-detail-header h1,html[data-route] .article-header .article-title,html[data-route] .blog-detail-title{font-size:clamp(1.65rem,3.2vw,2.45rem);line-height:1.2}html[data-route] .album-photo-grid,html[data-route] .article-content,html[data-route] .blog-detail-content,html[data-route] .book-content,html[data-route] .search-placeholder-panel,html[data-route] .tags-cloud-card,html[data-route] .tags-list-card{background:linear-gradient(180deg,color-mix(in srgb,var(--route-accent) 4%,#0000),#0000 42%),var(--route-surface);border:1px solid color-mix(in srgb,var(--route-accent) 16%,var(--border-color-strong));box-shadow:var(--shadow-md)}html[data-route="/docs"],html[data-route^="/docs/"]{--route-accent:#38bdf8;--route-accent-soft:#38bdf824}html[data-route^="/docs"] .doc-card,html[data-route^="/docs"] .doc-detail-header,html[data-route^="/docs"] .doc-panel,html[data-route^="/docs"] .doc-prev-next-btn,html[data-route^="/docs"] .doc-subcategory-card,html[data-route^="/docs"] .doc-toolbar{border:1px solid color-mix(in srgb,var(--route-accent) 16%,var(--border-color-strong));box-shadow:0 8px 24px #00000012}html[data-route^="/docs"] .doc-card:hover,html[data-route^="/docs"] .doc-prev-next-btn:hover,html[data-route^="/docs"] .doc-subcategory-card:hover{border-color:color-mix(in srgb,var(--route-accent) 52%,var(--border-color-hover));box-shadow:0 12px 30px color-mix(in srgb,var(--route-accent) 14%,#0000)}html[data-route] .archive-year-header,html[data-route] .book-card,html[data-route] .link-card,html[data-route] .quick-link,html[data-route] .search-result-item,html[data-route] .tags-row{border:1px solid color-mix(in srgb,var(--route-accent) 16%,var(--border-color-strong));box-shadow:0 8px 22px #0000000f}html[data-route] .archive-year-header:hover,html[data-route] .book-card:hover,html[data-route] .link-card:hover,html[data-route] .quick-link:hover,html[data-route] .search-result-item:hover,html[data-route] .tags-row:hover{border-color:color-mix(in srgb,var(--route-accent) 54%,var(--border-color-hover));box-shadow:0 12px 30px color-mix(in srgb,var(--route-accent) 14%,#0000)}html[data-route="/"] .home .section{background:linear-gradient(180deg,hsla(0,0%,100%,.025),#0000),var(--route-surface);border:1px solid color-mix(in srgb,var(--route-accent) 12%,var(--border-color));border-radius:24px;box-shadow:var(--shadow-sm);padding:clamp(20px,3vw,30px);position:relative}html[data-route="/"] .home .section-header{margin-bottom:24px;padding-bottom:16px}html[data-route="/about"] .section-card,html[data-route="/guestbook"] .guestbook-form-section,html[data-route="/guestbook"] .guestbook-list-section,html[data-route="/links"] .links-group{background:var(--route-surface);border:1px solid color-mix(in srgb,var(--route-accent) 20%,var(--border-color-strong));border-radius:24px;box-shadow:var(--shadow-md)}html[data-route="/todos"] .todo-layout,html[data-route="/todos"] .todo-page,html[data-route="/todos"] .todo-panel{border:1px solid color-mix(in srgb,var(--route-accent) 22%,var(--border-color-strong))}html[data-route^="/mobile"] .mmc-page,html[data-route^="/mobile"] .mobile-about-page,html[data-route^="/mobile"] .mobile-album-detail-page,html[data-route^="/mobile"] .mobile-album-list-page,html[data-route^="/mobile"] .mobile-archive-page,html[data-route^="/mobile"] .mobile-article-page,html[data-route^="/mobile"] .mobile-blog-home,html[data-route^="/mobile"] .mobile-blog-list-page,html[data-route^="/mobile"] .mobile-book-detail,html[data-route^="/mobile"] .mobile-guestbook-page,html[data-route^="/mobile"] .mobile-home,html[data-route^="/mobile"] .mobile-links-page,html[data-route^="/mobile"] .mobile-profile,html[data-route^="/mobile"] .mobile-search-page,html[data-route^="/mobile"] .mobile-tags-page,html[data-route^="/mobile"] .mpe-page{background:radial-gradient(circle at 94% 0,var(--route-accent-soft),#0000 28%),#0000}html[data-route^="/mobile"] .mab-body,html[data-route^="/mobile"] .mad-content,html[data-route^="/mobile"] .mal-content,html[data-route^="/mobile"] .mar-body,html[data-route^="/mobile"] .mbh-section,html[data-route^="/mobile"] .mbl-list,html[data-route^="/mobile"] .mlk-body,html[data-route^="/mobile"] .mmc-body,html[data-route^="/mobile"] .mobile-article-content,html[data-route^="/mobile"] .mobile-book-content,html[data-route^="/mobile"] .mobile-home-section,html[data-route^="/mobile"] .mog-content,html[data-route^="/mobile"] .mpe-body,html[data-route^="/mobile"] .ms-body,html[data-route^="/mobile"] .mtg-body,html[data-route^="/mobile"] .profile-body{position:relative}html[data-route^="/mobile"] .m-book-tile,html[data-route^="/mobile"] .mab-card,html[data-route^="/mobile"] .mad-grid-item,html[data-route^="/mobile"] .mal-item,html[data-route^="/mobile"] .mbh-blog-item,html[data-route^="/mobile"] .mbh-quick-item,html[data-route^="/mobile"] .mbl-item,html[data-route^="/mobile"] .mlk-card,html[data-route^="/mobile"] .mmc-item,html[data-route^="/mobile"] .mobile-article-item,html[data-route^="/mobile"] .mobile-home-card,html[data-route^="/mobile"] .mobile-home-quick-item,html[data-route^="/mobile"] .mog-item,html[data-route^="/mobile"] .mpe-card,html[data-route^="/mobile"] .profile-card{border:1px solid color-mix(in srgb,var(--route-accent) 18%,var(--border-color));box-shadow:0 8px 22px #00000014;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}html[data-route^="/mobile"] .mar-item,html[data-route^="/mobile"] .mar-year-group,html[data-route^="/mobile"] .ms-result-item,html[data-route^="/mobile"] .mtg-cloud,html[data-route^="/mobile"] .mtg-list ul{border:1px solid color-mix(in srgb,var(--route-accent) 18%,var(--border-color));box-shadow:0 8px 22px #00000012}html[data-route^="/mobile"] .m-book-tile:active,html[data-route^="/mobile"] .mal-item:active,html[data-route^="/mobile"] .mbh-blog-item:active,html[data-route^="/mobile"] .mbh-quick-item:active,html[data-route^="/mobile"] .mbl-item:active,html[data-route^="/mobile"] .mlk-card:active,html[data-route^="/mobile"] .mmc-item:active,html[data-route^="/mobile"] .mobile-home-card:active,html[data-route^="/mobile"] .mobile-home-quick-item:active,html[data-route^="/mobile"] .mog-item:active,html[data-route^="/mobile"] .profile-card:active{border-color:color-mix(in srgb,var(--route-accent) 48%,var(--border-color-hover));transform:scale(.99)}html[data-route^="/mobile"] .m-books-hero,html[data-route^="/mobile"] .mab-hero,html[data-route^="/mobile"] .mbd-content,html[data-route^="/mobile"] .mobile-blog-home .mbh-banner,html[data-route^="/mobile"] .mobile-book-banner,html[data-route^="/mobile"] .profile-hero{border-bottom:1px solid color-mix(in srgb,var(--route-accent) 24%,var(--border-color));box-shadow:0 12px 30px color-mix(in srgb,var(--route-accent) 10%,#0000)}html[data-route^="/mobile"] .m-todos-list,html[data-route^="/mobile"] .m-todos-modal,html[data-route^="/mobile"] .m-todos-overview,html[data-route^="/mobile"] .m-todos-topbar{border:1px solid color-mix(in srgb,var(--route-accent) 24%,var(--border-color-strong))}html[data-route="/mobile/bookkeeping"] .bookkeeping-hero,html[data-route="/mobile/bookkeeping"] .chart-page,html[data-route="/mobile/bookkeeping"] .record-list{border:1px solid color-mix(in srgb,var(--route-accent) 20%,var(--border-color-strong));box-shadow:var(--shadow-sm)}html[data-route="/mobile/guestbook"] .mog-form,html[data-route="/mobile/guestbook"] .mog-item,html[data-route="/mobile/links"] .mlk-card,html[data-route="/mobile/search"] .ms-search-wrap{border:1px solid color-mix(in srgb,var(--route-accent) 24%,var(--border-color-strong))}html[data-route^="/admin"] .admin-layout-v2 .admin-content{background:radial-gradient(circle at 96% 0,#3b82f614,#0000 24%),var(--bg-primary)}html[data-route^="/admin"] .admin-layout-v2 .admin-topbar{border-bottom-color:color-mix(in srgb,var(--route-accent) 22%,var(--border-color));box-shadow:0 8px 24px #00000014}html[data-route^="/admin"] .admin-layout-v2 .admin-listpage-hero,html[data-route^="/admin"] .admin-layout-v2 .admin-page-hero{border-top:2px solid color-mix(in srgb,var(--route-accent) 64%,#0000);box-shadow:0 14px 34px #0000001a}html[data-route^="/admin"] .admin-layout-v2 .admin-api-tests-notice,html[data-route^="/admin"] .admin-layout-v2 .admin-listpage-panel,html[data-route^="/admin"] .admin-layout-v2 .admin-metric-card,html[data-route^="/admin"] .admin-layout-v2 .admin-panel,html[data-route^="/admin"] .admin-layout-v2 .admin-toolbar,html[data-route^="/admin"] .admin-layout-v2 .bookkeeping-category-card,html[data-route^="/admin"] .admin-layout-v2 .bookkeeping-import-card,html[data-route^="/admin"] .admin-layout-v2 .bookkeeping-transfer-card{border:1px solid color-mix(in srgb,var(--route-accent) 16%,var(--admin-border,var(--border-color-strong)));box-shadow:0 8px 24px #00000012}html[data-route^="/admin"] .admin-layout-v2 .admin-metric-card:hover,html[data-route^="/admin"] .admin-layout-v2 .admin-panel:hover{border-color:color-mix(in srgb,var(--route-accent) 34%,var(--border-color-hover))}html[data-theme=light] .admin-layout-v2 .admin-metric-value,html[data-theme=normal] .admin-layout-v2 .admin-metric-value{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important;color:var(--text-primary)!important}html[data-route="/admin/login"] .admin-auth-card{border-color:color-mix(in srgb,var(--route-accent) 30%,var(--border-color-strong));box-shadow:0 24px 70px #00000038,0 0 0 1px #06b6d414}@media (max-width:768px){html[data-route] .archive-hero,html[data-route] .search-hero,html[data-route] .tags-hero{border-radius:20px;padding:22px 16px}html[data-route] .album-detail-header,html[data-route] .article-header,html[data-route] .blog-detail-header{border-radius:16px;padding:18px 16px}html[data-route^="/mobile"] .mobile-main{padding-bottom:calc(var(--mobile-tab-bar-safe-height, 64px) + 18px)}}@media (prefers-reduced-motion:reduce){html[data-route] .m-book-tile,html[data-route] .mal-item,html[data-route] .mbh-blog-item,html[data-route] .mbh-quick-item,html[data-route] .mbl-item,html[data-route] .mlk-card,html[data-route] .mmc-item,html[data-route] .mobile-home-card,html[data-route] .mobile-home-quick-item,html[data-route] .mog-item,html[data-route] .profile-card{transition:none}}html[data-route] :where(.public-page-hero-shell,.blog-item,.blog-card,.link-card,.quick-link,.search-result-item,.archive-year-header,.tags-row,.admin-panel,.admin-listpage-panel,.admin-metric-card,.admin-toolbar,.mobile-home-card,.mobile-home-quick-item,.mobile-admin-list-item){transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}html[data-route] :where(.blog-item,.blog-card,.link-card,.quick-link,.search-result-item,.archive-year-header,.tags-row,.admin-panel,.admin-listpage-panel,.admin-metric-card,.mobile-home-card,.mobile-admin-list-item):hover{box-shadow:var(--shadow-card-hover)}html[data-route] :where(input,textarea,select,button):focus-visible{box-shadow:var(--focus-ring);outline:none}html[data-route] :where(.btn,.submit-btn,.blog-search-btn,.admin-listpage-btn-search,.home-intent-primary):active:not(:disabled){transform:translateY(1px) scale(.99)}html[data-route="/"] .home .section{box-shadow:var(--shadow-card)}@media (max-width:768px){html[data-route] :where(.blog-item,.blog-card,.link-card,.quick-link,.search-result-item,.admin-panel,.admin-listpage-panel,.mobile-home-card,.mobile-admin-list-item):hover{box-shadow:inherit;transform:none}html[data-route] :where(.public-page-hero-shell,.blog-item,.blog-card,.admin-panel,.admin-listpage-panel){border-radius:var(--border-radius-lg)}}*{box-sizing:border-box;margin:0;padding:0}.public-route-loading{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--font-size-xs);gap:10px;justify-content:center;min-height:calc(100vh - 150px)}.public-route-loading-spinner{animation:public-page-loading-spin .8s linear infinite;border:2px solid #06b6d42e;border-radius:50%;border-top:2px solid var(--color-primary-light);height:16px;width:16px}.sr-only{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000;border-radius:3px}::-webkit-scrollbar-thumb{background:#06b6d459;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#06b6d48c}:is([data-theme=light],[data-theme=normal]) ::-webkit-scrollbar-thumb{background:#0891b233}:is([data-theme=light],[data-theme=normal]) ::-webkit-scrollbar-thumb:hover{background:#0891b259}*{scrollbar-color:#06b6d459 #0000;scrollbar-width:thin}:is([data-theme=light],[data-theme=normal]) *{scrollbar-color:#0891b233 #0000}body{font-family:var(--font-body);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--color-primary) 9%,#0000),#0000 28%),var(--gradient-dark);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background var(--transition-normal),color var(--transition-normal)}html{background:var(--bg-primary);font-size:var(--font-size-root,100%);scroll-behavior:smooth;--csstools-color-scheme--light: ;color-scheme:dark}html:is([data-theme=light],[data-theme=normal]){--csstools-color-scheme--light:initial;color-scheme:light}html:is([data-theme=normal],[data-theme=evening]) body{background:var(--gradient-dark)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){:root{--bg-card:#0c1322;--bg-card-hover:#1a2332;--bg-glass:#060a13;--gradient-surface:linear-gradient(180deg,#111827,#0c1322)}:is([data-theme=light],[data-theme=normal]){--bg-card:#fff;--bg-card-hover:#fff;--bg-glass:#fff;--gradient-surface:linear-gradient(180deg,#fff,#f0f9ff)}}@media (prefers-reduced-motion:reduce){*,:after,:before,html{scroll-behavior:auto!important}*,:after,:before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-reduced-motion:no-preference){.admin-listpage,.admin-metric-card,.admin-panel,.blog-detail,.comment-section,.link-card,.search-result-item,body,button,input,select,textarea{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}}#root{min-height:100vh}.skip-link{background:var(--bg-elevated);border-radius:10px;box-shadow:var(--shadow-md);color:var(--text-primary);left:12px;padding:9px 12px;position:fixed;top:10px;transform:translateY(-180%);transition:transform var(--transition-fast);z-index:10000}.skip-link:focus{transform:translateY(0)}.mobile-route-loading{align-items:center;background:var(--bg-primary);color:var(--text-tertiary);display:flex;font-size:var(--font-size-xs);gap:9px;justify-content:center;min-height:calc(100vh - var(--mobile-tab-bar-safe-height, 64px))}.mobile-route-loading span{animation:public-page-loading-spin .8s linear infinite;border:2px solid #06b6d433;border-radius:50%;border-top:2px solid var(--color-primary-light);height:14px;width:14px}.public-page-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:min(60vh,480px)}.public-page-loading-spinner{animation:public-page-loading-spin .8s linear infinite;border:3px solid #06b6d426;border-radius:50%;border-top:3px solid var(--color-primary);height:38px;width:38px}@keyframes public-page-loading-spin{to{transform:rotate(1turn)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.15}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}::selection{background:color-mix(in srgb,var(--color-primary-light) 28%,#0000)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:where(a,button,input,textarea,select):focus-visible{box-shadow:var(--focus-ring);outline:none}button{-webkit-tap-highlight-color:transparent}::selection{background:#06b6d44d;color:var(--text-primary)}.app{min-height:100vh}.m-toast-root{bottom:calc(88px + env(safe-area-inset-bottom));flex-direction:column;left:50%;max-width:86vw;pointer-events:none;position:fixed;transform:translateX(-50%);width:max-content;z-index:9999}.m-toast,.m-toast-root{align-items:center;display:flex;gap:8px}.m-toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c1c20f0;border-radius:12px;box-shadow:0 8px 24px #00000047;color:var(--text-on-solid);font-size:var(--font-size-sm);line-height:1.4;max-width:100%;opacity:0;padding:10px 16px;pointer-events:auto;transform:translateY(12px) scale(.96);transition:opacity .22s ease,transform .22s ease;word-break:break-word}.m-toast.m-toast--show{opacity:1;transform:translateY(0) scale(1)}.m-toast.m-toast--hide{opacity:0;transform:translateY(8px) scale(.97)}.m-toast .m-toast-icon{align-items:center;background:#fff3;border-radius:50%;display:inline-flex;flex:none;font-size:var(--font-size-xs);font-weight:700;height:18px;justify-content:center;width:18px}.m-toast.m-toast--success .m-toast-icon{background:#34c759}.m-toast.m-toast--error .m-toast-icon{background:#ff3b30}.m-toast.m-toast--warning .m-toast-icon{background:#ff9500}.m-toast.m-toast--info .m-toast-icon{background:#ffffff59}