.ca-root{touch-action:none;-webkit-user-select:none;user-select:none;color:#eaf1ff;background:#0e1630;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif;position:fixed;inset:0;overflow:hidden}.ca-canvas-wrap{width:100%;height:100%;position:absolute;inset:0}.ca-canvas{width:100%;height:100%;display:block}.ca-lang{top:max(56px, env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0c142cb3;border:1px solid #8cb4ff40;border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;right:16px}.ca-lang-btn{color:#eaf1ffa6;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:44px;height:36px;padding:0 12px;font-size:14px;font-weight:700}.ca-lang-btn.active{color:#1b2a52;background:#ffd580}.ca-top{top:max(56px, env(safe-area-inset-top,0px));z-index:15;max-width:calc(100% - 140px);position:absolute;left:16px}.ca-title-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c142cb3;border:1px solid #8cb4ff40;border-radius:16px;flex-direction:column;gap:2px;padding:8px 14px;display:inline-flex}.ca-title-name{letter-spacing:.2px;white-space:nowrap;font-size:16px;font-weight:800}.ca-title-level{color:#eaf1ff99;font-size:12px}.ca-mute{top:calc(max(56px, env(safe-area-inset-top,0px)) + 52px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:15;background:#0c142cb3;border:1px solid #8cb4ff40;border-radius:999px;width:40px;height:40px;font-size:16px;position:absolute;left:16px}.ca-hint{text-align:center;z-index:12;pointer-events:none;color:#eaf1ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c142c8c;border:1px solid #8cb4ff40;border-radius:16px;max-width:78%;padding:12px 18px;font-size:15px;font-weight:600;animation:2.4s ease-in-out infinite ca-fade;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.ca-hint-arrow{margin-bottom:4px;font-size:30px;animation:1.6s ease-in-out infinite ca-bob}@keyframes ca-bob{0%,to{transform:translateY(-5px)}50%{transform:translateY(6px)}}@keyframes ca-fade{0%,to{opacity:.7}50%{opacity:1}}.ca-controls{left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:15;justify-content:center;gap:12px;padding:0 20px;display:flex;position:absolute}.ca-btn{cursor:pointer;border:none;border-radius:16px;flex:1;max-width:220px;min-height:52px;padding:0 24px;font-size:16px;font-weight:700}.ca-btn.primary{color:#1b2a52;background:#ffd580;box-shadow:0 6px 20px #ffd5804d}.ca-btn.ghost{color:#eaf1ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c142cb3;border:1px solid #8cb4ff59}.ca-btn.wide{color:#0b1226;background:#a9e5c9;width:100%;max-width:none;margin-top:4px}.ca-btn:disabled{opacity:.6}.ca-testing{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c142cb3;border:1px solid #8cb4ff40;border-radius:16px;padding:14px 20px;font-weight:600}.ca-result{left:16px;right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c142ceb;border:1px solid #8cb4ff4d;border-radius:22px;flex-direction:column;gap:10px;padding:18px;display:flex;position:absolute;box-shadow:0 -8px 40px #0006}.ca-result-badge{letter-spacing:.3px;border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:14px;font-weight:800}.ca-result-badge.held{color:#7cf0b0;background:#7cf0b02e;border:1px solid #7cf0b080}.ca-result-badge.hinge{color:#ff7a7a;background:#ff7a7a2e;border:1px solid #ff7a7a80}.ca-result-status{color:#eaf1ffd9;font-size:14px;line-height:1.4}.ca-result-actions{gap:12px;display:flex}.ca-done{z-index:40;padding:0 32px calc(88px + env(safe-area-inset-bottom,0px));text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1022e6;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.ca-done-title{font-size:26px;font-weight:800}.ca-done-sub{color:#eaf1ffb3;font-size:15px}.ca-done .ca-btn{flex:none;min-width:200px}
