:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#163d66;background:#edf5fd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible{outline:3px solid #8ccaff;outline-offset:2px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.desktop{display:flex;align-items:center;justify-content:center;padding:26px;min-height:100vh;background:radial-gradient(ellipse at 18% 5%,#dbedff 0,transparent 50%),#edf5fd}.app{width:min(100%,414px);background:#f9fcff;border:1px solid #cfe2f5;border-radius:24px;box-shadow:0 21px 75px #17467723,0 3px 12px #17467713;overflow:hidden;display:flex;flex-direction:column;min-height:580px}.app.expanded{width:min(100%,750px)}.top{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border-bottom:1px solid #e7f0fa;gap:10px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.amy-halo{width:58px;height:58px;flex:none;background:#dceeff;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:1px solid #c8e5ff}.amy-halo img{width:90%;height:90%;object-fit:contain}.brandcopy{display:flex;flex-direction:column;gap:5px}.brandcopy strong{font-size:19px;color:#083e73;letter-spacing:-.45px;white-space:nowrap}.brandcopy small{font-size:11px;color:#6e8dad;white-space:nowrap}.live-dot,.ready-glow{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2bcda5;margin:0 2px}.top-actions{display:flex;gap:7px}.icon-btn{border:1px solid #d9e7f6;background:#f8fbff;color:#4a769e;border-radius:11px;width:34px;height:34px;display:grid;place-items:center}.icon-btn:hover,.action:hover{background:#e4f2ff;border-color:#b5d9ff}.float-btn{background:#e7f3ff;color:#1376da}.workspace{padding:17px 19px;flex:1}.status-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.status-tag{display:inline-flex;align-items:center;gap:8px;background:#eaf8f3;color:#177f69;font-size:11px;font-weight:650;padding:7px 10px;border-radius:20px}.status-tag i{display:block;width:7px;height:7px;border-radius:50%;background:#21b991}.status-tag.recording{background:#fff0f1;color:#ca3d57}.status-tag.recording i{background:#f05567;animation:pulse 1.2s infinite}.clock{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:#7695b3}.voice-panel{background:linear-gradient(145deg,#e8f5ff,#f5faff);border:1px solid #d1e7fa;border-radius:17px;padding:14px 16px 15px}.panel-title,.section-head{display:flex;justify-content:space-between;align-items:center}.panel-title>span:first-child{font-weight:750;color:#124e85;display:flex;gap:7px;align-items:center;font-size:13px}.panel-title svg{width:16px;height:16px;color:#1480e7}.speech-mode{font-size:10px;color:#7095b8}.wave{height:43px;display:flex;align-items:center;justify-content:center;gap:3px;margin:9px 0}.wave span{height:var(--h);width:3px;min-width:3px;border-radius:4px;background:linear-gradient(#1884f7,#8bbdff);opacity:.62}.app.is-recording .wave span{animation:move .73s ease-in-out infinite alternate;animation-delay:var(--delay);opacity:1}.record-controls{display:flex;align-items:center;gap:12px}.record-button{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;border:4px solid #cce8ff;background:#197cf0;color:white;box-shadow:0 4px 12px #197cf02d}.record-button svg{width:21px;height:21px}.app.is-recording .record-button{background:#e84b64;border-color:#ffcbda}.record-help{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.record-help strong{font-size:12px;color:#204e7a}.record-help small{font-size:10px;color:#7a99b8}.stop-button{display:grid;place-items:center;border:1px solid #b8d9ff;color:#147add;background:#fff;border-radius:11px;width:39px;height:39px;flex:none}.stop-button svg{width:19px}.interim{font-size:11px;color:#6387a8;border-top:1px solid #cee3f7;padding-top:11px;margin-top:13px;min-height:28px;line-height:1.45;max-height:82px;overflow:auto;scrollbar-width:none}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.action{border:1px solid #d7e7f8;background:#fff;border-radius:13px;color:#245c8a;font-size:10px;font-weight:700;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:9px;white-space:nowrap}.action-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#edf6ff;color:#197bf1}.action-icon svg{width:19px;height:19px}.recent{margin-top:19px}.section-head strong{font-size:13px;color:#1c4b78}.section-head button{border:0;background:transparent;color:#1680e7;font-size:11px;font-weight:650}.section-head button span{font-size:17px;margin-left:4px}.latest-empty,.latest-filled{margin-top:11px;border-radius:14px;border:1px solid #e0ecf9;background:#fff;padding:13px;display:flex;gap:11px;align-items:center;min-height:65px}.small-icon{width:40px;height:40px;flex:none;border-radius:12px;background:#e8f4ff;color:#147bef;display:grid;place-items:center}.latest-empty strong,.latest-filled strong{display:block;font-size:12px;color:#2d5c84}.latest-empty small,.latest-filled small{display:block;font-size:10px;color:#8ba3bc;margin-top:5px}.latest-filled img{width:48px;height:44px;object-fit:cover;border-radius:9px}.latest-filled button{margin-left:auto;border:0;background:#e7f3ff;padding:8px;border-radius:8px;color:#157be7}.footer{margin-top:auto;border-top:1px solid #e6eff9;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 19px;font-size:10px;color:#7795b3}.version{font-weight:700;color:#416e9a;border:1px solid #c7e0f7;border-radius:30px;background:#f0f7ff;padding:4px 8px}.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;background:#1d365a88;display:grid;place-items:center;padding:18px;z-index:100}.modal-card{width:min(590px,100%);max-height:min(82vh,740px);display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 24px 80px #09223a55;overflow:hidden}.modal-card>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0ecf8;padding:15px 18px}.modal-card h2{margin:0;font-size:18px;color:#124e7e}.modal-body{padding:18px;overflow:auto;color:#2c608a;font-size:13px}.modal-body p{line-height:1.55}.primary,.secondary{border:1px solid #147bf1;padding:10px 14px;border-radius:10px;background:#167cf0;color:white;font-weight:700;font-size:12px}.secondary{background:#fff;color:#147bf1;border-color:#c4dff8}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.modal-body textarea{width:100%;min-height:140px;padding:12px;border:1px solid #cbdff3;border-radius:11px;resize:vertical;color:#244f75;line-height:1.5;font-size:13px}.item{border:1px solid #dbe9f7;border-radius:12px;padding:12px;margin-bottom:10px;background:#fcfeff;display:flex;gap:12px;align-items:center}.item .details{flex:1;min-width:0}.item strong{font-size:12px;display:block;color:#204e78}.item small{font-size:11px;color:#7796b1}.item img{width:57px;height:48px;border-radius:8px;object-fit:cover}.item button{background:#e8f4ff;color:#167bea;border:0;border-radius:8px;padding:8px;font-size:11px}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(30px);opacity:0;background:#143c66;color:white;font-size:12px;padding:12px 17px;border-radius:11px;z-index:200;transition:.2s;pointer-events:none;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.app.expanded .workspace{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.app.expanded .status-line{grid-column:1/-1;margin-bottom:0}.app.expanded .voice-panel{grid-row:2/4;grid-column:1}.app.expanded .action-grid{grid-row:2;grid-column:2;grid-template-columns:repeat(2,1fr);margin-top:0}.app.expanded .recent{grid-row:3;grid-column:2;margin-top:0}.app.expanded{min-height:480px}.app.expanded .action{padding:12px 5px}.app.pip{width:100%;min-height:100%;border:0;box-shadow:none;border-radius:0}.pip-host .desktop{min-height:100vh;padding:0;background:transparent}.pip-host{background:#f9fcff}.pip-host .app{min-height:100vh}.pip-host .top{padding:12px 14px}.pip-host .amy-halo{width:47px;height:47px}.pip-host .brandcopy strong{font-size:16px}.pip-host .workspace{padding:12px}.pip-host .voice-panel{padding:12px}.pip-host .recent{margin-top:12px}.pip-host .footer{padding:10px 12px}.pip-host .action{font-size:9px;padding:9px 1px}.pip-host .action-icon{width:30px;height:30px}.pip-host .top-actions #expandBtn{display:none}@keyframes move{from{transform:scaleY(.38)}to{transform:scaleY(1.16)}}@keyframes pulse{50%{opacity:.42}}@media(max-width:500px){.desktop{padding:10px;min-height:100dvh}.app{min-height:calc(100dvh - 20px)}.app.expanded .workspace{display:block}.app.expanded .action-grid{grid-template-columns:repeat(4,1fr)}.app.expanded .recent{margin-top:19px}}


/* v0.1.1 — faithful Mini Companion, based on approved 3-style concept */
.app.mode-mini{width:min(100%,600px);min-height:0;overflow:visible;border-radius:29px;background:linear-gradient(160deg,#e6f1ff,#f9fcff 78%);border:1px solid #bcd7fa;box-shadow:0 15px 40px #1647802a,0 2px 7px #16478012}
.app.mode-mini .maxi-content,.app.mode-mini .nano-shell{display:none}
.mini-shell{display:none;position:relative}
.app.mode-mini .mini-shell{display:block}
.mini-chrome{height:39px;display:flex;align-items:center;justify-content:flex-end;padding:1px 16px;background:linear-gradient(180deg,#e0edff,#e9f3ff);border-radius:29px 29px 0 0}
.mini-window-actions{display:flex;align-items:center;gap:8px}
.mini-win-btn{border:0;background:transparent;color:#093d86;width:31px;height:31px;display:grid;place-items:center;padding:5px;border-radius:8px}
.mini-win-btn:hover{background:#cfe5ff}
.mini-win-btn svg{width:20px;height:20px;stroke-width:2.15}
.mini-content{display:flex;align-items:center;gap:12px;padding:13px 16px 15px;border-radius:26px;background:linear-gradient(180deg,#fff,#f8fbff);min-width:0}
.mini-amy{flex:0 0 73px;width:73px;height:73px;border:1.5px solid #a1cfff;border-radius:50%;background:radial-gradient(circle at 45% 40%,#ecf8ff,#a8d1ff);display:grid;place-items:center;position:relative;padding:3px;box-shadow:inset 0 2px 5px #fff,0 3px 9px #2a77c81b}
.mini-amy img{width:92%;height:92%;object-fit:contain}
.mini-amy-status{position:absolute;right:0;bottom:3px;width:11px;height:11px;border-radius:50%;background:#26cfa6;border:2px solid #fff}
.mini-console{height:70px;min-width:0;flex:1;display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid #c7defe;border-radius:30px;background:#fbfcff}
.mini-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#30cba4;box-shadow:0 0 0 4px #e9faf5}
.mini-timer{font-size:21px;color:#083a85;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.6px}
.mini-wave{flex:1;min-width:26px;height:40px;margin:0;gap:2px;overflow:hidden;justify-content:center}
.mini-wave span{width:3px;min-width:3px;background:#1982f7;opacity:.95}
.mini-circle{flex:0 0 49px;width:49px;height:49px;border-radius:50%;border:1.5px solid #a9cfff;background:#fff;color:#0866dc;display:grid;place-items:center;box-shadow:0 3px 6px #0c5cab12}
.mini-circle svg{width:23px;height:23px;stroke-width:2.7}
.mini-circle:hover,.mini-tools:hover{background:#eaf5ff}
.mini-tools{width:64px;height:66px;flex:0 0 64px;border-radius:19px;border:1.5px solid #b6d5ff;background:#f0f7ff;color:#0873ef;display:grid;place-items:center;box-shadow:0 3px 8px #0c5cab0c}
.mini-tools svg{width:32px;height:32px;stroke-width:2.3}
.mini-tools-drawer[hidden]{display:none}
.mini-tools-drawer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 15px 15px;padding-top:11px;border-top:1px solid #d5e7fb}
.mini-tools-drawer button{border:1px solid #c9e0fb;border-radius:11px;background:#fff;padding:10px 3px;color:#174e88;display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:650}
.mini-tools-drawer button:hover{background:#eaf4ff}
.mini-tools-drawer button span{font-size:16px;color:#087bec}
.app.mode-mini.mini-float .mini-chrome{display:none}
.app.mode-mini.mini-float .mini-content{border-radius:25px}
.app.mode-nano{width:78px;min-height:0;background:transparent;border:0;box-shadow:none;overflow:visible}
.app.mode-nano .mini-shell,.app.mode-nano .maxi-content{display:none}
.app.mode-nano .nano-shell{display:grid}
.nano-shell{display:none;width:76px;height:76px;place-items:center;position:relative;padding:4px;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 35% 30%,#e7faff,#8bc5ff);box-shadow:0 6px 18px #18538d55;overflow:visible}
.nano-shell img{width:100%;height:100%;object-fit:contain}
.nano-dot{position:absolute;right:-3px;top:1px;border-radius:50%;width:18px;height:18px;background:#25d8b2;border:3px solid #fff;box-shadow:0 1px 7px #1a599533}
.app.mode-maxi{width:min(100%,414px);overflow:hidden}
.app.mode-maxi .mini-shell,.app.mode-maxi .nano-shell{display:none}
.app.mode-maxi .maxi-content{display:block}
.app.mode-maxi .maxi-content .top{border-radius:24px 24px 0 0}
.app.mode-maxi .maxi-content .footer{border-radius:0 0 24px 24px}
.app.mode-maxi .maxi-content #expandBtn{display:none}
.app.pip{width:100%;height:auto;border:0;box-shadow:none;border-radius:0}
.pip-host .desktop{background:transparent;min-height:0;padding:0;display:block}
.pip-host{margin:0;background:transparent}
.pip-host .app{min-height:0!important}
.pip-host .app.mode-mini .mini-chrome{display:none}
.pip-host .app.mode-mini .mini-content{padding:10px 10px;gap:8px;border-radius:0}
.pip-host .app.mode-mini .mini-amy{height:53px;width:53px;flex-basis:53px}
.pip-host .app.mode-mini .mini-console{height:55px;padding:5px 8px;gap:7px}
.pip-host .app.mode-mini .mini-circle{height:38px;width:38px;flex-basis:38px}
.pip-host .app.mode-mini .mini-timer{font-size:17px}
.pip-host .app.mode-mini .mini-tools{height:50px;width:45px;flex-basis:45px;border-radius:13px}
.pip-host .app.mode-mini .mini-tools svg{width:24px;height:24px}
.pip-host .app.mode-mini .mini-tools-drawer{margin:0 9px 9px}
.pip-host .app.mode-nano{margin:auto}
@media(max-width:640px){.app.mode-mini{width:100%}.desktop{padding:12px}.mini-content{gap:7px;padding:10px}.mini-amy{width:49px;height:49px;flex-basis:49px}.mini-console{padding:6px;gap:5px;height:56px}.mini-timer{font-size:15px}.mini-circle{width:33px;height:33px;flex-basis:33px}.mini-circle svg{height:17px;width:17px}.mini-tools{width:40px;height:50px;flex-basis:40px;border-radius:12px}.mini-tools svg{width:25px;height:25px}.mini-wave{gap:1px}.mini-wave span{min-width:2px;width:2px}.mini-win-btn{width:29px}}

/* v0.1.2 — PiP uses the approved Mini layout without a second empty panel.
   Browser-owned PiP window chrome remains browser controlled. */
.pip-host,.pip-host html{height:100%;min-height:0;overflow:hidden;background:#f9fcff}
.pip-host .desktop{height:100vh;min-height:0;width:100%;padding:0;display:flex;align-items:stretch;justify-content:stretch;background:#f9fcff}
.pip-host .app.mode-mini{min-height:0!important;height:100%;width:100%;margin:0;border:0;box-shadow:none;border-radius:0;background:linear-gradient(180deg,#f3f8ff 0%,#fff 100%)}
.pip-host .app.mode-mini .mini-shell{display:flex;flex-direction:column;min-height:0;height:100%;width:100%}
.pip-host .app.mode-mini .mini-chrome{display:none}
.pip-host .app.mode-mini .mini-content{flex:1;min-height:75px;display:flex;align-items:center;justify-content:center;padding:9px 12px;gap:9px;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:0}
.pip-host .app.mode-mini .mini-tools-drawer{flex:none;margin:0;padding:8px 11px 11px;gap:6px;border-top:1px solid #d5e7fb;background:#f7fbff}
.pip-host .app.mode-mini .mini-tools-drawer button{padding:10px 3px}
.pip-host .app.mode-mini .mini-amy{height:55px;width:55px;flex:0 0 55px}
.pip-host .app.mode-mini .mini-console{height:59px;padding:5px 10px;gap:8px}
.pip-host .app.mode-mini .mini-tools{height:54px;width:49px;flex:0 0 49px}
.pip-host .app.mode-nano{height:100%;width:100%;display:grid;place-items:center;background:transparent}
.pip-host .app.mode-nano .nano-shell{margin:auto}

/* v0.1.3: microphone-driven bars and repeated live-source capture */
:root{color-scheme:light}
.app.is-recording .wave span{animation:none!important;transform:none!important}
.wave span{transition:height 55ms linear;opacity:1!important;align-self:center}
.mini-tools-drawer button[hidden],.mini-source-status[hidden]{display:none!important}
.mini-source-status{font-size:10px;color:#2677b5;padding:0 16px 8px;text-align:center}
.pip-host{color-scheme:light}
.pip-host .app.mode-nano{min-height:0}
.pip-host .app.mode-nano .nano-shell{display:grid}

.mini-window-actions .nano-mode-toggle{width:42px;height:26px;border:1px solid #b8d8f7;border-radius:8px;font-size:10px;font-weight:750;color:#2463a9;background:#f0f7ff}
