:root{
  --bg:#000;--card:#1c1c1e;--card2:#2c2c2e;--sep:rgba(84,84,88,.45);
  --text:#fff;--text2:rgba(235,235,245,.6);--text3:rgba(235,235,245,.3);
  --blue:#0A84FF;--red:#FF453A;--purple:#BF5AF2;--teal:#64D2FF;--orange:#FF9F0A;
  --green:#30D158;--yellow:#FFD60A;--indigo:#5E5CE6;--pink:#FF375F;--grey:#8E8E93;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
input,textarea{font:inherit}
.app{max-width:430px;margin:0 auto;padding:14px 16px 110px;position:relative}
.top{display:flex;justify-content:space-between;align-items:center;margin:4px 2px 6px}
.top h1{font-size:30px;font-weight:800;letter-spacing:-.5px;margin:0}
.top .sub{color:var(--text2);font-size:13px;margin-top:2px}
.pillbtn{background:var(--card);border-radius:20px;padding:8px 12px;display:flex;gap:14px;align-items:center}
.pillbtn svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8}

/* section */
.section{margin-top:18px}
.ghead{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 4px 8px;text-align:left}
.ghead .gt{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-.3px}
.ghead .dot{width:10px;height:10px;border-radius:50%;background:var(--acc)}
.ghead .meta{color:var(--text2);font-size:14px;font-weight:500;margin-left:auto;margin-right:10px}
.chev{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:2.4;transition:transform .3s ease}
.section.closed .chev{transform:rotate(-90deg)}
.gbody{overflow:hidden;transition:height .32s ease,opacity .25s ease}
.section.closed .gbody{opacity:0}
.card{background:var(--card);border-radius:18px;border:1.5px solid var(--acc);
  box-shadow:0 0 0 1px rgba(0,0,0,.2),0 6px 24px -14px var(--acc)}
.card+.card{margin-top:12px}
.pad{padding:14px 16px}
.lbl{font-size:13px;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin:0 0 8px}

/* hero */
.hero{display:flex;flex-direction:column;align-items:center;padding:22px 16px 18px;
  background:radial-gradient(120% 90% at 50% 0%,rgba(10,132,255,.22),rgba(10,132,255,0) 70%),var(--card)}
.mic{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4aa8ff,#0A84FF 55%,#0060d0);
  display:flex;align-items:center;justify-content:center;position:relative;
  box-shadow:0 10px 30px -6px rgba(10,132,255,.7),inset 0 2px 0 rgba(255,255,255,.25);transition:background .3s,transform .15s}
.mic:active{transform:scale(.96)}
.mic svg{width:52px;height:52px;fill:#fff}
.mic.listening{background:radial-gradient(circle at 35% 30%,#ff7b72,#FF453A 55%,#c9221a);box-shadow:0 10px 30px -6px rgba(255,69,58,.8)}
.mic.listening::before,.mic.listening::after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,69,58,.6);animation:pulse 1.6s ease-out infinite}
.mic.listening::after{animation-delay:.8s}
@keyframes pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.miclbl{margin-top:14px;font-size:17px;font-weight:600}
.michint{color:var(--text2);font-size:13px;margin-top:3px;text-align:center}
.wave{display:none;gap:4px;height:22px;align-items:center;margin-top:8px}
.wave.on{display:flex}
.wave i{width:4px;border-radius:2px;background:var(--red);animation:wv 1s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.1s}.wave i:nth-child(3){animation-delay:.2s}.wave i:nth-child(4){animation-delay:.3s}.wave i:nth-child(5){animation-delay:.4s}
@keyframes wv{0%,100%{height:5px}50%{height:22px}}
.typebox{width:100%;margin-top:16px;display:flex;gap:8px}
.field{flex:1;background:var(--card2);border:0;border-radius:12px;color:#fff;padding:11px 12px;font-size:15px;outline:none}
.field::placeholder{color:var(--text3)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;width:100%}
.chip{background:rgba(10,132,255,.16);color:#6cb6ff;border-radius:16px;padding:7px 12px;font-size:13px;font-weight:500}
.sugg{width:100%;margin-top:14px;background:var(--card2);border-radius:14px;padding:12px 14px;display:none}
.sugg.on{display:block;animation:fadein .3s ease}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sugg .t{font-size:15px;font-weight:600}
.sugg .why{color:var(--text2);font-size:13px;margin:3px 0 10px}
.btn{background:var(--blue);color:#fff;border-radius:11px;padding:9px 14px;font-weight:600;font-size:14px}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff;font-weight:500}
.btn.sel{outline:1.5px solid var(--blue)}
.row-btns{display:flex;flex-wrap:wrap;gap:8px}
.filed{margin-top:10px;color:var(--green);font-size:14px;font-weight:600}

/* search */
.search{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:12px;padding:9px 12px;margin-top:14px}
.search svg{width:18px;height:18px;stroke:var(--text2);fill:none;stroke-width:2}
.search input{flex:1;background:none;border:0;outline:none;color:#fff;font-size:16px}
.search input::placeholder{color:var(--text2)}
.results{margin-top:8px;display:none}
.results.on{display:block}

/* tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.tile{border-radius:16px;padding:10px 12px 10px;height:92px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;
  position:relative;overflow:hidden;transition:transform .15s,box-shadow .2s}
.tile:active{transform:scale(.97)}
.tile.on{box-shadow:0 0 0 2.5px #fff inset}
.tile .tt{display:flex;justify-content:space-between;align-items:flex-start}
.tile .ic{width:34px;height:34px}
.tile .ic svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.9}
.tile .n{font-size:30px;font-weight:700;line-height:1}
.tile .l{font-size:17px;font-weight:600}
.t-today{background:linear-gradient(135deg,#6fc0ff,#3a8fe0 60%,#2f7fd6)}
.t-sched{background:linear-gradient(135deg,#f6a3a3,#e46767 60%,#d95858)}
.t-all{background:linear-gradient(135deg,#5a5a5e,#2c2c2e 70%)}
.t-flag{background:linear-gradient(135deg,#f9c98f,#efa45a 60%,#e8963f)}
.t-urg{background:linear-gradient(135deg,#f4a0bd,#e06890 60%,#d75a84)}
.t-done{background:linear-gradient(135deg,#a7a9ad,#80838a 60%,#73767c)}
.t-notes{background:linear-gradient(135deg,#7fe39a,#34c759 60%,#2aa84a)}
.t-tasks{background:linear-gradient(135deg,#9b99f0,#5e5ce6 60%,#4b49c9)}
.t-fp{background:linear-gradient(135deg,#ffe36e,#f5c400 60%,#d9a900);color:#1c1c1e}
.t-fp .ic svg{stroke:#1c1c1e}
.t-tl{background:linear-gradient(135deg,#ff8aa0,#ff375f 60%,#e02a50)}

/* list rows */
.list .row{display:flex;align-items:center;gap:12px;padding:11px 14px;position:relative}
.list .row+.row::before{content:"";position:absolute;top:0;left:56px;right:0;height:.5px;background:var(--sep)}
.list.noicon .row+.row::before{left:46px}
.ricon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.ricon svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2.2}
.rmain{flex:1;min-width:0}
.rt{font-size:16px}
.rs{font-size:13px;color:var(--text2);margin-top:2px}
.rcount{color:var(--text2);font-size:16px}
.rchev{width:9px;height:14px;stroke:var(--text3);fill:none;stroke-width:2.2}
.check{width:24px;height:24px;border-radius:50%;border:2px solid var(--text3);flex:none;display:flex;align-items:center;justify-content:center;transition:all .2s}
.check.done{background:var(--red);border-color:var(--red)}
.check.done svg{display:block}
.check svg{display:none;width:13px;height:13px;stroke:#fff;fill:none;stroke-width:3}
.row.isdone .rt{color:var(--text2);text-decoration:line-through}
.pill{display:inline-block;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:6px;vertical-align:1px}
.p-red{background:rgba(255,69,58,.18);color:#ff6b62}
.p-orange{background:rgba(255,159,10,.18);color:#ffb340}
.p-green{background:rgba(48,209,88,.18);color:#4ade7a}
.p-grey{background:rgba(142,142,147,.2);color:#c7c7cc}
.p-blue{background:rgba(10,132,255,.2);color:#6cb6ff}
.p-pink{background:rgba(255,55,95,.18);color:#ff6f8f}
.p-purple{background:rgba(191,90,242,.2);color:#d38cf7}
.p-yellow{background:rgba(255,214,10,.16);color:#ffe066}
.p-teal{background:rgba(100,210,255,.16);color:#8fdfff}

/* segmented */
.seg{display:flex;overflow-x:auto;gap:6px;padding:12px 12px 4px;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:none;background:var(--card2);border-radius:16px;padding:6px 11px;font-size:13px;font-weight:600;color:var(--text2);white-space:nowrap}
.seg button.on{background:var(--red);color:#fff}
.seg button b{font-weight:700;margin-left:4px;opacity:.85}
.empty{color:var(--text2);padding:14px 16px;font-size:14px}

ul.recap{margin:0;padding:0;list-style:none}
ul.recap li{display:flex;gap:10px;padding:7px 0;font-size:15px;line-height:1.35}
ul.recap li+li{border-top:.5px solid var(--sep)}
ul.recap li i{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:none}


/* notes */
.tagchips{display:flex;gap:6px;overflow-x:auto;padding:12px 12px 6px;scrollbar-width:none}
.tagchips::-webkit-scrollbar{display:none}
.tagchips button{flex:none;border-radius:16px;padding:6px 12px;font-size:13px;font-weight:600;background:var(--card2);color:var(--text2)}
.tagchips button.on{background:var(--green);color:#000}
.note .pill{margin:6px 6px 0 0}

/* projects */
.prog{height:6px;background:var(--card2);border-radius:3px;overflow:hidden;margin-top:8px}
.prog i{display:block;height:100%;border-radius:3px}

/* translate */
.tlmode{display:flex;background:var(--card2);border-radius:11px;padding:3px;margin-bottom:10px}.tlmode button{flex:1;border:0;background:none;color:var(--text2);font-size:13px;font-weight:600;padding:8px;border-radius:9px}.tlmode button.on{background:#ff375f;color:#fff}#m-bh.on{background:linear-gradient(135deg,#10a37f,#0d8a6b)}.gptdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10a37f;margin-right:6px;animation:blink 1s infinite}
.tl .samp{display:flex;gap:8px;margin-bottom:10px}
.tl .samp button{flex:1;background:var(--card2);border-radius:10px;padding:8px;font-size:13px;font-weight:600;color:var(--text2)}
.tl .samp button.on{background:rgba(255,55,95,.2);color:#ff6f8f}
.tl textarea{width:100%;min-height:64px;resize:none;background:var(--card2);border:0;border-radius:12px;color:#fff;padding:10px 12px;font-size:15px;outline:none}
.tl textarea::placeholder{color:var(--text3)}
.tl .row-btns{margin-top:10px}
.tl .btn{background:var(--pink)}
.tl .btn.ghost{background:rgba(255,255,255,.08)}
.bub{border-radius:14px;padding:10px 12px;margin-top:10px;font-size:15px;line-height:1.45}
.bub .k{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text2);margin-bottom:3px}
.bub.en{background:var(--card2)}
.bub.ar{background:rgba(255,55,95,.12);text-align:right;font-size:17px}
.bub.ar .k{text-align:right}
.tnote{color:var(--orange);font-size:13px;margin-top:10px}

/* private */
.lockbox{display:flex;flex-direction:column;align-items:center;padding:22px 16px;text-align:center}
.faceid{width:70px;height:70px;position:relative}
.faceid svg{width:70px;height:70px;stroke:var(--grey);fill:none;stroke-width:3;stroke-linecap:round;transition:stroke .3s}
.faceid.scan svg{stroke:#fff;animation:scan 1.1s ease-in-out}
.faceid.ok svg{stroke:var(--green)}
@keyframes scan{0%{transform:scale(1)}30%{transform:scale(.9)}60%{transform:scale(1.05)}100%{transform:scale(1)}}
.lockbox .lt{font-size:16px;font-weight:600;margin-top:12px}
.lockbox .ls{font-size:13px;color:var(--text2);margin:4px 0 14px}
.pbtn{background:rgba(142,142,147,.25);border-radius:12px;padding:10px 18px;font-weight:600}

.footer{text-align:center;color:var(--text3);font-size:12px;margin-top:28px}
.fab{position:fixed;bottom:22px;right:max(18px,calc(50% - 215px + 18px));width:58px;height:58px;border-radius:50%;
  background:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px -4px rgba(10,132,255,.6);z-index:5}
.fab svg{width:26px;height:26px;stroke:#fff;stroke-width:3;fill:none}

/* full-screen capture view */
.sh{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .25s}.sh.on{opacity:1;pointer-events:auto}.shin{max-width:430px;width:100%;margin:0 auto;max-height:85vh;overflow-y:auto;background:#000;border-top:1.5px solid #3a3a3c;border-radius:22px 22px 0 0;padding:14px 16px 28px;transform:translateY(100%);transition:transform .3s}.sh.on .shin{transform:none}.shtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.shtop h2{margin:0;font-size:22px}.shtop .x{width:36px;height:36px;border-radius:50%;background:#2c2c2e;color:#fff;font-size:20px;border:0}
.cv{position:fixed;inset:0;z-index:100;background:#000;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.cv.on{transform:none}
.cv .inner{max-width:430px;width:100%;margin:0 auto;height:100%;display:flex;flex-direction:column;padding:14px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto}
.cv .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cv .top h2{font-size:22px;font-weight:700;margin:0}
.cv .x{width:36px;height:36px;border-radius:50%;background:#2c2c2e;color:#fff;font-size:20px;line-height:36px;text-align:center;border:0}
.cv .stat{font-size:14px;color:var(--text2);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cv .stat .rd{width:9px;height:9px;border-radius:50%;background:#8e8e93}
.cv.rec .stat .rd{background:#FF453A;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.25}}
.cv textarea{flex:0 0 auto;height:180px;min-height:180px;max-height:68vh;margin-bottom:18px;overflow-y:hidden;transition:height .18s ease;width:100%;resize:none;background:#1c1c1e;color:#fff;border:1.5px solid #0A84FF;border-radius:20px;padding:18px;font:500 22px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;outline:none}
.cv.rec textarea{border-color:#FF453A}
.cv textarea::placeholder{color:#636366}
.cv .interim{color:#8e8e93}
.cv .ctr{display:flex;flex-direction:column;align-items:center;margin-top:18px}
.cv .mic{width:96px;height:96px}
.cv .chips{justify-content:center}
.cv .sugg{margin-top:14px}

/* ===== real build additions ===== */
html,body{overscroll-behavior-y:none}
body{padding-top:env(safe-area-inset-top)}
.pillbtn{cursor:pointer}
.menu{position:absolute;right:16px;top:58px;z-index:60;background:#1c1c1e;border:1px solid #3a3a3c;border-radius:14px;min-width:220px;padding:6px 0;box-shadow:0 18px 40px -10px rgba(0,0,0,.8);display:none}
.menu.on{display:block;animation:fadein .18s ease}
.menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 16px;font-size:16px}
.menu button+button{border-top:.5px solid var(--sep)}
.menu button.danger{color:var(--red)}
.typebox .go{background:var(--blue);border-radius:12px;width:44px;flex:none;display:flex;align-items:center;justify-content:center}
.typebox .go svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.4}
.row.tap{cursor:pointer}
.row .flagbtn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex:none}
.row .flagbtn svg{width:17px;height:17px;stroke:var(--text3);fill:none;stroke-width:2}
.row .flagbtn.on svg{stroke:var(--orange);fill:rgba(255,159,10,.35)}
.addrow{display:flex;align-items:center;gap:10px;padding:11px 14px;color:var(--blue);font-size:16px;width:100%;text-align:left;position:relative}
.list .row+.addrow::before,.list .addrow+.row::before{content:"";position:absolute;top:0;left:14px;right:0;height:.5px;background:var(--sep)}
.addrow svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2.2}
.sharow{display:flex;gap:8px;margin:10px 0 2px}
.formrow{margin-top:12px}
.formrow label{display:block;font-size:13px;color:var(--text2);font-weight:600;margin:0 0 6px;text-transform:uppercase;letter-spacing:.4px}
.formrow .field,.formrow select,.formrow textarea{width:100%;background:var(--card2);border:0;border-radius:12px;color:#fff;padding:11px 12px;font-size:16px;outline:none}
.formrow textarea{min-height:90px;resize:vertical}
.formrow select{appearance:none;-webkit-appearance:none}
.two{display:flex;gap:10px}.two>*{flex:1}
.toggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tog{background:var(--card2);border-radius:16px;padding:8px 13px;font-size:14px;font-weight:600;color:var(--text2)}
.tog.on.f{background:rgba(255,159,10,.25);color:#ffb340}
.tog.on.u{background:rgba(255,69,58,.25);color:#ff6b62}
.tog.on.p{background:rgba(142,142,147,.35);color:#fff}
.tog.on.d{background:rgba(48,209,88,.25);color:#4ade7a}
.typeseg{display:flex;background:var(--card2);border-radius:11px;padding:3px}
.typeseg button{flex:1;padding:8px 4px;border-radius:9px;font-size:13px;font-weight:600;color:var(--text2)}
.typeseg button.on{background:var(--blue);color:#fff}
.steps .st{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:.5px solid var(--sep)}
.steps .st input{flex:1;background:none;border:0;color:#fff;font-size:15px;outline:none}
.steps .st .del{color:var(--text3);font-size:20px;width:26px}
.steps .check{width:22px;height:22px}
.steps .check.done{background:var(--green);border-color:var(--green)}
.btnrow{display:flex;gap:10px;margin-top:18px}
.btnrow .btn{flex:1;padding:12px}
.btn.danger{background:rgba(255,69,58,.18);color:#ff6b62}
.hint{color:var(--text2);font-size:13px;margin-top:8px;line-height:1.4}
.warn{color:#ffb340;font-size:13px;margin-top:8px;line-height:1.4}
.err{color:#ff6b62;font-size:14px;margin-top:10px;line-height:1.4}
.emptybox{color:var(--text2);padding:18px 16px;font-size:14px;line-height:1.45;text-align:center}
.emptybox b{color:#fff;display:block;font-size:15px;margin-bottom:3px}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);background:#2c2c2e;color:#fff;border-radius:14px;padding:11px 14px;font-size:14px;z-index:200;opacity:0;pointer-events:none;transition:all .25s;display:flex;gap:14px;align-items:center;max-width:90vw;box-shadow:0 10px 30px -8px rgba(0,0,0,.8)}
.toast.on{opacity:1;transform:translateX(-50%);pointer-events:auto}
.toast button{color:var(--blue);font-weight:700}
.pin{display:flex;gap:12px;justify-content:center;margin:4px 0 12px}
.pin i{width:14px;height:14px;border-radius:50%;border:2px solid var(--grey)}
.pin i.f{background:#fff;border-color:#fff}
.pinpad{display:grid;grid-template-columns:repeat(3,64px);gap:10px;justify-content:center}
.pinpad button{height:52px;border-radius:26px;background:var(--card2);font-size:22px;font-weight:500}
.pinpad button:active{background:#3a3a3c}
.pinpad button.blank{background:none;pointer-events:none}
.shake{animation:shake .35s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.sh .shin{max-height:88vh}
.sh2{z-index:95}
.cv .msg{background:rgba(255,69,58,.12);border:1px solid rgba(255,69,58,.4);color:#ff9d96;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;margin-bottom:12px;display:none}
.cv .msg.on{display:block}
.saved{margin-top:10px;font-size:14px;color:var(--green);font-weight:600;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.saved .btn{font-size:13px;padding:7px 11px}
.recap .muted{color:var(--text2)}
.offline{color:var(--text3);font-size:12px;text-align:center;margin-top:6px}
.tl .btn[disabled]{opacity:.5}
.keyok{color:var(--green)}
.cv{visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}
.cv.on{visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s}
