.debug-page-root{--bg: #f4f6f8;--panel: #ffffff;--ink: #1f2937;--subtle: #6b7280;--brand: #0f766e;--line: #dbe3ea;width:min(1200px,96vw);margin:20px auto 40px;color:var(--ink);font-family:IBM Plex Sans,PingFang SC,sans-serif}.debug-page-root,.debug-page-root *{box-sizing:border-box}.debug-page-root .header{display:flex;justify-content:space-between;align-items:center}.debug-page-root .badge{border:1px solid var(--line);background:#ecfdf5;color:#065f46;padding:6px 12px;border-radius:999px;font-size:13px}.debug-page-root .grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.debug-page-root .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 6px 20px #0a281e0f}.debug-page-root .card.tall{min-height:420px}.debug-page-root h1,.debug-page-root h2,.debug-page-root h3{margin:0 0 10px}.debug-page-root h1{font-size:28px}.debug-page-root h2{font-size:18px}.debug-page-root .row{display:flex;flex-wrap:wrap;gap:8px}.debug-page-root button{min-height:40px;border:1px solid #0f766e;background:var(--brand);color:#fff;border-radius:10px;padding:0 14px;cursor:pointer}.debug-page-root button:hover{filter:brightness(1.05)}.debug-page-root input,.debug-page-root select{width:100%;margin-top:4px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;min-height:40px;padding:0 10px}.debug-page-root .hint,.debug-page-root .meta{color:var(--subtle);font-size:13px}.debug-page-root .messages,.debug-page-root .logs{border:1px solid var(--line);border-radius:10px;background:#fafcfd;padding:10px;overflow:auto;max-height:290px}.debug-page-root .message{padding:8px;border-radius:8px;margin-bottom:8px}.debug-page-root .message.user{background:#f0f9ff}.debug-page-root .message.assistant{background:#f0fdf4}.debug-page-root .message.system{background:#fff7ed}.debug-page-root .role{font-size:12px;color:var(--subtle);margin-bottom:4px}.debug-page-root .text-send{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.debug-page-root .text-send input{margin:0}.debug-page-root .tool-cards{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;padding:10px;overflow:auto;max-height:120px}@media (max-width: 900px){.debug-page-root .grid{grid-template-columns:1fr}}.repair-mobile-page{min-height:100dvh;margin:0;background:linear-gradient(160deg,#081a3f,#10396a 55%,#1a5685);color:#ecf7ff;font-family:Noto Sans SC,IBM Plex Sans,PingFang SC,sans-serif;display:grid;place-items:center;padding:16px}.repair-mobile-card{width:min(680px,96vw);border-radius:18px;border:1px solid rgba(182,227,255,.35);background:#18487ddb;box-shadow:0 20px 56px #010f2b73;padding:18px;display:flex;flex-direction:column;gap:12px}.repair-mobile-card h1,.repair-mobile-card h2{margin:0}.repair-mobile-hint{margin:0;font-size:14px;color:#cde8ff}.repair-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.repair-mobile-row{margin-top:8px;display:flex;gap:12px;align-items:center}.repair-mobile-form,.repair-mobile-login{display:flex;flex-direction:column;gap:8px}.repair-mobile-card input,.repair-mobile-card textarea{width:100%;border-radius:10px;border:1px solid rgba(175,220,253,.42);background:#0a264dc7;color:#ebf7ff;padding:10px}.repair-mobile-card button{border:none;border-radius:10px;height:42px;padding:0 14px;color:#fff;font-weight:600;background:linear-gradient(135deg,#2ec2ff,#2a7ef8)}.repair-mobile-card button:disabled{opacity:.7}.repair-mobile-error{color:#ffd6de}.repair-mobile-result{color:#a9ffd7}@media (max-width: 767px){.repair-mobile-grid{grid-template-columns:1fr}}:root{--console-bg-deep: #0b1236;--console-bg-mid: #0f2f62;--console-bg-glow: #14639a;--glass-fill: rgba(84, 137, 190, .2);--glass-stroke: rgba(188, 228, 255, .28);--glass-shadow: 0 22px 48px rgba(4, 18, 52, .55);--text-main: #eef7ff;--text-soft: #b9d3ea;--accent: #64b4ff;--call: linear-gradient(135deg, #31c7ff, #23a7f6);--hangup: linear-gradient(135deg, #ff6b9d, #ff3d6e)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans SC,IBM Plex Sans,PingFang SC,sans-serif;color:var(--text-main);background:radial-gradient(circle at 82% 8%,rgba(39,132,237,.25),transparent 30%),radial-gradient(circle at 12% 88%,rgba(19,167,252,.2),transparent 34%),linear-gradient(142deg,var(--console-bg-deep),var(--console-bg-mid) 56%,#07203c 100%)}body.user-console-body{height:100dvh;overflow:hidden}.console-page{position:relative;height:100dvh;padding:24px clamp(14px,2.2vw,34px) 30px;overflow:hidden;display:flex;flex-direction:column}.console-page:after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(40vh,44%);pointer-events:none;background:url(/bg-bottom.png) center bottom / cover no-repeat;opacity:.55;z-index:0}.console-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(116,178,240,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(116,178,240,.14) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:linear-gradient(to top,transparent 0%,rgba(0,0,0,.65) 35%,rgba(0,0,0,1) 100%);mask-image:linear-gradient(to top,transparent 0%,rgba(0,0,0,.65) 35%,rgba(0,0,0,1) 100%);opacity:.22;z-index:0}.console-topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(8px,1.4vh,16px);flex:0 0 auto}.language-segment{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid rgba(182,226,255,.35);background:linear-gradient(180deg,#467bc1b8,#3462a7b8);border-radius:18px;box-shadow:inset 0 0 0 1px #dff1ff1f,0 10px 22px #0a205059}.segment-item{min-width:110px;height:46px;border:none;background:transparent;color:#ecf4ff;border-radius:12px;padding:0 20px;font-size:clamp(15px,1.1vw,20px);font-weight:600;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:14px;transition:background .18s ease,color .18s ease;white-space:nowrap}.segment-item:before{content:"";width:10px;height:10px;border-radius:50%;background:#d3e1f4c7;flex:0 0 auto}.segment-item.active{background:#f7fbff;color:#2359c3;box-shadow:0 4px 14px #05205426}.segment-item.active:before{background:#3b87f0}.clock{font-size:clamp(22px,2.4vw,48px);font-weight:500;letter-spacing:1px;color:#eaf7ff}.console-layout{position:relative;z-index:1;display:grid;gap:clamp(12px,1vw,18px);grid-template-columns:1.06fr 1.2fr 1fr;align-items:stretch;flex:1 1 auto;min-height:0}.glass-panel{background:linear-gradient(180deg,#73aeec3d,#335f9c38);border:1px solid var(--glass-stroke);border-radius:18px;box-shadow:var(--glass-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.left-panel{background:linear-gradient(180deg,#6eacec2e,#2c5c9e24);display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(14px,1.8vw,24px);min-height:0}.middle-panel{background:linear-gradient(180deg,#70aeec2b,#2e5e9f21)}.left-core{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.timer{margin:8px 0 0;font-size:clamp(22px,3vh,40px);color:#e8f4ff}.timer-top{margin:0;padding-top:clamp(2px,.6vh,8px)}.avatar-zone{--avatar-size: clamp(150px, 26vh, 260px);margin-top:auto;margin-bottom:clamp(12px,1.8vh,24px);position:relative;width:var(--avatar-size);aspect-ratio:1 / 1;display:grid;place-items:center}.avatar-beam-field{position:absolute;left:50%;top:50%;width:0;height:0;z-index:0}.avatar-beam-item{position:absolute;z-index:-1}.avatar-beam-spacer{height:calc(var(--avatar-size) / 2 + 14px)}.avatar-beam-bar{box-shadow:0 0 6px #cab8ff4d}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid rgba(194,226,255,.55);box-shadow:0 18px 36px #05163b73}.avatar-live2d{width:100%;height:100%;border-radius:50%;border:4px solid rgba(194,226,255,.55);box-shadow:0 18px 36px #05163b73;overflow:hidden;position:relative;z-index:1}.avatar-live2d canvas{width:100%!important;height:100%!important;display:block}.capture-status{margin-top:clamp(28px,4.2vh,52px);margin-bottom:auto;width:min(80%,320px);min-height:48px;border-radius:16px;border:1px solid rgba(151,213,255,.45);background:#1a72b44d;display:flex;align-items:center;justify-content:center;gap:8px;color:#dff3ff;font-size:clamp(15px,1.8vh,20px);letter-spacing:.3px}.capture-placeholder{margin-top:clamp(28px,4.2vh,52px);margin-bottom:auto;width:min(80%,320px);min-height:48px}.ripple{width:8px;height:8px;border-radius:999px;background:#8bd0ff;animation:ripple 1.1s ease-in-out infinite}.ripple-2{animation-delay:.2s}.ripple-3{animation-delay:.4s}.left-actions{margin-top:clamp(8px,1.4vh,16px);width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:clamp(4px,.7vh,10px)}.call-button{min-width:min(72%,260px);min-height:clamp(44px,5vh,58px);border:none;border-radius:18px;font-size:clamp(24px,2.2vw,30px);font-weight:700;letter-spacing:1.2px;color:#fff;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.call-button.call{background:var(--call);box-shadow:0 14px 28px #1b9ae46b}.call-button.hangup{background:var(--hangup);box-shadow:0 14px 30px #f143826b}.call-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05)}.call-button:disabled{cursor:not-allowed;opacity:.7}.error-text{margin:0;font-size:14px;color:#ffd6dd}.middle-panel{padding:clamp(20px,1.8vw,28px);min-height:0;display:flex;flex-direction:column}.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.panel-title-row h2,.right-panel h2{margin:0;font-size:clamp(24px,2.2vw,34px)}.panel-title-row a{color:#e0f4ff;text-decoration:underline;font-size:clamp(16px,1.4vw,24px)}.placeholder-body{min-height:0;height:100%;border-radius:14px;border:1px dashed rgba(167,221,255,.42);background:#18487c38;display:grid;place-items:center;color:var(--text-soft);font-size:18px}.right-column{display:grid;gap:clamp(12px,1vw,18px);grid-template-rows:minmax(0,1fr) minmax(0,2fr);min-height:0}.right-panel{padding:clamp(18px,1.5vw,24px);min-height:0;display:flex;flex-direction:column}.weather-panel .placeholder-body,.promo-panel .placeholder-body{min-height:0}.weather-card-body{min-height:0;height:100%;border-radius:14px;background:linear-gradient(180deg,#0b5a9457,#1443745c);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.weather-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.weather-location{font-size:20px;font-weight:600;color:#eef8ff;display:inline-flex;align-items:center;gap:6px}.weather-updated{font-size:12px;color:#b8dcf5}.weather-main-row{margin-top:6px;display:flex;justify-content:space-between;align-items:center}.weather-temp{font-size:clamp(52px,7vh,88px);font-weight:500;line-height:1;color:#f1f9ff}.weather-icon-image{width:clamp(88px,9vw,150px);height:auto;object-fit:contain}.weather-metrics{margin-top:auto;display:flex;align-items:center;gap:18px;font-size:28px;color:#dcf2ff}.metric-item{display:inline-flex;align-items:center;gap:6px}.weather-inline-icon{width:20px;height:20px;flex:0 0 auto;stroke:#eff8fff2;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icon-location circle{fill:#eff8fff2;stroke:none}.weather-inline-icon-image{width:28px;height:28px;object-fit:contain;flex:0 0 auto}.weather-error{font-size:13px;color:#ffd4df}.promo-swiper{position:relative;min-height:0;height:100%;border-radius:18px;overflow:hidden;background:#18487c38}.promo-panel{padding:0;overflow:hidden}.promo-track{position:absolute;top:0;right:0;bottom:0;left:0}.promo-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .38s ease}.promo-image.active{opacity:1}.promo-dots{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;align-items:center;gap:8px;z-index:2}.promo-dot{width:8px;height:8px;border:none;border-radius:999px;background:#d5eeff75;cursor:pointer;padding:0}.promo-dot.active{width:18px;background:#f0fbfffa}@media (max-width: 767px){.console-layout{grid-template-columns:1fr;min-height:0}.left-panel{min-height:auto}.right-column{grid-template-rows:minmax(0,1fr) minmax(0,2fr);grid-template-columns:1fr}.clock{width:100%;text-align:right}.language-segment{width:100%;justify-content:space-between}.segment-item{min-width:0;width:calc(50% - 4px);height:44px;font-size:18px;padding:0 10px;gap:8px}.segment-item:before{width:10px;height:10px}.capture-status{margin-top:28px;font-size:18px}}@keyframes ripple{0%,to{transform:translateY(2px) scale(.9);opacity:.45}50%{transform:translateY(-3px) scale(1.2);opacity:1}}@media (prefers-reduced-motion: reduce){.ripple{animation:none}.avatar-beam-bar{transition-duration:0ms!important}.call-button,.segment-item{transition:none}}.dev-panel{position:fixed;right:10px;bottom:10px;width:min(440px,88vw);max-height:46vh;overflow:auto;z-index:90;border-radius:12px;padding:10px 12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#dbf2ff;background:#07142fe0;border:1px solid rgba(107,175,230,.55)}.dev-title{font-weight:700;margin-bottom:6px;color:#9fd7ff}.dev-logs{margin-top:8px;border-top:1px solid rgba(120,183,236,.35);padding-top:6px;white-space:pre-wrap;word-break:break-word;color:#b8dbf7}.auth-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#030e2aa3;display:grid;place-items:center;padding:20px}.auth-modal-card{width:min(420px,92vw);border-radius:18px;border:1px solid rgba(187,227,255,.4);background:linear-gradient(180deg,#2c63a7eb,#17407aeb);box-shadow:0 24px 64px #010a1f80;padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-modal-header h3{margin:0;font-size:24px;color:#eff7ff}.auth-modal-close{border:none;border-radius:999px;min-width:68px;height:34px;background:#def0ff2e;color:#e7f4ff;cursor:pointer}.auth-modal-tip{margin:0;color:#d6ebff;font-size:14px}.auth-countdown{margin:0;text-align:center;color:#bfe4ff;font-size:13px}.auth-qr-image{width:min(280px,72vw);aspect-ratio:1 / 1;margin:0 auto;border-radius:14px;border:1px solid rgba(170,220,255,.5);background:#fff}.auth-qr-fallback{width:min(280px,72vw);aspect-ratio:1 / 1;margin:0 auto;border-radius:14px;border:1px dashed rgba(170,220,255,.5);background:#09295799;display:grid;place-items:center;color:#d6ebff;font-size:14px}.auth-entry-link{display:block;text-align:center;color:#c9e8ff;text-decoration:underline;font-size:14px}.auth-modal-actions{display:flex;justify-content:center}.auth-refresh-btn{border:1px solid rgba(187,227,255,.35);border-radius:999px;min-width:110px;height:34px;background:#8fcbff29;color:#def2ff;cursor:pointer}.auth-refresh-btn:disabled{opacity:.7;cursor:not-allowed}.auth-status{min-height:22px;text-align:center;font-size:15px;color:#d9eeff}.status-approved{color:#a6ffdd}.status-failed,.status-expired{color:#ffd7e0}.action-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:140;padding:10px 18px;border-radius:999px;border:1px solid rgba(186,238,255,.4);background:#134a87eb;color:#e6f7ff;font-size:14px;box-shadow:0 10px 24px #05183a73;animation:action-toast-fade 2.4s ease forwards}@keyframes action-toast-fade{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}
