:root{--bg-color:#1a1a2e;--text-primary:#fff;--text-secondary:#fff6;--text-hint:#ffffff26;--dot-idle:#ffffff0d;--dot-recording:#e74c3c;--dot-thinking:#f39c12;--dot-done:#2ecc71}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-color);width:100vw;height:100vh;color:var(--text-primary);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#root{width:100%;height:100%}.lock-screen{flex-direction:column;align-items:center;width:100%;height:100%;display:flex;position:relative}.time-container{text-align:center;margin-top:18vh}.time-display{letter-spacing:1px;font-size:5.5rem;font-weight:200;line-height:1.1}.date-display{color:#fffc;margin-top:5px;font-size:1.1rem;font-weight:400}.center-area{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex}.dot-indicator{background-color:var(--dot-idle);border-radius:50%;width:8px;height:8px;transition:background-color .3s}.dot-indicator.state-listening{background-color:var(--dot-recording);animation:1.2s ease-in-out infinite alternate pulse}.dot-indicator.state-thinking{background-color:var(--dot-thinking);animation:.8s ease-in-out infinite alternate pulse}.dot-indicator.state-done{background-color:var(--dot-done)}.answer-display{text-align:center;color:var(--text-secondary);opacity:0;min-height:40px;margin-top:40px;padding:0 40px;font-size:1.2rem;font-weight:500;line-height:1.4;transition:opacity .5s}.answer-display.visible{opacity:1}.bottom-hint{text-align:center;color:#fff;text-shadow:0 0 5px #000;width:90%;font-size:1.2rem;font-weight:500;position:absolute;bottom:12vh;left:5%}.history-display{color:#fff9;z-index:10;flex-direction:column;gap:12px;width:90%;font-size:.95rem;display:flex;position:absolute;top:35vh;left:5%}.history-item{text-align:left;background:#0000004d;border-radius:8px;padding:10px}.history-q{color:#fff}.history-a{color:#4ade80;font-weight:700}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #0000}to{transform:scale(1.3);box-shadow:0 0 10px}}
