﻿:root{--main:#1D9E75;--on-main:#ffffff;--bg:#0f1720;--panel:#151f2a;--panel2:#111923;--field:rgba(255,255,255,.055);--text:#eef6fb;--muted:#a8b6c8;--accent-text:#7ee5bf;--line:rgba(255,255,255,.12);--danger:#e85050;--warn:#d8a31f;--ok:#1D9E75}
body[data-theme=green]{--main:#1D9E75;--on-main:#ffffff;--bg:#0f1720;--panel:#16232b;--panel2:#101a22;--field:rgba(232,255,247,.06);--text:#eef8f4;--muted:#a9bdc8;--accent-text:#74f0b0;--line:rgba(184,236,216,.16);--ok:#1D9E75}
body[data-theme=orange]{--main:#d08a2a;--on-main:#111827;--bg:#1f1710;--panel:#2a2118;--panel2:#17110c;--field:rgba(255,239,212,.07);--text:#fff5e8;--muted:#d2b99c;--accent-text:#ffd08a;--line:rgba(244,177,96,.22);--ok:#d5972d}
body[data-theme=white]{--main:#111827;--on-main:#ffffff;--bg:#F1EFE8;--panel:#fffaf0;--panel2:#ffffff;--field:#ffffff;--text:#111827;--muted:#475569;--accent-text:#0f766e;--line:rgba(17,24,39,.18);--ok:#158f66}
body[data-theme=black]{--main:#d7e2ef;--on-main:#0A0F1C;--bg:#0A0F1C;--panel:#111827;--panel2:#0f172a;--field:rgba(226,232,240,.07);--text:#f1f5f9;--muted:#aab6c7;--accent-text:#cbd5e1;--line:rgba(226,232,240,.16);--ok:#38d985}
body[data-theme=blue]{--main:#5aa7ff;--on-main:#08111d;--bg:#0b1625;--panel:#12243a;--panel2:#08111d;--field:rgba(232,244,255,.07);--text:#f0f7ff;--muted:#acc5df;--accent-text:#8fd0ff;--line:rgba(118,178,245,.22);--ok:#35c99a}
body[data-theme=pink]{--main:#ef6f9b;--on-main:#21121b;--bg:#21121b;--panel:#2d1a25;--panel2:#170c12;--field:rgba(255,240,246,.07);--text:#fff5fa;--muted:#e2b4c7;--accent-text:#ffacc9;--line:rgba(242,117,160,.22);--ok:#40c98f}
body[data-theme=yellow]{--main:#e7b943;--on-main:#211d12;--bg:#211d12;--panel:#2b2618;--panel2:#17140c;--field:rgba(255,248,219,.07);--text:#fff9df;--muted:#d8c893;--accent-text:#ffe28a;--line:rgba(239,199,88,.24);--ok:#69bd61}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Yu Gothic UI",Meiryo,sans-serif;font-size:14px}.shell{min-height:100vh;display:grid;grid-template-columns:200px 1fr}.sidebar{background:var(--panel2);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--main);color:#fff;display:grid;place-items:center;font-weight:700}.brand span{display:block;color:var(--muted);font-size:11px}.sidebar nav{display:grid;gap:6px}.navbtn{height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:left;padding:0 10px;cursor:pointer}.navbtn.active,.navbtn:hover{background:color-mix(in srgb,var(--main) 16%,transparent);color:var(--text)}.budget{margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.budget span{display:block;color:var(--muted);font-size:11px}.budget strong{display:block;margin:4px 0 8px}.budget meter{width:100%}.main{min-width:0}.topbar{height:48px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 16px;position:sticky;top:0;z-index:2}.topbar h1{font-size:18px;margin:0;font-weight:700}.topbar p{margin:0;color:var(--muted);font-size:10px;letter-spacing:.05em}.back,.mic,.send,.primary,.ghost{border:0;border-radius:8px;min-height:36px;padding:0 12px;cursor:pointer;font-weight:700}.back{display:none;background:transparent;color:var(--text);font-size:28px}.mic{margin-left:auto;width:38px;border-radius:50%;background:var(--main);color:#fff}.mic.recording{background:var(--danger);animation:pulse 1s infinite}.mic.processing{background:var(--warn)}.mic.thinking{background:#185FA5}.mic.speaking{background:var(--ok)}@keyframes pulse{50%{transform:scale(.9);opacity:.65}}#content{padding:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.card{min-height:112px;cursor:pointer}.card h2,.panel h2{font-size:16px;margin:0 0 8px}.card p,.panel p{color:var(--muted);line-height:1.6;margin:0}.chat{height:calc(100vh - 80px);display:grid;grid-template-rows:auto 1fr auto;gap:12px}.messages{overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.bubble{max-width:76%;padding:10px 12px;border-radius:4px 16px 16px 16px;background:color-mix(in srgb,var(--main) 8%,transparent);border:1px solid color-mix(in srgb,var(--main) 20%,transparent);line-height:1.6}.bubble.user{align-self:flex-end;border-radius:16px 4px 16px 16px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.composer{display:grid;grid-template-columns:1fr auto;gap:10px}input,textarea,select{width:100%;min-height:42px;border:1px solid color-mix(in srgb,var(--main) 20%,transparent);border-radius:14px;background:rgba(255,255,255,.05);color:var(--text);padding:10px 12px;outline:none}textarea{min-height:180px;resize:vertical}.send,.primary{background:var(--main);color:#fff}.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.list{display:grid;gap:8px}.item{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px;background:rgba(255,255,255,.03)}.status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.danger{color:#ff8a8a}.themebar{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.swatch.active{outline:3px solid color-mix(in srgb,var(--main) 35%,transparent)}.app-ai-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid color-mix(in srgb,var(--main) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 11%,rgba(255,255,255,.045));padding:10px 12px;box-shadow:0 10px 22px rgba(0,0,0,.12)}.app-ai-guide strong{white-space:nowrap}.app-ai-guide span{color:var(--muted);line-height:1.45}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;height:56px;z-index:3;display:block;padding:0}.brand,.budget{display:none}.sidebar nav{height:56px;display:grid;grid-template-columns:repeat(6,1fr);gap:0}.navbtn{height:56px;text-align:center;border-radius:0;padding:0 2px;font-size:11px}.navbtn:nth-child(n+7){display:none}.topbar{padding-left:8px}.back{display:block}.grid,.row{grid-template-columns:1fr}#content{padding-bottom:72px}.chat{height:calc(100vh - 128px)}.bubble{max-width:92%}.app-ai-guide{grid-template-columns:1fr;gap:4px}.app-ai-guide strong{white-space:normal}}

.calc-app{min-height:calc(100vh - 80px);display:grid;grid-template-rows:minmax(300px,1fr) auto;gap:14px;background:color-mix(in srgb,var(--main) 8%,var(--bg));border:1px solid var(--line);border-radius:8px;padding:14px;position:relative}.calc-board{position:relative;min-height:330px;border-radius:8px;background:color-mix(in srgb,var(--main) 7%,var(--panel2));border:1px solid color-mix(in srgb,var(--main) 24%,var(--line));overflow:visible}.calc-board-head{position:absolute;left:14px;top:12px;z-index:1;display:flex;gap:10px;align-items:baseline;color:var(--text)}.calc-board-head span{color:var(--muted);font-size:11px}.calc-total-stack{position:absolute;right:12px;top:10px;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(104px,auto));gap:8px}.calc-total-pill{min-height:34px;border-radius:8px;padding:8px 12px;color:#fff;font-weight:800;text-align:right;box-shadow:0 8px 18px rgba(0,0,0,.16)}.calc-total-pill.red{background:#f13a5c}.calc-total-pill.blue{background:#2d8df0}.calc-total-pill.white{background:#f7f7f1;color:#111827}.calc-total-pill.orange{background:#e5a832;color:#fff}.calc-card{position:absolute;width:188px;height:88px;border-radius:8px;touch-action:none;cursor:grab;perspective:1200px;color:#10151d}.calc-card-inner{position:relative;width:100%;height:100%;transition:transform 1.5s cubic-bezier(.16,.84,.2,1.12);transform-style:preserve-3d;will-change:transform}.calc-card.flipped .calc-card-inner{transform:translateY(-14px) scale(1.08) rotateY(180deg);-webkit-transform:translateY(-14px) scale(1.08) rotateY(180deg)}.calc-card-face{position:absolute;inset:0;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:box-shadow 1.5s ease,filter 1.5s ease}.calc-card.flipped .calc-card-face{box-shadow:0 34px 62px rgba(0,0,0,.46);filter:saturate(1.15) brightness(1.08)}.calc-card-front{padding:12px 34px 10px 12px}.calc-card-back{display:grid;gap:8px;padding:10px;transform:rotateY(180deg);-webkit-transform:rotateY(180deg);background:linear-gradient(145deg,color-mix(in srgb,var(--main) 30%,var(--panel)),var(--panel2));border:1px solid color-mix(in srgb,var(--main) 55%,var(--line));color:var(--text)}.calc-card-front strong{position:absolute;left:12px;top:10px;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.calc-card-front span{display:block;margin-top:24px;font-size:26px;font-weight:800;text-align:right}.calc-card-back label,.calc-card-back small{font-size:11px;color:var(--muted)}.calc-card-name-input{min-height:32px;border-radius:6px;padding:6px 8px}.calc-card-back-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.calc-card-back-colors button{min-height:30px;border:0;border-radius:6px;color:#fff;font-weight:800}.calc-card-delete{position:absolute;right:8px;top:8px;width:24px;min-width:24px;min-height:24px;border:0;border-radius:50%;background:rgba(0,0,0,.2);color:#fff}.calc-card.blue .calc-card-front{background:#2d8df0;color:#fff}.calc-card.red .calc-card-front{background:#f13a5c;color:#fff}.calc-card.white .calc-card-front{background:#f7f7f1;color:#111827}.calc-stage{display:grid;gap:10px;max-width:720px;margin:0 auto;width:100%}.calc-display{min-height:64px;border-radius:8px;background:color-mix(in srgb,var(--main) 42%,#e8ead2);color:#382d1b;display:flex;align-items:center;justify-content:flex-end;padding:0 18px;font-size:36px;font-weight:800;overflow:hidden}.calc-display-row{display:grid;grid-template-columns:86px minmax(0,1fr) 86px;gap:12px;align-items:center}.calc-display{min-height:78px;font-size:48px;touch-action:none;cursor:grab}.calc-round,.calc-key{border:0;border-radius:999px;min-height:78px;font-size:34px;cursor:pointer}.calc-round{width:78px;color:#fff}.calc-clear{background:#ad68e9}.calc-menu{background:#a6e94d;color:#4b4b42}.calc-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.calc-key.num{background:#2d8df0;color:#fff;font-size:54px;font-weight:300}.calc-key.op{background:#f7f7f1;color:#4b4b42;border:1px solid #9a9a92}.calc-key.side{background:#74736d;color:#fff}.calc-key.equals{background:#f62f51;color:#fff;font-size:48px}.calc-drag-ghost{position:fixed;z-index:99;pointer-events:none;min-width:140px;height:64px;border-radius:8px;background:color-mix(in srgb,var(--main) 42%,#e8ead2);color:#382d1b;display:flex;align-items:center;justify-content:flex-end;padding:0 18px;font-size:36px;font-weight:800;box-shadow:0 16px 34px rgba(0,0,0,.25)}.calc-edit{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(0,0,0,.45)}.calc-edit[hidden]{display:none}.calc-edit-box{width:min(360px,calc(100% - 32px));display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.calc-edit-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.calc-edit-colors button{min-height:44px;border:0;border-radius:8px;color:#fff;font-weight:800}.edit-blue{background:#2d8df0}.edit-red{background:#f13a5c}.edit-white{background:#f7f7f1;color:#111827!important}@media(max-width:760px){.calc-app{min-height:calc(100vh - 128px);padding:10px}.calc-board{min-height:330px}.calc-total-stack{grid-template-columns:repeat(2,1fr);left:12px;right:12px;top:10px}.calc-total-pill{min-height:30px;padding:6px 10px}.calc-display-row{grid-template-columns:74px minmax(0,1fr) 74px}.calc-display{min-height:66px;font-size:40px}.calc-round,.calc-key{min-height:66px}.calc-round{width:66px}.calc-key.num{font-size:44px}.calc-pad{gap:8px}.calc-card{width:168px}.calc-card span{font-size:23px}}.calc-card.dragging{z-index:30}.calc-board .calc-card{z-index:3}.settings-hint{margin-top:8px!important;font-size:12px;color:var(--muted);line-height:1.5}select option{background:#ffffff;color:#111827}select:focus option:checked{background:#e5e7eb;color:#111827}.memo-app{min-height:calc(100vh - 80px);display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px}.memo-workbench,.memo-tray{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.memo-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.memo-pad{position:relative;min-height:520px;border:1px solid color-mix(in srgb,var(--main) 25%,var(--line));border-radius:8px;background:rgba(255,255,255,.04);overflow:hidden}.memo-text{position:absolute;inset:0;min-height:100%;border:0;border-radius:0;line-height:1.8;background:transparent;resize:none;padding:18px;overflow:auto;outline:none;white-space:pre-wrap}.memo-text:empty:before{content:attr(data-placeholder);color:var(--muted)}.memo-pad canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;pointer-events:none}.memo-pad.drawing canvas{pointer-events:auto}.memo-pad.drawing .memo-text{pointer-events:none;caret-color:transparent}.memo-tray h2{font-size:16px;margin:0 0 10px}.memo-note-list{display:grid;gap:8px;max-height:calc(100vh - 132px);overflow:auto}.memo-note{display:grid;gap:6px;text-align:left;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text);padding:10px;cursor:pointer}.memo-note strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-note span{font-size:11px;color:var(--muted)}.memo-note img{width:100%;height:70px;object-fit:cover;border-radius:6px;background:#fff}.memo-empty{color:var(--muted);line-height:1.6}@media(max-width:760px){.memo-app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.memo-tray{order:2}.memo-note-list{grid-auto-flow:column;grid-auto-columns:170px;overflow-x:auto;overflow-y:hidden;max-height:none}.memo-pad{min-height:420px}}.memo-size-select{width:auto;min-width:92px;border-radius:8px}.memo-pen-colors{display:flex;align-items:center;gap:6px}.memo-pen{width:28px;min-width:28px;height:28px;min-height:28px;border:2px solid rgba(255,255,255,.55);border-radius:50%;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}.memo-pen.active{outline:3px solid color-mix(in srgb,var(--main) 60%,white)}.tool-ai-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:stretch}.tool-ai-result{min-height:42px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text);padding:10px 12px;line-height:1.6;white-space:pre-wrap}.tool-ai-result:empty{display:none}.memo-ai-result{margin-bottom:10px}.memo-ai-result p{margin:0 0 10px;color:var(--text)}@media(max-width:760px){.tool-ai-row{grid-template-columns:1fr}}.calendar-flip-wrap{min-height:calc(100vh - 80px);perspective:1400px}.calendar-flip-card{position:relative;min-height:calc(100vh - 80px);transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.16,.84,.2,1.08)}.calendar-flip-card.flipped{transform:rotateY(180deg)}.calendar-face{position:absolute;inset:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto;display:block}.calendar-back{transform:rotateY(180deg);background:linear-gradient(145deg,color-mix(in srgb,var(--main) 14%,var(--panel)),var(--panel2))}.calendar-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px}.calendar-head strong{text-align:center;font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,92px);justify-content:start;gap:6px;margin-bottom:0}.calendar-week{color:var(--muted);font-size:12px;text-align:center;padding:4px}.calendar-week.sat{color:#58a6ff}.calendar-week.sun{color:#ff6b7a}.calendar-day{position:relative;width:100%;height:132px;min-height:0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--text);text-align:left;padding:8px;cursor:pointer;overflow:hidden}.calendar-day>span{position:absolute;left:8px;top:8px;z-index:2;display:inline-block;margin-left:0;line-height:1}.calendar-day.sat span{color:#58a6ff}.calendar-day.sun span{color:#ff6b7a}.calendar-day.muted{opacity:.38}.calendar-day.today{outline:2px solid color-mix(in srgb,var(--main) 58%,transparent)}.calendar-day.active{background:color-mix(in srgb,var(--main) 16%,transparent);border-color:color-mix(in srgb,var(--main) 55%,var(--line))}.memo-calendar-grid .calendar-day{background:rgba(255,255,255,.055)}.calendar-day b{position:absolute;right:8px;bottom:8px;min-width:24px;height:24px;border-radius:999px;background:#e5a832;color:#fff;display:grid;place-items:center;font-size:12px}@media(max-width:760px){.calendar-flip-wrap,.calendar-flip-card{min-height:calc(100vh - 128px)}.calendar-day{min-height:52px}}.calendar-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.calendar-detail section{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:14px;min-height:120px}.calendar-detail h2{font-size:15px;margin:0 0 10px}.calendar-detail p{color:var(--muted);line-height:1.7}.calendar-detail-item{display:grid;gap:4px;width:100%;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text);padding:10px;text-align:left;margin-bottom:8px}.calendar-detail-item span{font-size:12px;color:var(--muted)}@media(max-width:760px){.calendar-detail{grid-template-columns:1fr}.calendar-day{min-height:46px}}.calendar-add{position:absolute;right:6px;bottom:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--main);color:#fff;font-style:normal;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.24)}.calendar-day-bar{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.calendar-day-bar textarea{min-height:34px;max-height:120px;border-radius:8px;resize:none;overflow:hidden;padding:7px 10px;line-height:1.45}.calendar-event-form{grid-column:1/-1;display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--main) 35%,var(--line));border-radius:8px;background:rgba(255,255,255,.045);padding:12px;margin-bottom:12px}.calendar-form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.calendar-check{display:flex;align-items:center;gap:6px;color:var(--text);white-space:nowrap}.calendar-check input{width:auto;min-height:auto}.calendar-event-form textarea{min-height:72px;border-radius:8px}.calendar-form-actions{display:flex;gap:8px;justify-content:flex-end}.calendar-schedule-item{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);padding:10px;margin-bottom:8px}.calendar-schedule-item time{font-size:12px;color:var(--main);font-weight:800}.calendar-schedule-item p{margin:0;color:var(--muted)}.calendar-schedule-item img,.calendar-photo{max-width:140px;max-height:90px;border-radius:6px;object-fit:cover}.calendar-photo-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media(max-width:760px){.calendar-day-bar,.calendar-form-row{grid-template-columns:1fr}.calendar-add{width:20px;height:20px;font-size:12px}}.calendar-memo-jump{justify-self:start;min-width:140px}.calendar-event-colors{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.event-color{width:30px;min-width:30px;height:30px;min-height:30px;border:2px solid rgba(255,255,255,.45);border-radius:50%;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}.event-color.active{outline:3px solid color-mix(in srgb,var(--main) 60%,white)}.calendar-event-marks{position:absolute;left:10px;right:10px;top:28px;height:54px;pointer-events:none}.event-bar{position:absolute;left:18px;right:8px;display:block;height:2px;background:color-mix(in srgb,var(--event-color) 15%,transparent);box-shadow:0 2px 5px rgba(0,0,0,.06)}.event-bar.lane-0{top:4px}.event-bar.lane-1{top:18px}.event-bar.lane-2{top:32px}.event-bar.lane-3{top:46px}.event-bar.start{border-radius:999px 0 0 999px}.event-bar.middle{left:8px;right:8px;border-radius:0}.event-bar.end{right:18px;border-radius:0 999px 999px 0}.event-start-stack,.event-end-stack{position:absolute;top:0;width:10px;height:64px}.event-start-stack{left:0}.event-end-stack{right:0}.event-start-dot,.event-end-dot{position:absolute;width:8px;height:8px;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2)}.event-start-dot.lane-0,.event-end-dot.lane-0{top:1px}.event-start-dot.lane-1,.event-end-dot.lane-1{top:15px}.event-start-dot.lane-2,.event-end-dot.lane-2{top:29px}.event-start-dot.lane-3,.event-end-dot.lane-3{top:43px}.calendar-day:hover .event-bar{height:3px;background:color-mix(in srgb,var(--event-color) 38%,transparent);box-shadow:0 3px 8px rgba(0,0,0,.2)}.event-dots{position:absolute;left:0;bottom:0;display:grid;gap:5px;min-height:8px}.event-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.24)}.calendar-day b{bottom:8px}@media(max-width:760px){.calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));justify-content:start}.calendar-day{height:66px;min-height:66px}.event-bar{height:2px}.event-dot{width:7px;height:7px}.event-start-dot,.event-end-dot{width:7px;height:7px}}
.calendar-front,.calendar-back{display:grid;grid-template-columns:max-content minmax(420px,1fr);grid-template-rows:auto auto;gap:10px 14px;align-items:start}.calendar-front>.calendar-head,.calendar-back>.calendar-head{grid-column:1 / -1;width:100%}.calendar-front>.calendar-grid,.calendar-back>.calendar-grid{grid-column:1;grid-row:2}.calendar-front>.calendar-detail,.calendar-back>.calendar-detail{grid-column:2;grid-row:2;margin-top:0;border-top:0;padding-top:0;align-self:start;min-width:0}.calendar-front>.calendar-detail section,.calendar-back>.calendar-detail section{min-height:126px}.calendar-front>.calendar-detail .calendar-day-bar,.calendar-back>.calendar-detail .calendar-day-bar{margin-bottom:8px}@media(max-width:980px){.calendar-front,.calendar-back{display:block}.calendar-front>.calendar-detail,.calendar-back>.calendar-detail{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}}
.calendar-front>.calendar-detail,.calendar-back>.calendar-detail{display:grid;grid-template-columns:1fr;gap:10px}.calendar-front>.calendar-detail .calendar-day-bar,.calendar-back>.calendar-detail .calendar-day-bar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:0}.calendar-front>.calendar-detail section,.calendar-back>.calendar-detail section{min-height:0;width:100%}.calendar-front>.calendar-detail textarea,.calendar-back>.calendar-detail textarea{width:100%;min-height:34px}
.calendar-front,.calendar-back{align-content:start;grid-template-rows:auto min-content}.calendar-front>.calendar-head,.calendar-back>.calendar-head{align-self:start;margin-bottom:0}.calendar-front>.calendar-grid,.calendar-back>.calendar-grid,.calendar-front>.calendar-detail,.calendar-back>.calendar-detail{align-self:start}.calendar-detail{align-content:start}

.calendar-front>.calendar-detail,.calendar-back>.calendar-detail{margin-top:26px}
.calendar-front>.calendar-detail .calendar-day-bar textarea,.calendar-back>.calendar-detail .calendar-day-bar textarea{height:34px;min-height:34px;max-height:34px}
.calendar-front>.calendar-detail .calendar-schedule-section,.calendar-back>.calendar-detail .calendar-schedule-section{min-height:480px}
.calendar-time-board{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:100%;min-height:410px}.calendar-time-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03);padding:10px;display:grid;grid-template-rows:repeat(12,1fr);gap:4px}.calendar-time-row{display:grid;grid-template-columns:54px minmax(54px,1fr) minmax(90px,2fr);gap:8px;align-items:center;min-height:25px;color:var(--muted);font-size:12px}.calendar-time-row>span{font-weight:800;color:color-mix(in srgb,var(--text) 78%,var(--muted))}.calendar-time-row>i{height:1px;background:color-mix(in srgb,var(--line) 80%,transparent);display:block}.calendar-time-row>div{display:flex;gap:5px;align-items:center;min-width:0;overflow:hidden}.calendar-time-event{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:4px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 12%,rgba(255,255,255,.04));color:var(--text);border-radius:6px;padding:3px 7px;font-weight:800;font-size:12px}@media(max-width:760px){.calendar-time-board{grid-template-columns:1fr;min-height:0}.calendar-time-card{grid-template-rows:none}.calendar-time-row{min-height:28px}}
.calendar-media-section{min-height:160px}.calendar-media-row{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:10px}.calendar-media-card{min-height:112px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--text);padding:10px;text-align:left;display:grid;align-content:start;gap:6px;overflow:hidden}.calendar-media-card strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-media-card small{color:var(--muted)}.calendar-media-icon{width:38px;height:38px;border-radius:8px;background:color-mix(in srgb,var(--main) 18%,transparent);border:1px solid color-mix(in srgb,var(--main) 28%,var(--line));display:grid;place-items:center;font-weight:800;font-size:11px}.calendar-media-card.photo img{width:100%;height:54px;object-fit:cover;border-radius:6px;background:#fff}.calendar-media-card.empty{opacity:.35;place-items:center;text-align:center}@media(max-width:760px){.calendar-media-row{grid-template-columns:repeat(3,1fr)}}
.calendar-front>.calendar-detail .calendar-schedule-section,.calendar-back>.calendar-detail .calendar-schedule-section{height:490px;min-height:490px;max-height:490px;display:flex;flex-direction:column;overflow:hidden}.calendar-schedule-section .calendar-time-board{flex:1;min-height:0;height:auto}.calendar-schedule-section .calendar-time-card{min-height:0}.calendar-media-section{height:238px;min-height:238px;max-height:238px;overflow:hidden}.calendar-media-section .calendar-media-row{height:190px;display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:10px}.calendar-media-section p,.calendar-media-section .calendar-photo-list{display:none}
.calendar-event-marks{left:10px;right:10px;top:28px;height:76px}.event-dots{position:absolute;left:0;top:0;bottom:auto;display:grid;grid-auto-rows:10px;gap:4px;min-height:0}.event-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.24)}.event-start-stack,.event-end-stack,.event-start-dot,.event-end-dot{display:none}.event-bar.lane-0{top:4px}.event-bar.lane-1{top:18px}.event-bar.lane-2{top:32px}.event-bar.lane-3{top:46px}
.event-end-stack{display:block;position:absolute;right:0;top:0;width:10px;height:76px}.event-end-dot{display:block;position:absolute;width:8px;height:8px;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.24)}.event-end-dot.lane-0{top:1px}.event-end-dot.lane-1{top:15px}.event-end-dot.lane-2{top:29px}.event-end-dot.lane-3{top:43px}
.calendar-media-card{min-height:0;height:100%;grid-template-rows:auto auto 1fr auto}.calendar-media-card p{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:12px;line-height:1.45}.calendar-media-card.photo img,.calendar-media-card .calendar-memo-preview{width:100%;height:96px;object-fit:cover;border-radius:6px;background:#fff;object-position:center}.calendar-media-card.memo .calendar-media-icon{margin-bottom:4px}.calendar-media-card.empty{height:100%}
.calendar-media-card{padding:8px;grid-template-rows:minmax(0,1fr) auto auto}.calendar-media-preview{min-height:0;height:100%;border-radius:6px;background:rgba(255,255,255,.025);overflow:hidden;display:block}.calendar-media-preview p{display:-webkit-box!important;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;margin:0;padding:8px;color:var(--text);font-size:12px;line-height:1.45}.calendar-media-card.photo img,.calendar-media-card .calendar-memo-preview{width:100%;height:100%;object-fit:cover;border-radius:6px;background:#fff;object-position:center}.calendar-media-card strong{margin-top:2px}.calendar-media-card small{line-height:1}
.calendar-media-card{grid-template-rows:minmax(0,1fr) auto}.calendar-media-card small{display:none}.calendar-media-preview p{-webkit-line-clamp:7}
.calendar-time-row{grid-template-columns:54px minmax(0,1fr);gap:10px}.calendar-time-row>i{display:none}.calendar-time-row>div{min-height:26px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:6px;background:rgba(255,255,255,.025);padding:3px 6px;display:flex;align-items:center;gap:5px}.calendar-time-event{margin-left:0;max-width:100%;border-left:4px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 18%,rgba(255,255,255,.04))}
button,.card,.calendar-day,.calendar-detail-item,.calendar-media-card,.memo-note,.calc-card,input,textarea,select{transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease,background-color .14s ease,outline-color .14s ease}button:active,.card:active,.calendar-day:active,.calendar-detail-item:active,.calendar-media-card:active,.memo-note:active,.calc-card:active{transform:translateY(1px) scale(.995)}button:focus-visible,.card:focus-visible,.calendar-day:focus-visible,.calendar-detail-item:focus-visible,.calendar-media-card:focus-visible,.memo-note:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--main) 72%,white);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--main) 22%,transparent)}button:hover,.card:hover,.calendar-detail-item:hover,.calendar-media-card:hover,.memo-note:hover{border-color:color-mix(in srgb,var(--main) 52%,var(--line));box-shadow:0 8px 20px rgba(0,0,0,.16)}.calendar-day:hover{border-color:color-mix(in srgb,var(--main) 58%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main) 35%,transparent)}.calendar-day.active,.navbtn.active,.memo-pen.active,.event-color.active,.swatch.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--main) 65%,transparent)}.is-pressed{outline:2px solid color-mix(in srgb,var(--main) 78%,white);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--main) 24%,transparent)!important}
.memo-calendar-grid + .calendar-detail{margin-top:26px}.calendar-memo-storage{height:calc(100vh - 150px);min-height:700px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:16px;overflow:hidden}.calendar-memo-storage h2{margin:0 0 12px;font-size:16px}.calendar-memo-storage .calendar-media-row{height:calc(100% - 34px);display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));grid-auto-rows:minmax(180px,1fr);gap:12px}.calendar-memo-storage .calendar-media-card{min-height:180px}.calendar-memo-storage .calendar-media-card.empty{opacity:.22}@media(max-width:980px){.calendar-memo-storage{height:auto;min-height:420px}.calendar-memo-storage .calendar-media-row{height:auto;grid-template-columns:repeat(2,1fr)}}
.calendar-memo-storage .calendar-media-row{height:auto;display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));grid-auto-rows:190px;align-content:start;gap:12px}.calendar-memo-storage .calendar-media-card{min-height:0;height:190px}.calendar-memo-storage .calendar-media-card.empty{height:190px;min-height:0}
.calendar-back .calendar-memo-storage{height:825px;min-height:825px;max-height:825px}.calendar-back .calendar-memo-storage .calendar-media-row{max-height:calc(100% - 34px);overflow:hidden}
.calendar-memo-storage .calendar-media-row{height:calc(100% - 34px);grid-template-columns:repeat(6,minmax(96px,1fr));grid-template-rows:repeat(3,1fr);grid-auto-rows:1fr;align-content:stretch}.calendar-memo-storage .calendar-media-card,.calendar-memo-storage .calendar-media-card.empty{height:100%;min-height:0}.calendar-memo-storage .calendar-media-preview{min-height:0}
.calendar-memo-storage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.calendar-memo-storage-head h2{margin:0}.calendar-memo-storage-head div{display:flex;align-items:center;gap:8px}.calendar-memo-storage-head span{color:var(--muted);font-weight:800;font-size:12px}.calendar-memo-storage-head button[disabled]{opacity:.35;cursor:not-allowed}
.loading-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(24,95,165,.18),transparent 38%),var(--bg);transition:opacity .42s ease,visibility .42s ease}.loading-screen.done{opacity:0;visibility:hidden}.loading-logo{display:grid;place-items:center;gap:10px;transform:translateY(-8px);transition:transform .42s ease,filter .42s ease}.loading-screen.done .loading-logo{transform:translateY(-8px) scale(.92);filter:blur(2px)}.loading-wheel{width:clamp(112px,18vw,190px);height:clamp(112px,18vw,190px);object-fit:contain;border-radius:50%;animation:rodaWheelSpin 1.15s linear infinite;filter:drop-shadow(0 18px 32px rgba(0,0,0,.28))}.loading-logo strong{font-size:clamp(30px,4vw,54px);letter-spacing:.08em;color:#e8eef5}.loading-logo span{color:var(--muted);font-weight:800;font-size:13px}@keyframes rodaWheelSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-wheel{animation:none}}
.avatar{background:#fff;overflow:hidden;border:1px solid color-mix(in srgb,var(--main) 45%,rgba(255,255,255,.18));box-shadow:0 6px 14px rgba(0,0,0,.18)}.avatar img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.18)}
.avatar{padding:3px}.avatar img{object-fit:contain;transform:none}.brand>div:last-child{display:grid;gap:2px;align-content:center}.brand-wordmark{width:52px;height:auto;display:block}.loading-wordmark{width:clamp(118px,18vw,210px);height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}.loading-logo strong{display:none}
.brand-wordmark,.loading-wordmark{filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(255,255,255,.12));opacity:.96}.loading-wheel{filter:brightness(1.32) saturate(1.18) drop-shadow(0 18px 32px rgba(0,0,0,.28))}.connection-state{display:inline-flex!important;align-items:center;gap:4px;width:max-content;font-size:11px;font-weight:800;line-height:1;color:#18d47b!important}.connection-state:before{content:"";width:6px;height:6px;border-radius:50%;background:#18d47b;box-shadow:0 0 8px rgba(24,212,123,.65)}.connection-state.offline{color:#f8fafc!important;background:#020617;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 7px}.connection-state.offline:before{background:#020617;border:1px solid rgba(255,255,255,.7);box-shadow:none}.connection-state.online{color:#18d47b!important;background:transparent;border:0;padding:0}
.loading-wheel{display:none}.loading-wheel-wrap{position:relative;width:clamp(112px,18vw,190px);height:clamp(112px,18vw,190px);filter:brightness(1.32) saturate(1.18) drop-shadow(0 18px 32px rgba(0,0,0,.28))}.loading-wheel-outer,.loading-wheel-inner{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.loading-wheel-outer{animation:none}.loading-wheel-inner{animation:rodaWheelSpin 1.15s linear infinite;transform-origin:50% 50%}@media(prefers-reduced-motion:reduce){.loading-wheel-inner{animation:none}}

#calcAiBtn.active{border-color:color-mix(in srgb,var(--main) 70%,white);background:color-mix(in srgb,var(--main) 28%,rgba(255,255,255,.06));box-shadow:0 0 0 2px color-mix(in srgb,var(--main) 22%,transparent),0 10px 22px rgba(0,0,0,.18)}.calc-app .tool-ai-result{max-height:118px;overflow:auto}
.is-api-online .brand .avatar img{animation:rodaWheelSpin 2.4s linear infinite;transform-origin:50% 50%}
body:not(.is-api-online) .brand .avatar img{animation:none;filter:grayscale(.25) brightness(.82)}
.connection-state.checking{color:#ffd37a!important}
.connection-state.checking:before{background:#ffd37a;box-shadow:0 0 8px rgba(255,211,122,.55)}
.connection-state.offline{color:#ff8a8a!important;background:#020617;border:1px solid rgba(255,138,138,.45);border-radius:999px;padding:3px 7px}
.connection-state.offline:before{background:#ff8a8a;border:0;box-shadow:0 0 8px rgba(255,138,138,.48)}
@media(prefers-reduced-motion:reduce){.is-api-online .brand .avatar img{animation:none}}

.reminder-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reminder-panel-head h2{margin:0}.reminder-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.reminder-tabs span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-weight:800;font-size:12px;background:rgba(255,255,255,.035)}.reminder-list{display:grid;gap:8px;max-height:320px;overflow:auto}.reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px;transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease,background-color .14s ease}.reminder-row:hover{border-color:color-mix(in srgb,var(--main) 52%,var(--line));box-shadow:0 8px 20px rgba(0,0,0,.16)}.reminder-row:active{transform:translateY(1px) scale(.995)}.reminder-row>div{display:grid;gap:4px;min-width:0}.reminder-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-row span{color:var(--muted);font-size:12px}.reminder-row em{color:#ff9b9b;font-style:normal;font-size:12px;line-height:1.45}.reminder-row b{border-radius:999px;padding:6px 9px;font-size:12px;background:rgba(255,255,255,.06);white-space:nowrap}.reminder-row.pending b{color:#f4c35f}.reminder-row.sent b{color:#38d985}.reminder-row.failed b{color:#ff8585}.reminder-row button{min-width:64px}@media(max-width:760px){.reminder-row{grid-template-columns:1fr auto}.reminder-row button{grid-column:1/-1;width:100%}.reminder-list{max-height:none}}

.memo-reminder-panel{display:grid;grid-template-columns:minmax(180px,260px) auto auto;gap:8px;align-items:center;border:1px solid color-mix(in srgb,var(--main) 38%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.04));padding:10px;margin:0 0 10px;box-shadow:0 10px 24px rgba(0,0,0,.12);animation:memoReminderOpen .16s ease}.memo-reminder-panel input{border-radius:8px}.memo-reminder-panel button{white-space:nowrap}#memoReminderBtn.active{border-color:color-mix(in srgb,var(--main) 70%,white);background:color-mix(in srgb,var(--main) 24%,rgba(255,255,255,.06));box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 22%,transparent)}@keyframes memoReminderOpen{from{opacity:.3;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.memo-reminder-panel{grid-template-columns:1fr}.memo-reminder-panel button{width:100%}}
.calendar-reminder-choice{grid-template-columns:auto minmax(0,1fr)}.calendar-reminder-rule{align-self:center;color:var(--muted);font-size:12px;font-weight:800;line-height:1.4}
@media(max-width:760px){.calendar-reminder-choice{grid-template-columns:1fr}.calendar-reminder-rule{padding-left:2px}}

.calendar-reminder-toggle{min-height:46px;border:1px solid color-mix(in srgb,var(--main) 36%,var(--line));border-radius:8px;background:rgba(255,255,255,.045);color:var(--text);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.calendar-reminder-toggle.on{background:color-mix(in srgb,var(--main) 28%,rgba(255,255,255,.06));border-color:color-mix(in srgb,var(--main) 72%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 22%,transparent),0 10px 22px rgba(0,0,0,.16)}.calendar-reminder-toggle span{pointer-events:none;white-space:nowrap}.calendar-reminder-toggle:active{transform:translateY(1px) scale(.995)}@media(max-width:760px){.calendar-reminder-toggle{width:100%;min-height:52px;font-size:15px}.calendar-reminder-choice{gap:8px}}

.calendar-event-form{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--main) 13%,#273442),#22303d 58%,color-mix(in srgb,#e5a832 9%,#1a2633));border-color:color-mix(in srgb,#e5a832 48%,var(--line));box-shadow:0 14px 32px rgba(0,0,0,.18),inset 4px 0 0 #e5a832}.calendar-event-form:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#e5a832,transparent 72%);opacity:.9}.calendar-event-form input,.calendar-event-form textarea,.calendar-event-form select{background:rgba(10,16,24,.34);border-color:color-mix(in srgb,#e5a832 34%,var(--line))}.calendar-event-form input:focus-visible,.calendar-event-form textarea:focus-visible,.calendar-event-form select:focus-visible{border-color:#e5a832;box-shadow:0 0 0 4px rgba(229,168,50,.18)}.calendar-event-form .calendar-reminder-toggle{background:rgba(10,16,24,.28);border-color:color-mix(in srgb,#e5a832 42%,var(--line))}.calendar-event-form .calendar-reminder-toggle.on{background:color-mix(in srgb,var(--main) 32%,rgba(229,168,50,.14));border-color:color-mix(in srgb,var(--main) 62%,#e5a832)}.calendar-event-form .calendar-memo-jump{background:rgba(10,16,24,.22)}@media(max-width:760px){.calendar-event-form{box-shadow:0 12px 26px rgba(0,0,0,.18),inset 3px 0 0 #e5a832}}

.issue-bell{margin-left:auto;width:38px;height:38px;min-height:38px;border:1px solid color-mix(in srgb,#e5a832 62%,var(--line));border-radius:50%;background:color-mix(in srgb,#e5a832 22%,rgba(255,255,255,.05));color:#fff;display:grid;place-items:center;position:relative;cursor:pointer}.issue-bell:before{content:"";width:15px;height:17px;border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 4px 4px;display:block;transform:translateY(1px)}.issue-bell:after{content:"";position:absolute;bottom:8px;width:10px;height:2px;border-radius:999px;background:currentColor;box-shadow:0 4px 0 -1px currentColor}.issue-bell span{position:absolute;right:-3px;top:-4px;min-width:16px;height:16px;border-radius:999px;background:#ef4444;color:#fff;display:none;place-items:center;font-size:10px;font-weight:900}.issue-bell.has-error{background:rgba(239,68,68,.22);border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18),0 10px 22px rgba(0,0,0,.18)}.issue-bell.has-error span{display:grid}.topbar .mic{margin-left:0}.issue-panel{position:fixed;right:16px;top:58px;z-index:20;width:min(380px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 84px));overflow:auto;background:var(--panel);border:1px solid color-mix(in srgb,#ef4444 34%,var(--line));border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.32);padding:12px}.issue-panel h2{font-size:15px;margin:0 0 10px}.issue-panel p{color:var(--muted);line-height:1.55;margin:0}.issue-list{display:grid;gap:8px}.issue-item{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);padding:10px}.issue-item strong{font-size:14px}.issue-item small{color:#ffb4b4;font-weight:800}.issue-item em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.45}.themebar{align-items:center}.swatch{position:relative}.swatch.active:after{content:"";position:absolute;inset:8px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.28)}

.roda-status-logo{width:40px;height:40px;min-height:40px;border:1px solid color-mix(in srgb,var(--main) 42%,var(--line));border-radius:50%;background:rgba(255,255,255,.06);display:grid;place-items:center;padding:4px;cursor:default;box-shadow:0 8px 18px rgba(0,0,0,.16);overflow:hidden}.roda-status-logo img{width:100%;height:100%;object-fit:contain;display:block}.roda-status-logo.listening img{animation:rodaWheelSpin 1.25s linear infinite}.roda-status-logo.answering img{animation:rodaWheelSpin .42s linear infinite}.voice-fab{position:fixed;left:50%;bottom:24px;z-index:18;transform:translateX(-50%);width:68px;height:68px;min-height:68px;border-radius:50%;padding:0;background:var(--main);color:#fff;display:grid;place-items:center;box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 0 6px color-mix(in srgb,var(--main) 18%,transparent);border:1px solid color-mix(in srgb,var(--main) 62%,white)}.voice-fab span{position:relative;width:18px;height:28px;border:3px solid currentColor;border-radius:12px;display:block}.voice-fab span:before{content:"";position:absolute;left:50%;bottom:-9px;width:28px;height:15px;border:3px solid currentColor;border-top:0;border-radius:0 0 16px 16px;transform:translateX(-50%)}.voice-fab span:after{content:"";position:absolute;left:50%;bottom:-18px;width:3px;height:10px;background:currentColor;border-radius:999px;transform:translateX(-50%)}.voice-fab.recording{background:var(--danger);animation:pulse 1s infinite}.voice-fab.processing{background:var(--warn)}.voice-fab.thinking{background:#185FA5}.voice-fab.speaking{background:var(--ok)}body{padding-bottom:92px}@media(max-width:760px){.voice-fab{bottom:68px;width:64px;height:64px;min-height:64px}.roda-status-logo{width:38px;height:38px;min-height:38px}body{padding-bottom:128px}}

.voice-fab img{width:62%;height:62%;object-fit:contain;display:block;filter:brightness(1.18) saturate(1.08);pointer-events:none}.voice-fab span,.voice-fab span:before,.voice-fab span:after{display:none}.voice-fab.recording img{animation:rodaWheelSpin 1.25s linear infinite}.voice-fab.thinking img,.voice-fab.speaking img{animation:rodaWheelSpin .42s linear infinite}.voice-fab.processing img{animation:rodaWheelSpin .85s linear infinite}

.voice-fab{background:color-mix(in srgb,var(--panel) 82%,var(--main));border-color:color-mix(in srgb,var(--main) 40%,var(--line));box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 0 5px color-mix(in srgb,var(--main) 12%,transparent)}.voice-fab img{width:72%;height:72%;filter:brightness(1.22) saturate(1.16) drop-shadow(0 3px 8px rgba(0,0,0,.28))}.voice-fab:active{transform:translateX(-50%) translateY(1px) scale(.985)}.voice-fab.recording{background:color-mix(in srgb,var(--danger) 30%,var(--panel));box-shadow:0 16px 34px rgba(0,0,0,.3),0 0 0 6px rgba(232,80,80,.16)}.voice-fab.processing{background:color-mix(in srgb,var(--warn) 30%,var(--panel))}.voice-fab.thinking{background:color-mix(in srgb,#185FA5 34%,var(--panel))}.voice-fab.speaking{background:color-mix(in srgb,var(--ok) 30%,var(--panel))}

.voice-fab{background:#ffffff!important;border-color:rgba(255,255,255,.9)!important;box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 0 5px rgba(255,255,255,.16)!important;transform:translateX(-50%)!important}.voice-fab:active{transform:translateX(-50%) translateY(1px) scale(.985)!important}.voice-fab.recording{background:#ffffff!important;animation:voiceWheelPulse 1s infinite!important}.voice-fab.processing,.voice-fab.thinking,.voice-fab.speaking{background:#ffffff!important}.voice-fab img{filter:saturate(1.18) brightness(1.05) drop-shadow(0 3px 7px rgba(0,0,0,.25))!important}@keyframes voiceWheelPulse{50%{transform:translateX(-50%) scale(.92);opacity:.78}}

.voice-fab:before,.voice-fab:after{content:"";position:absolute;inset:-9px;border-radius:50%;pointer-events:none;opacity:0}.voice-fab.recording:before,.voice-fab.processing:before,.voice-fab.thinking:before,.voice-fab.speaking:before{opacity:1;border:1px solid rgba(59,184,255,.62);box-shadow:0 0 14px rgba(59,184,255,.46),inset 0 0 18px rgba(59,184,255,.16);animation:electroRing 1.2s linear infinite}.voice-fab.recording:after,.voice-fab.processing:after,.voice-fab.thinking:after,.voice-fab.speaking:after{opacity:1;inset:-15px;background:conic-gradient(from 0deg,transparent 0 22deg,rgba(59,184,255,.75) 23deg 28deg,transparent 29deg 118deg,rgba(125,255,226,.55) 119deg 123deg,transparent 124deg 360deg);filter:blur(.2px);animation:electroSweep .72s linear infinite;z-index:-1}.voice-fab.recording,.voice-fab.processing,.voice-fab.thinking,.voice-fab.speaking{overflow:visible}.voice-fab.recording img,.voice-fab.processing img,.voice-fab.thinking img,.voice-fab.speaking img{filter:saturate(1.32) brightness(1.12) drop-shadow(0 0 8px rgba(59,184,255,.58))!important}@keyframes electroRing{50%{transform:scale(1.08);opacity:.42}100%{transform:scale(1);opacity:1}}@keyframes electroSweep{to{transform:rotate(360deg)}}

.voice-fab.recording:before,.voice-fab.processing:before,.voice-fab.thinking:before,.voice-fab.speaking:before{border-color:rgba(255,224,80,.55);box-shadow:0 0 12px rgba(255,224,80,.55),inset 0 0 14px rgba(255,224,80,.16);animation:electricCrackle .42s steps(2,end) infinite}.voice-fab.recording:after,.voice-fab.processing:after,.voice-fab.thinking:after,.voice-fab.speaking:after{background:radial-gradient(circle at 22% 18%,rgba(255,245,120,.95) 0 2px,transparent 3px),radial-gradient(circle at 82% 28%,rgba(74,210,255,.9) 0 2px,transparent 3px),radial-gradient(circle at 70% 88%,rgba(255,245,120,.9) 0 2px,transparent 3px);filter:drop-shadow(0 0 8px rgba(255,232,74,.85));animation:electricCrackle .32s steps(2,end) infinite;z-index:0}.voice-fab .spark{position:absolute;width:22px;height:34px;opacity:0;pointer-events:none;z-index:1;background:#ffe84a;clip-path:polygon(42% 0,100% 0,62% 38%,94% 38%,22% 100%,42% 52%,8% 52%);filter:drop-shadow(0 0 6px rgba(255,232,74,.95)) drop-shadow(0 0 11px rgba(74,210,255,.55));transform-origin:center}.voice-fab.recording .spark,.voice-fab.processing .spark,.voice-fab.thinking .spark,.voice-fab.speaking .spark{animation:electricBolt .58s steps(2,end) infinite}.voice-fab .s1{left:-13px;top:5px;transform:rotate(-28deg) scale(.72);animation-delay:0s}.voice-fab .s2{right:-12px;top:10px;transform:rotate(24deg) scale(.62);animation-delay:.12s}.voice-fab .s3{left:9px;bottom:-21px;transform:rotate(152deg) scale(.58);animation-delay:.24s}.voice-fab .s4{right:8px;bottom:-18px;transform:rotate(-142deg) scale(.5);animation-delay:.36s}.voice-fab.recording img,.voice-fab.processing img,.voice-fab.thinking img,.voice-fab.speaking img{filter:saturate(1.42) brightness(1.14) drop-shadow(0 0 8px rgba(255,232,74,.55)) drop-shadow(0 0 12px rgba(74,210,255,.38))!important}@keyframes electricBolt{0%,100%{opacity:0}18%{opacity:1}28%{opacity:.25}42%{opacity:1}55%{opacity:0}}@keyframes electricCrackle{0%{opacity:.2;transform:scale(.98) rotate(0deg)}35%{opacity:1;transform:scale(1.08) rotate(8deg)}70%{opacity:.35;transform:scale(1.02) rotate(-5deg)}100%{opacity:.85;transform:scale(1) rotate(0deg)}}

:root{--model-cheap:#2d8df0;--model-mid:#f2c94c;--model-high:#f97316}.chat.model-bg-cheap{background:linear-gradient(180deg,rgba(45,141,240,.07),transparent 34%)}.chat.model-bg-mid{background:linear-gradient(180deg,rgba(242,201,76,.09),transparent 34%)}.chat.model-bg-high{background:linear-gradient(180deg,rgba(249,115,22,.1),transparent 34%)}.model-switch-row{position:relative;display:flex;justify-content:flex-end;align-items:center;min-height:38px}.model-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);color:var(--text);padding:0 12px;font-weight:800;cursor:pointer}.model-chip.tier-cheap{border-color:color-mix(in srgb,var(--model-cheap) 56%,var(--line))}.model-chip.tier-mid{border-color:color-mix(in srgb,var(--model-mid) 56%,var(--line))}.model-chip.tier-high{border-color:color-mix(in srgb,var(--model-high) 64%,var(--line))}.model-dot{width:10px;height:10px;min-width:10px;border-radius:50%;display:inline-block;background:var(--model-cheap)}.model-dot.auto{background:var(--muted)}.model-dot.cheap{background:var(--model-cheap)}.model-dot.mid{background:var(--model-mid)}.model-dot.high{background:var(--model-high)}.model-cost-warn{font-size:11px;color:var(--model-high)}.model-popover{position:absolute;right:0;bottom:42px;z-index:8;width:min(360px,calc(100vw - 28px));display:grid;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.28)}.model-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.model-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--text);padding:9px 10px;text-align:left;cursor:pointer}.model-option strong,.model-option small{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-option small{color:var(--muted);font-size:11px}.model-option em{font-style:normal;color:var(--model-high);font-size:11px}.model-option.active{border-color:color-mix(in srgb,var(--main) 62%,var(--line));background:color-mix(in srgb,var(--main) 13%,transparent)}.model-option:disabled{opacity:.45;cursor:not-allowed}.bubble.assistant.model-tier-cheap,.bubble.assistant.model-tier-mid,.bubble.assistant.model-tier-high{border-left-width:3px;border-left-style:solid}.bubble.assistant.model-tier-cheap{border-left-color:var(--model-cheap)}.bubble.assistant.model-tier-mid{border-left-color:var(--model-mid)}.bubble.assistant.model-tier-high{border-left-color:var(--model-high)}.model-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 6px 0;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;background:rgba(255,255,255,.08);color:var(--text)}.model-badge.tier-cheap{box-shadow:inset 0 0 0 1px var(--model-cheap)}.model-badge.tier-mid{box-shadow:inset 0 0 0 1px var(--model-mid)}.model-badge.tier-high{box-shadow:inset 0 0 0 1px var(--model-high)}.model-library-list{display:grid;gap:8px}.model-library-item{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px}.model-library-item>div{display:flex;align-items:center;gap:8px;min-width:0}.model-library-item strong{font-size:14px}.model-library-item small{color:var(--muted);margin-left:auto}.model-library-item p{margin-top:6px!important;font-size:12px}.usage-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.usage-breakdown section{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px}.usage-breakdown h3{margin:0 0 8px;font-size:12px;color:var(--muted)}.usage-breakdown div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:12px}.usage-breakdown span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-breakdown small{color:var(--muted)}@media(max-width:760px){.usage-breakdown{grid-template-columns:1fr}.model-popover{bottom:40px}}

.voice-fab.recording:before,.voice-fab.processing:before,.voice-fab.thinking:before,.voice-fab.speaking:before{border-color:rgba(62,190,255,.72);box-shadow:0 0 15px rgba(62,190,255,.62),inset 0 0 16px rgba(62,190,255,.18)}.voice-fab.recording:after,.voice-fab.processing:after,.voice-fab.thinking:after,.voice-fab.speaking:after{background:radial-gradient(circle at 18% 22%,rgba(62,190,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 84% 30%,rgba(62,190,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 72% 84%,rgba(255,230,82,.34) 0 2px,transparent 3px),radial-gradient(circle at 28% 82%,rgba(62,190,255,.72) 0 1.5px,transparent 3px);filter:drop-shadow(0 0 9px rgba(62,190,255,.85))}.voice-fab .spark{background:#3ec8ff;filter:drop-shadow(0 0 6px rgba(62,200,255,.95)) drop-shadow(0 0 12px rgba(62,200,255,.62))}.voice-fab .spark:after{content:"";position:absolute;inset:3px;background:rgba(255,230,82,.28);clip-path:inherit;filter:drop-shadow(0 0 5px rgba(255,230,82,.35))}.voice-fab .s1{left:-6px;top:7px;transform:rotate(-22deg) scale(.58)}.voice-fab .s2{right:-6px;top:12px;transform:rotate(24deg) scale(.54)}.voice-fab .s3{left:14px;bottom:-11px;transform:rotate(152deg) scale(.48)}.voice-fab .s4{right:13px;bottom:-10px;transform:rotate(-142deg) scale(.44)}.voice-fab.recording img,.voice-fab.processing img,.voice-fab.thinking img,.voice-fab.speaking img{filter:saturate(1.42) brightness(1.12) drop-shadow(0 0 9px rgba(62,200,255,.72)) drop-shadow(0 0 7px rgba(255,230,82,.22))!important}

.voice-fab .spark{width:32px;height:2px;background:#4fd4ff!important;border-radius:999px;clip-path:none!important;box-shadow:9px -6px 0 -1px #4fd4ff,17px 0 0 -1px rgba(255,232,74,.38);filter:drop-shadow(0 0 5px rgba(79,212,255,.95)) drop-shadow(0 0 10px rgba(79,212,255,.52))!important}.voice-fab .spark:before{content:"";position:absolute;left:9px;top:-6px;width:18px;height:2px;background:#4fd4ff;border-radius:999px;transform:rotate(126deg);box-shadow:13px 4px 0 -1px rgba(255,232,74,.32)}.voice-fab .spark:after{content:"";position:absolute;left:19px;top:-1px;width:17px;height:2px;background:#4fd4ff!important;border-radius:999px;transform:rotate(-34deg);filter:drop-shadow(0 0 4px rgba(79,212,255,.8))}.voice-fab .s1{left:-13px;top:17px;transform:rotate(-18deg) scale(.78)}.voice-fab .s2{right:-14px;top:21px;transform:rotate(162deg) scale(.72)}.voice-fab .s3{left:16px;bottom:-8px;transform:rotate(74deg) scale(.62)}.voice-fab .s4{right:16px;bottom:-7px;transform:rotate(106deg) scale(.58)}@keyframes electricBolt{0%,100%{opacity:0}12%{opacity:.95}18%{opacity:.15}28%{opacity:.85}36%{opacity:0}52%{opacity:.75}60%{opacity:0}}
.memo-destination-panel{display:grid;gap:12px;border:1px solid color-mix(in srgb,var(--main) 42%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 11%,rgba(255,255,255,.045));padding:12px;margin:0 0 10px;box-shadow:0 12px 26px rgba(0,0,0,.14);animation:memoReminderOpen .16s ease}.memo-destination-panel>strong{font-size:14px}.memo-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.memo-destination-card{min-height:72px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);color:var(--text);display:grid;gap:5px;align-content:center;text-align:left;padding:10px;cursor:pointer;transition:transform .08s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.memo-destination-card b{font-size:14px}.memo-destination-card span{color:var(--muted);font-size:12px;line-height:1.35}.memo-destination-card:hover{border-color:color-mix(in srgb,var(--main) 58%,var(--line));box-shadow:0 8px 20px rgba(0,0,0,.16)}.memo-destination-card:active{transform:translateY(1px) scale(.995)}#memoDestinationBtn.active{border-color:color-mix(in srgb,var(--main) 70%,white);background:color-mix(in srgb,var(--main) 24%,rgba(255,255,255,.06));box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 22%,transparent)}.transfer-note{grid-column:1/-1;border:1px solid color-mix(in srgb,var(--main) 42%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.04));padding:10px 12px;margin-bottom:10px}.calc-app>.transfer-note{margin-bottom:0}.transfer-note strong{display:block;margin-bottom:5px}.transfer-note p{margin:0;color:var(--muted);line-height:1.55;white-space:pre-wrap}@media(max-width:760px){.memo-destination-grid{grid-template-columns:1fr}.memo-destination-card{min-height:64px}.memo-destination-panel>.ghost{width:100%}}.calc-actions{grid-template-columns:auto auto minmax(0,1fr)}.calc-actions button{white-space:nowrap}@media(max-width:760px){.calc-actions{grid-template-columns:1fr 1fr}.calc-actions .tool-ai-result{grid-column:1/-1}}.calendar-transfer-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid color-mix(in srgb,var(--main) 48%,#e5a832);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--main) 20%,rgba(255,255,255,.06)),rgba(229,168,50,.12));padding:10px 12px;box-shadow:0 10px 24px rgba(0,0,0,.16);animation:memoReminderOpen .16s ease}.calendar-transfer-banner strong{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:color-mix(in srgb,var(--main) 34%,rgba(255,255,255,.08));padding:5px 10px;font-size:12px;white-space:nowrap}.calendar-transfer-banner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:800}.calendar-transfer-banner:hover{border-color:color-mix(in srgb,var(--main) 68%,#e5a832);box-shadow:0 12px 28px rgba(0,0,0,.2)}@media(max-width:760px){.calendar-transfer-banner{grid-template-columns:1fr;gap:6px}.calendar-transfer-banner strong{width:max-content}.calendar-transfer-banner span{white-space:normal;line-height:1.45}}

.key-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:12px}.key-form,.key-list{align-self:start}.key-form{display:grid;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--main) 11%,var(--panel)),var(--panel) 62%,color-mix(in srgb,#e5a832 7%,var(--panel)))}.key-form h2,.key-list h2{margin:0 0 2px}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.key-field{display:grid;gap:6px}.key-field span{color:var(--muted);font-size:12px;font-weight:800}.key-field-wide{grid-column:1/-1}.key-password-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.key-password-input button{min-width:72px}.key-security-strip,.key-transfer-banner{border:1px solid color-mix(in srgb,var(--main) 44%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.04));padding:10px 12px;font-weight:800}.key-transfer-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.key-transfer-banner strong{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:color-mix(in srgb,var(--main) 32%,rgba(255,255,255,.08));padding:5px 10px;font-size:12px;white-space:nowrap}.key-transfer-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-actions{display:flex;gap:8px;justify-content:flex-end}.key-entry-list{display:grid;gap:8px}.key-entry{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);padding:12px}.key-entry-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.key-entry-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-entry-head button{min-width:68px}.key-entry dl{display:grid;gap:8px;margin:0}.key-entry div{min-width:0}.key-entry dt{color:var(--muted);font-size:11px;font-weight:800;margin-bottom:3px}.key-entry dd{margin:0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.key-secret{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.key-secret span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0}.key-secret button{min-width:68px}.key-form button:active,.key-entry button:active{transform:translateY(1px) scale(.995)}@media(max-width:760px){.key-app{grid-template-columns:1fr}.key-grid{grid-template-columns:1fr}.key-password-input,.key-secret,.key-entry-head{grid-template-columns:1fr}.key-password-input button,.key-secret button,.key-entry-head button,.key-actions button{width:100%;min-height:44px}.key-actions{display:grid;grid-template-columns:1fr}.key-transfer-banner{grid-template-columns:1fr}.key-transfer-banner span{white-space:normal;line-height:1.45}}

.chat{grid-template-rows:1fr auto auto}.chat.has-guide{grid-template-rows:auto 1fr auto auto}

.athena-vault-status,.athena-runtime-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid color-mix(in srgb,#e5a832 55%,var(--line));border-radius:8px;background:rgba(229,168,50,.13);padding:10px 12px;box-shadow:0 10px 24px rgba(0,0,0,.14)}.athena-vault-status strong,.athena-runtime-status strong{white-space:nowrap;color:#ffd37a}.athena-vault-status span,.athena-runtime-status span{color:var(--muted);line-height:1.45}.athena-vault-status.connected,.athena-runtime-status.ready{border-color:color-mix(in srgb,var(--ok) 62%,var(--line));background:color-mix(in srgb,var(--ok) 13%,rgba(255,255,255,.04))}.athena-vault-status.connected strong,.athena-runtime-status.ready strong{color:#74f0b0}.athena-vault-status.missing,.athena-runtime-status.missing{border-color:color-mix(in srgb,#e5a832 70%,var(--line));box-shadow:0 0 0 3px rgba(229,168,50,.12),0 10px 24px rgba(0,0,0,.14)}button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}@media(max-width:760px){.athena-vault-status,.athena-runtime-status{grid-template-columns:1fr;gap:5px}.athena-vault-status strong,.athena-runtime-status strong{white-space:normal}}

.athena-panel,.athena-safe-panel,.athena-pass-panel{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--main) 34%,var(--line));border-radius:8px;background:rgba(255,255,255,.035);padding:12px}.athena-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline}.athena-panel-head strong{font-size:14px}.athena-panel-head span{color:var(--muted);line-height:1.45}.athena-warning{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid color-mix(in srgb,#e5a832 80%,var(--line));border-radius:8px;background:rgba(229,168,50,.18);padding:12px;box-shadow:0 0 0 3px rgba(229,168,50,.12),0 14px 28px rgba(0,0,0,.18)}.athena-warning div{display:grid;gap:4px}.athena-warning strong{color:#ffd37a}.athena-warning span{color:var(--text);line-height:1.5}.athena-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.athena-key-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);padding:10px;min-width:0}.athena-key-card div{display:grid;gap:4px}.athena-key-card span{color:var(--muted);font-size:12px;line-height:1.4}.athena-key-card code,.athena-safe-target code{font-size:11px;color:#9bd7ff;white-space:normal;overflow-wrap:anywhere}.athena-key-card button{width:100%;min-height:38px}.athena-key-card button:active,.athena-safe-actions button:active,.athena-server-actions button:active{transform:translateY(1px) scale(.995)}.athena-safe-target{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid color-mix(in srgb,var(--main) 34%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 8%,rgba(255,255,255,.04));padding:10px}.athena-safe-target b{white-space:nowrap}.athena-safe-target span{color:var(--muted)}.athena-safe-textarea{min-height:86px;border-color:color-mix(in srgb,#e5a832 44%,var(--line));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-webkit-text-security:disc}.athena-safe-textarea:focus{box-shadow:0 0 0 3px rgba(229,168,50,.16)}.athena-safe-actions,.athena-server-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.athena-pass-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.athena-pass-grid div{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);padding:10px}.athena-pass-grid b{color:#ffd37a}.athena-pass-grid span{font-size:12px;color:var(--text)}.athena-pass-grid em{font-style:normal;color:var(--muted);font-size:11px;line-height:1.35}.athena-settings-panel{display:grid;gap:10px}@media(max-width:900px){.athena-card-grid,.athena-pass-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.athena-panel-head,.athena-warning,.athena-safe-target{grid-template-columns:1fr}.athena-card-grid,.athena-pass-grid{grid-template-columns:1fr}.athena-safe-actions,.athena-server-actions{display:grid;grid-template-columns:1fr}.athena-warning button,.athena-safe-actions button,.athena-server-actions button{width:100%;min-height:44px}}
.athena-key-card.saved{border-color:color-mix(in srgb,var(--ok) 52%,var(--line));background:color-mix(in srgb,var(--ok) 9%,rgba(255,255,255,.045))}.athena-key-card small{color:var(--muted);font-weight:800}.athena-key-card.saved small{color:#74f0b0}.athena-pass-inline{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px}.athena-pass-inline.setup{grid-template-columns:repeat(4,minmax(0,1fr))}.athena-pass-inline label{display:grid;gap:5px}.athena-pass-inline span{font-size:12px;color:var(--muted);font-weight:800}.athena-pass-inline input{min-height:44px;border-radius:8px}.athena-setup-panel{border-color:color-mix(in srgb,#e5a832 62%,var(--line));background:rgba(229,168,50,.11)}@media(max-width:900px){.athena-pass-inline.setup{grid-template-columns:1fr 1fr}}@media(max-width:760px){.athena-pass-inline,.athena-pass-inline.setup{grid-template-columns:1fr}.athena-pass-inline input{min-height:48px}}
.athena-key-card.selected{border-color:#e5a832;background:rgba(229,168,50,.13);box-shadow:0 0 0 3px rgba(229,168,50,.14),0 12px 24px rgba(0,0,0,.16)}.athena-key-card.selected small{color:#ffd37a}.athena-key-card.selected button[data-athena-card]{background:#e5a832;color:#111827;border-color:#e5a832}.athena-secret-status{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-weight:800}.athena-secret-status.empty{color:var(--muted);background:rgba(255,255,255,.035)}.athena-secret-status.filled{color:#74f0b0;border-color:color-mix(in srgb,var(--ok) 62%,var(--line));background:color-mix(in srgb,var(--ok) 12%,rgba(255,255,255,.04));box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 14%,transparent)}
.athena-secret-status.cloud-required{color:#ffd37a;border-color:color-mix(in srgb,#e5a832 70%,var(--line));background:rgba(229,168,50,.12)}
.athena-quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.athena-quick-cards button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);color:var(--text);font-weight:800;cursor:pointer}.athena-quick-cards button.active{background:#e5a832;color:#111827;border-color:#e5a832;box-shadow:0 0 0 3px rgba(229,168,50,.14)}.athena-quick-cards button:active{transform:translateY(1px) scale(.995)}@media(max-width:760px){.athena-quick-cards{grid-template-columns:1fr 1fr}.athena-quick-cards button{min-height:46px}}
.athena-flow{border-color:color-mix(in srgb,#e5a832 58%,var(--line));background:linear-gradient(135deg,rgba(229,168,50,.12),rgba(255,255,255,.035));box-shadow:0 12px 30px rgba(0,0,0,.18)}.athena-step{display:grid;gap:9px;border:1px solid color-mix(in srgb,var(--main) 28%,var(--line));border-radius:8px;background:rgba(255,255,255,.035);padding:10px}.athena-step>b{color:#ffd37a;font-size:14px}.athena-wide-action{width:100%;min-height:42px}.athena-panel.compact{background:rgba(255,255,255,.025)}.athena-card-list{display:grid;gap:6px}.athena-card-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(110px,auto) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:8px 10px}.athena-card-row span{color:var(--muted);font-weight:800}.athena-card-row.saved{border-color:color-mix(in srgb,var(--ok) 42%,var(--line));background:color-mix(in srgb,var(--ok) 7%,rgba(255,255,255,.035))}.athena-card-row.saved span{color:#74f0b0}.athena-card-row button{min-height:34px}@media(max-width:760px){.athena-card-row{grid-template-columns:1fr}.athena-card-row button{width:100%;min-height:42px}}

.composer.has-attach{grid-template-columns:auto minmax(0,1fr) auto}.attach-btn{width:42px;min-width:42px;min-height:42px;border:1px solid color-mix(in srgb,var(--main) 42%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--main) 15%,rgba(255,255,255,.04));color:var(--text);font-size:24px;font-weight:800;line-height:1;cursor:pointer}.attach-btn:hover{border-color:color-mix(in srgb,var(--main) 70%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 18%,transparent)}.attach-btn:active{transform:translateY(1px) scale(.96)}.attachment-tray{display:flex;flex-wrap:wrap;gap:8px;min-height:0}.attachment-tray:empty{display:none}.attachment-chip{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:7px;align-items:center;max-width:min(360px,100%);min-height:38px;border:1px solid color-mix(in srgb,var(--main) 34%,var(--line));border-radius:999px;background:rgba(255,255,255,.045);color:var(--text);padding:6px 9px;cursor:pointer}.attachment-chip span{border-radius:999px;background:color-mix(in srgb,var(--main) 28%,rgba(255,255,255,.06));padding:4px 7px;font-size:11px;font-weight:900}.attachment-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attachment-chip small{color:var(--muted);font-weight:800}.attachment-chip i{font-style:normal;color:#ffd37a;font-weight:900}.attachment-chip:hover{border-color:color-mix(in srgb,#e5a832 66%,var(--line));box-shadow:0 8px 18px rgba(0,0,0,.16)}.bubble{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.composer.has-attach{grid-template-columns:48px minmax(0,1fr) auto}.attach-btn{width:46px;min-width:46px;min-height:46px}.attachment-chip{width:100%;max-width:none;min-height:44px}}
.bubble.pending{position:relative;color:var(--muted);border-color:color-mix(in srgb,var(--main) 36%,var(--line));background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.04))}.bubble.pending:after{content:"";display:inline-block;width:26px;height:26px;margin-left:8px;vertical-align:middle;background:url("./assets/roda-wheel.png") center/contain no-repeat;animation:rodaWheelSpin .85s linear infinite}.bubble.error{border-color:color-mix(in srgb,var(--danger) 68%,var(--line));background:color-mix(in srgb,var(--danger) 14%,rgba(255,255,255,.04));color:#ffd2d2}.attachment-chip:focus-visible,.attach-btn:focus-visible,.send:focus-visible{outline:3px solid color-mix(in srgb,var(--main) 45%,white);outline-offset:2px}.attachment-chip:active{transform:translateY(1px) scale(.99)}@media(max-width:760px){.send{min-height:46px;padding:0 14px}.attachment-chip{border-radius:12px;padding:8px 10px}.attachment-chip i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.07)}}
.issue-resolve-btn{width:100%;margin-top:8px;min-height:36px}.issue-resolve-btn:active{transform:translateY(1px) scale(.995)}@media(max-width:760px){.issue-resolve-btn{min-height:44px}}

.athena-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:12px;align-items:start}.athena-main,.athena-side{display:grid;gap:12px}.athena-side{position:sticky;top:72px}.athena-card-row{grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.athena-card-row>div{display:grid;gap:4px;min-width:0}.athena-card-row code{color:#9bd7ff;font-size:11px;white-space:normal;overflow-wrap:anywhere}.athena-card-row em{font-style:normal;color:var(--muted);font-size:12px;font-weight:800}.athena-card-row.saved em{color:#74f0b0}.athena-card-row .muted{color:var(--muted)}.danger-aware{border-color:color-mix(in srgb,#e5a832 55%,var(--line));background:rgba(229,168,50,.08)}.athena-safe-actions.split{display:grid;grid-template-columns:minmax(0,1fr) auto}.athena-reveal-panel{display:grid;gap:10px;border:1px solid color-mix(in srgb,#e5a832 72%,var(--line));border-radius:8px;background:linear-gradient(135deg,rgba(229,168,50,.16),rgba(255,255,255,.035));box-shadow:0 0 0 3px rgba(229,168,50,.12),0 14px 30px rgba(0,0,0,.2);padding:12px}.athena-reveal-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid rgba(229,168,50,.42);border-radius:8px;background:rgba(229,168,50,.12);padding:10px}.athena-reveal-warning b{color:#ffd37a}.athena-reveal-warning span{color:var(--text);line-height:1.45}.athena-reveal-box{display:grid;gap:6px}.athena-reveal-box span{color:var(--muted);font-weight:800}.athena-reveal-box textarea{min-height:84px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-color:color-mix(in srgb,#e5a832 50%,var(--line));background:rgba(10,16,24,.44);resize:vertical}.reminder-row.expired b{color:#ffb86b}.reminder-row.failed,.reminder-row.expired{border-color:color-mix(in srgb,#ef4444 45%,var(--line));background:rgba(239,68,68,.08)}.issue-bell{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease}.issue-bell:active{transform:translateY(1px) scale(.96)}.issue-bell:not(.has-error){color:#ffe08a}.issue-bell.has-error{color:#fff}.attachment-chip{transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease,background-color .14s ease}.attachment-chip:hover span{background:color-mix(in srgb,#e5a832 34%,rgba(255,255,255,.06))}
@media(max-width:980px){.athena-layout{grid-template-columns:1fr}.athena-side{position:static}}
@media(max-width:760px){.athena-card-row{grid-template-columns:1fr}.athena-card-row button{min-height:46px;width:100%}.athena-safe-actions.split{grid-template-columns:1fr}.athena-reveal-warning{grid-template-columns:1fr}.athena-reveal-box textarea{min-height:120px}.issue-panel{right:10px;top:56px;width:calc(100vw - 20px)}}

.chat.has-guide{position:relative;isolation:isolate;background:linear-gradient(135deg,#0d1420 0%,#111a25 52%,#141516 100%);border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 46px rgba(0,0,0,.24)}.chat.has-guide:before{content:"";position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle at 18% 0%,rgba(45,212,191,.13),transparent 38%),radial-gradient(circle at 82% 10%,rgba(229,168,50,.12),transparent 32%);pointer-events:none;z-index:-1}.chat.has-guide .app-ai-guide{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid rgba(229,168,50,.34);border-radius:8px;background:rgba(13,19,31,.82);padding:9px 12px;box-shadow:inset 3px 0 0 #e5a832}.chat.has-guide .app-ai-guide strong{color:#ffd37a;font-size:14px;white-space:nowrap}.chat.has-guide .app-ai-guide span{color:#cbd5e1;font-size:12px;line-height:1.45}.chat.has-guide .athena-vault-status,.chat.has-guide .athena-runtime-status{min-height:0!important;grid-template-columns:auto minmax(0,1fr);border-radius:8px;padding:11px 12px;background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.chat.has-guide .athena-vault-status.connected,.chat.has-guide .athena-runtime-status.ready{background:rgba(16,185,129,.11);border-color:rgba(52,211,153,.46)}.chat.has-guide .athena-vault-status strong,.chat.has-guide .athena-runtime-status strong{font-size:13px;color:#6ee7b7}.chat.has-guide .athena-vault-status span,.chat.has-guide .athena-runtime-status span{font-size:12px;color:#94a3b8}.chat.has-guide .athena-runtime-status.missing{background:rgba(229,168,50,.1);border-color:rgba(229,168,50,.42)}.chat.has-guide .athena-runtime-status.missing strong{color:#ffd37a}.chat.has-guide .athena-warning{padding:10px 12px;border-radius:8px;background:rgba(229,168,50,.13);border-color:rgba(229,168,50,.48);box-shadow:0 0 0 1px rgba(229,168,50,.08)}.chat.has-guide .athena-warning strong{font-size:13px}.chat.has-guide .athena-warning span{font-size:12px;color:#f8fafc}.chat.has-guide .athena-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:14px}.chat.has-guide .athena-safe-panel,.chat.has-guide .athena-panel,.chat.has-guide .athena-pass-panel,.chat.has-guide .athena-reveal-panel{border-radius:10px;background:rgba(15,23,42,.78);border-color:rgba(148,163,184,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 34px rgba(0,0,0,.2)}.chat.has-guide .athena-flow{border-color:rgba(229,168,50,.42);background:linear-gradient(145deg,rgba(229,168,50,.1),rgba(15,23,42,.82) 38%,rgba(15,23,42,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 42px rgba(0,0,0,.26)}.chat.has-guide .athena-panel-head{align-items:center}.chat.has-guide .athena-panel-head strong{color:#f8fafc;font-size:14px}.chat.has-guide .athena-panel-head span{color:#94a3b8;font-size:12px}.chat.has-guide .athena-step{background:rgba(2,6,23,.32);border-color:rgba(148,163,184,.16);padding:12px}.chat.has-guide .athena-step>b{color:#ffd37a}.chat.has-guide .athena-quick-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.chat.has-guide .athena-quick-cards button{background:rgba(255,255,255,.035);border-color:rgba(148,163,184,.22);color:#e2e8f0;box-shadow:none}.chat.has-guide .athena-quick-cards button:hover{border-color:rgba(229,168,50,.58);background:rgba(229,168,50,.1)}.chat.has-guide .athena-quick-cards button.active{background:#e5a832;color:#111827;border-color:#e5a832;box-shadow:0 0 0 3px rgba(229,168,50,.15)}.chat.has-guide .athena-safe-target{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.28);padding:10px 12px}.chat.has-guide .athena-safe-target b{color:#f8fafc}.chat.has-guide .athena-safe-target span{font-size:12px;color:#94a3b8}.chat.has-guide .athena-safe-textarea,.chat.has-guide .athena-pass-inline input,.chat.has-guide .athena-reveal-box textarea{background:rgba(2,6,23,.58);border-color:rgba(229,168,50,.3);color:#f8fafc}.chat.has-guide .athena-secret-status{background:rgba(2,6,23,.4);border-color:rgba(148,163,184,.18)}.chat.has-guide .athena-secret-status.filled{background:rgba(16,185,129,.12);border-color:rgba(52,211,153,.44)}.chat.has-guide .athena-card-list{gap:8px}.chat.has-guide .athena-card-row{grid-template-columns:minmax(0,1fr) 68px 58px;background:rgba(2,6,23,.35);border-color:rgba(148,163,184,.18);padding:10px;border-radius:8px}.chat.has-guide .athena-card-row.saved{background:rgba(16,185,129,.09);border-color:rgba(52,211,153,.34)}.chat.has-guide .athena-card-row strong{color:#f8fafc}.chat.has-guide .athena-card-row span,.chat.has-guide .athena-card-row em{font-size:11px}.chat.has-guide .athena-card-row code{font-size:10px;color:#7dd3fc}.chat.has-guide .athena-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat.has-guide .athena-pass-grid div{background:rgba(2,6,23,.28);border-color:rgba(148,163,184,.16)}.chat.has-guide .messages{border-top:1px solid rgba(148,163,184,.14);padding-top:8px}.chat.has-guide .composer{background:rgba(15,23,42,.8);border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:8px}.chat.has-guide .composer input{background:rgba(2,6,23,.52);color:#f8fafc}.chat.has-guide .attachment-tray{padding-top:2px}
.athena-dock{display:grid;gap:8px}.athena-dock-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:48px;border:1px solid rgba(229,168,50,.34);border-radius:8px;background:rgba(13,19,31,.86);padding:8px 10px;box-shadow:inset 3px 0 0 #e5a832}.athena-dock-bar>div:first-child{display:grid;gap:2px;min-width:0}.athena-dock-bar strong{color:#ffd37a;font-size:14px}.athena-dock-bar span{color:#cbd5e1;font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athena-dock-status{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.athena-dock-status b{border:1px solid rgba(148,163,184,.2);border-radius:999px;background:rgba(255,255,255,.045);color:#cbd5e1;font-size:11px;padding:5px 8px;white-space:nowrap}.athena-dock-status b.ok{border-color:rgba(52,211,153,.42);color:#6ee7b7;background:rgba(16,185,129,.1)}.athena-dock-status b.warn{border-color:rgba(229,168,50,.42);color:#ffd37a;background:rgba(229,168,50,.1)}.athena-dock-toggle{min-height:36px;white-space:nowrap;border-color:rgba(229,168,50,.42)!important}.athena-dock-body{display:grid;gap:10px;overflow:hidden;transition:grid-template-rows .18s ease,opacity .18s ease,transform .18s ease}.athena-dock.closed .athena-dock-body{display:none}.athena-dock.closed+.messages,.chat.has-guide .messages{min-height:calc(100vh - 330px)}.athena-dock.closed .athena-warning{margin-bottom:0}.chat.has-guide:has(.athena-dock.closed) .messages{min-height:calc(100vh - 250px)}
@media(max-width:980px){.chat.has-guide .athena-layout{grid-template-columns:1fr}.chat.has-guide .athena-side{position:static}.chat.has-guide .athena-pass-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.chat.has-guide{padding:10px;border-radius:0;border-left:0;border-right:0}.chat.has-guide .app-ai-guide{align-items:flex-start;flex-direction:column}.chat.has-guide .athena-quick-cards{grid-template-columns:1fr 1fr}.chat.has-guide .athena-card-row{grid-template-columns:1fr}.chat.has-guide .athena-pass-grid{grid-template-columns:1fr 1fr}.chat.has-guide .athena-vault-status,.chat.has-guide .athena-runtime-status{grid-template-columns:1fr}.athena-dock-bar{grid-template-columns:1fr;gap:8px}.athena-dock-status{justify-content:flex-start}.athena-dock-toggle{width:100%;min-height:44px}.chat.has-guide:has(.athena-dock.closed) .messages{min-height:calc(100vh - 300px)}}
.athena-share-bar{display:flex;justify-content:flex-end;margin-bottom:8px}.athena-share-bar .ghost{min-height:36px;border-color:rgba(229,168,50,.42);background:rgba(229,168,50,.08)}

body{font-size:15.5px}.navbtn{font-size:15px}.topbar h1{font-size:20px}.topbar p{font-size:11px}.card h2,.panel h2{font-size:18px}.card p,.panel p{font-size:15px}.bubble{font-size:16px;line-height:1.75;padding:12px 14px}.composer input{font-size:16px}.send,.primary,.ghost{font-size:15px}.attachment-chip b{font-size:13px}.attachment-chip small{font-size:12px}.message-files,.message-folded{display:grid;gap:8px}.message-files summary,.message-folded summary{cursor:pointer;font-weight:900;color:#ffd37a;list-style:none}.message-files summary::-webkit-details-marker,.message-folded summary::-webkit-details-marker{display:none}.message-files summary:before,.message-folded summary:before{content:"▶";display:inline-block;margin-right:7px;font-size:11px;transition:transform .14s ease}.message-files[open] summary:before,.message-folded[open] summary:before{transform:rotate(90deg)}.message-files div{display:grid;gap:3px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);padding:8px;margin-top:6px}.message-files b{font-size:14px}.message-files span{color:var(--muted);font-size:12px}.message-folded pre{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.18);padding:10px;margin:8px 0 0;font-family:inherit;font-size:14px;line-height:1.65}.typing-caret{display:inline-block;width:8px;height:1.15em;margin-left:2px;vertical-align:-2px;background:currentColor;border-radius:999px;animation:typingBlink .85s steps(2,end) infinite}@keyframes typingBlink{50%{opacity:0}}.bubble.typing{border-color:color-mix(in srgb,var(--main) 42%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--main) 10%,transparent)}
@media(max-width:760px){body{font-size:16px}.navbtn{font-size:12px}.bubble{font-size:16px;max-width:94%;line-height:1.7}.composer input{font-size:16px}.send,.primary,.ghost{font-size:15px;min-height:46px}.message-folded pre{max-height:280px}}

.voice-fab.home-button{touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
.voice-fab.home-button.custom-position{transform:none!important}
.voice-fab.home-button.custom-position:active{transform:none!important}
.voice-fab.home-button.dragging{cursor:grabbing;outline:3px solid rgba(229,168,50,.62);outline-offset:5px;box-shadow:0 22px 46px rgba(0,0,0,.38),0 0 0 8px rgba(229,168,50,.16)!important}
.voice-fab.home-button[hidden]{display:none!important}
.home-button-settings{display:grid;gap:12px}
.home-button-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:12px}
.home-button-setting-row div{display:grid;gap:4px}
.home-button-setting-row strong{font-size:15px}
.home-button-setting-row span{color:var(--muted);line-height:1.45}
.home-toggle{min-width:86px;min-height:42px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);color:var(--muted);font-weight:900;cursor:pointer}
.home-toggle.on{background:#e5a832;color:#111827;border-color:#e5a832;box-shadow:0 0 0 3px rgba(229,168,50,.16)}
.home-toggle:active,.home-reset-btn:active{transform:translateY(1px) scale(.995)}
.home-reset-btn{justify-self:start}
@media(max-width:760px){.home-button-setting-row{grid-template-columns:1fr}.home-toggle,.home-reset-btn{width:100%;min-height:46px}.voice-fab.home-button.custom-position{bottom:auto!important}}

input,textarea,select{background:var(--field);color:var(--text);border-color:color-mix(in srgb,var(--main) 28%,var(--line))}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}
.send,.primary{background:var(--main);color:var(--on-main)}
.mic:not(.voice-fab),.calendar-add,.dot{background:var(--main);color:var(--on-main)}
.ghost{color:var(--text);border-color:var(--line)}
.navbtn.active,.navbtn:hover{color:var(--text);background:color-mix(in srgb,var(--main) 18%,transparent)}
.card:hover,.panel:focus-within{border-color:color-mix(in srgb,var(--main) 44%,var(--line))}
.status,.card p,.panel p,.budget span,.topbar p,.settings-hint{color:var(--muted)}
.calendar-schedule-item time,.athena-key-card code,.athena-safe-target code,.athena-card-row code,.message-files summary,.message-folded summary{color:var(--accent-text)}
.bubble{color:var(--text);background:color-mix(in srgb,var(--main) 9%,var(--panel));border-color:color-mix(in srgb,var(--main) 25%,var(--line))}
.bubble.user{color:var(--text);background:color-mix(in srgb,var(--field) 76%,transparent);border-color:color-mix(in srgb,var(--main) 20%,var(--line))}
.home-toggle.on,.athena-quick-cards button.active,.chat.has-guide .athena-quick-cards button.active{background:var(--main);color:var(--on-main);border-color:var(--main)}
body[data-theme=white] .bubble.user,body[data-theme=white] .item,body[data-theme=white] .memo-note,body[data-theme=white] .calendar-schedule-item{background:rgba(17,24,39,.035)}
body[data-theme=white] .message-folded pre{background:rgba(17,24,39,.045)}
body[data-theme=black] .send,body[data-theme=black] .primary{color:#0A0F1C}

.work-chat-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:10px}.work-chat-bar span{margin-right:auto;color:var(--muted);font-weight:900}.work-meeting-toggle.active{background:var(--main);color:var(--on-main);border-color:var(--main)}.work-flip{position:relative;height:calc(100vh - 126px);min-height:420px;perspective:1400px;overflow:hidden}.work-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s ease,opacity .2s ease}.work-front{transform:rotateY(0deg)}.work-front .chat{height:100%;min-height:0}.work-back{transform:rotateY(180deg)}.work-flip.flipped .work-front{transform:rotateY(180deg);pointer-events:none}.work-flip.flipped .work-back{transform:rotateY(360deg)}.work-meeting-board{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:12px;overflow:hidden}.work-meeting-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.work-meeting-head h2{margin:0;font-size:18px}.work-meeting-head p,.work-meeting-head span{color:var(--muted);margin:0}.work-meeting-agents{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.work-meeting-agents article{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:9px}.work-meeting-agents strong{display:block;font-size:13px}.work-meeting-agents small{display:block;color:var(--accent-text);font-weight:900;margin:3px 0}.work-meeting-agents p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.work-meeting-log{overflow:auto;display:grid;gap:10px;padding-right:4px}.work-meeting-empty{border:1px dashed var(--line);border-radius:8px;padding:14px;color:var(--muted);text-align:center}.work-meeting-turn{display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);padding:10px}.work-meeting-user{border-left:3px solid var(--main);padding-left:10px}.work-meeting-user p{margin:4px 0;white-space:pre-wrap}.work-meeting-user small{color:var(--muted)}.work-meeting-replies{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.work-meeting-replies section{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--main) 7%,transparent);padding:9px}.work-meeting-replies b{display:block;margin-bottom:5px;color:var(--accent-text)}.work-meeting-replies p{margin:0;line-height:1.55;white-space:pre-wrap}.work-meeting-composer{align-items:center}@media(max-width:1100px){.work-meeting-agents,.work-meeting-replies{grid-template-columns:1fr 1fr}}@media(max-width:760px){.work-chat-bar{padding:0 10px}.work-flip{height:calc(100vh - 160px);min-height:360px}.work-meeting-head{grid-template-columns:1fr}.work-meeting-agents,.work-meeting-replies{grid-template-columns:1fr}.work-meeting-board{border-radius:0;border-left:0;border-right:0}}
.work-meeting-agents .meeting-role-push,.work-meeting-replies .meeting-role-push{border-color:#f4c430;box-shadow:inset 0 0 0 1px rgba(244,196,48,.22)}.work-meeting-agents .meeting-role-idea,.work-meeting-replies .meeting-role-idea{border-color:#ff4d5e;box-shadow:inset 0 0 0 1px rgba(255,77,94,.2)}.work-meeting-agents .meeting-role-risk,.work-meeting-replies .meeting-role-risk{border-color:#c9b7ff;box-shadow:inset 0 0 0 1px rgba(201,183,255,.2)}.work-meeting-agents .meeting-role-summary,.work-meeting-replies .meeting-role-summary{border-color:#f8fafc;box-shadow:inset 0 0 0 1px rgba(248,250,252,.18)}.work-meeting-agents .meeting-role-field,.work-meeting-replies .meeting-role-field{border-color:#ff9f43;box-shadow:inset 0 0 0 1px rgba(255,159,67,.2)}
.work-meeting-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid color-mix(in srgb,var(--main) 28%,var(--line));border-radius:8px;background:rgba(255,255,255,.035);padding:8px 10px}.work-meeting-source strong{display:block;color:var(--accent-text);font-size:13px}.work-meeting-source span{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-meeting-source .ghost{min-height:32px;padding:0 10px}
body[data-theme=orange] .voice-fab.home-button.dragging,body[data-theme=yellow] .voice-fab.home-button.dragging{outline-color:color-mix(in srgb,var(--main) 70%,white)}

body[data-theme=white] .athena-vault-status.connected strong,
body[data-theme=white] .athena-runtime-status.ready strong,
body[data-theme=white] .athena-key-card.saved small,
body[data-theme=white] .athena-card-row.saved span,
body[data-theme=white] .athena-card-row.saved em,
body[data-theme=white] .reminder-row.sent b,
body[data-theme=white] .reminder-row.sent strong,
body[data-theme=white] .reminder-row.sent span:last-child{color:#047857!important}
body[data-theme=white] .athena-runtime-status.missing strong,
body[data-theme=white] .athena-warning strong,
body[data-theme=white] .reminder-row.pending b,
body[data-theme=white] .reminder-row.pending strong,
body[data-theme=white] .reminder-row.pending span:last-child{color:#9a5f00!important}
body[data-theme=white] .athena-vault-status.connected,
body[data-theme=white] .athena-runtime-status.ready{background:#e6f7ef;border-color:#34a16f;color:#0f172a}
body[data-theme=white] .athena-warning,
body[data-theme=white] .athena-runtime-status.missing{background:#fff4d8;border-color:#d69d3c;color:#0f172a}

.settings-stack{display:grid;gap:10px}
.settings-group{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}
.settings-group>summary{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none;font-weight:900;color:var(--text);background:color-mix(in srgb,var(--main) 9%,var(--panel));transition:background-color .14s ease,border-color .14s ease}
.settings-group>summary::-webkit-details-marker{display:none}
.settings-group>summary:after{content:"▾";min-width:32px;text-align:center;border:1px solid color-mix(in srgb,var(--main) 45%,var(--line));border-radius:8px;padding:5px 10px;color:var(--accent-text);font-size:12px;background:color-mix(in srgb,var(--main) 8%,transparent)}
.settings-group[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--main) 15%,var(--panel))}
.settings-group[open]>summary:after{content:"▴";color:var(--on-main);background:var(--main);border-color:var(--main)}
.settings-group>summary span{font-size:17px}
.settings-group>summary small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}
.settings-group-body{display:grid;gap:10px;padding:10px}
.settings-group-body>.panel,.settings-group-body>.row{margin:0}
.settings-group-body .panel{background:color-mix(in srgb,var(--panel) 90%,var(--bg))}
@media(max-width:760px){.settings-group>summary{grid-template-columns:1fr;gap:6px}.settings-group>summary:after{justify-self:start;min-height:32px}.settings-group-body{padding:8px}}

.usage-summary-btn{width:100%;text-align:left;color:var(--text);cursor:pointer}
.usage-summary-btn small{display:block;color:var(--muted);font-weight:800;font-size:11px;margin-top:2px}
.usage-summary-btn:active{transform:translateY(1px) scale(.995)}
.usage-panel{position:fixed;left:212px;bottom:14px;z-index:40;width:min(680px,calc(100vw - 232px));max-height:min(720px,calc(100vh - 40px));overflow:auto;border:1px solid color-mix(in srgb,var(--main) 38%,var(--line));border-radius:10px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.38);padding:12px;display:grid;gap:10px}
.usage-panel[hidden]{display:none}
.usage-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.035));padding:12px}
.usage-panel-head div{display:grid;gap:3px}
.usage-panel-head span,.usage-note,.usage-item small,.usage-item p{color:var(--muted)}
.usage-panel-head strong{font-size:22px;color:var(--text)}
.usage-panel-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.usage-list{display:grid;gap:8px}
.usage-item{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:12px}
.usage-item>div{display:grid;gap:3px}
.usage-item strong{font-size:15px;color:var(--text)}
.usage-item dl{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:8px;margin:0}
.usage-item dl>div{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--field) 70%,transparent);padding:8px}
.usage-item dt{font-size:11px;color:var(--muted);font-weight:900;margin-bottom:4px}
.usage-item dd{margin:0;color:var(--text);font-weight:900;line-height:1.4}
.usage-item dd span{display:block;color:var(--accent-text);margin-top:2px}
.usage-item p{margin:0;font-size:12px}
.usage-empty{border:1px dashed var(--line);border-radius:8px;padding:14px;color:var(--muted);text-align:center}
@media(max-width:760px){.usage-panel{left:10px;right:10px;bottom:68px;width:auto;max-height:calc(100vh - 96px)}.usage-panel-head,.usage-item dl{grid-template-columns:1fr}.usage-panel-actions{display:grid;grid-template-columns:1fr 1fr}.usage-panel-actions button{min-height:44px}}

.ai-customize-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-profile-card{display:grid;gap:10px}
.ai-profile-card label{display:grid;gap:6px}
.ai-profile-card label span{color:var(--muted);font-size:12px;font-weight:900}
.ai-profile-card input,.ai-profile-card textarea{border-radius:8px}
.ai-profile-features{min-height:150px;line-height:1.65}
.ai-profile-card p{font-size:13px}
@media(max-width:900px){.ai-customize-grid{grid-template-columns:1fr}}
.work-specialists{display:grid;gap:12px}
.work-specialist-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.work-specialist-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px}
.work-specialist-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.work-specialist-head input{width:18px;min-height:18px}
.work-specialist-head strong{color:var(--text);font-size:15px}
.work-specialist-card textarea{min-height:92px;border-radius:8px;line-height:1.55}
@media(max-width:900px){.work-specialist-list{grid-template-columns:1fr}}

/* Athena AI room stability */
.chat.has-guide{
  height:calc(100vh - 80px);
  min-height:0;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  overflow:hidden;
}
.chat.has-guide .messages{
  min-height:0!important;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
}
.chat.has-guide .composer{
  position:sticky;
  bottom:0;
  z-index:3;
  background:linear-gradient(180deg,transparent,var(--bg) 22%);
  padding-top:8px;
}
.bubble,.message-folded pre,.athena-dock,.athena-safe-panel,.athena-reveal-panel,.athena-warning{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.bubble{white-space:pre-wrap}
.athena-dock{overflow:hidden}
.athena-dock-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.athena-voice-status{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:center;
  border:1px solid rgba(148,163,184,.22);
  border-radius:8px;
  padding:8px 10px;
  background:rgba(255,255,255,.035);
}
.athena-voice-status strong{color:#ffd37a;white-space:nowrap}
.athena-voice-status span{color:var(--muted)}
@media(max-width:760px){
  .chat.has-guide{height:calc(100vh - 128px)}
  .athena-dock-actions{justify-content:stretch}
  .athena-dock-actions button{flex:1}
  .athena-voice-status{grid-template-columns:1fr}
}

/* Chat voice input */
.composer.has-attach{
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
}
.chat-voice-btn{
  width:42px;
  min-width:42px;
  min-height:42px;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:var(--text);
  cursor:pointer;
  font-size:18px;
  font-weight:900;
}
:is(.chat-voice-btn,.voice-fab,.mindmap-voice-btn,#voiceMemoBtn,.translation-mic).recording{
  background:linear-gradient(145deg,#ff3157,#b91635)!important;
  color:#fff!important;
  border-color:#ff3157!important;
  box-shadow:0 0 0 4px rgba(255,49,87,.24),0 0 18px rgba(255,49,87,.72),inset 0 1px 0 rgba(255,255,255,.24)!important;
  animation:micRecordingLive .82s ease-in-out infinite!important;
}
:is(.chat-voice-btn,.voice-fab,.mindmap-voice-btn,#voiceMemoBtn,.translation-mic).recording img{
  filter:brightness(1.12) drop-shadow(0 0 8px rgba(255,255,255,.55))!important;
}
@keyframes micRecordingLive{
  0%,100%{filter:saturate(1) brightness(1)}
  50%{filter:saturate(1.32) brightness(1.12)}
}
@media(max-width:760px){
  .composer.has-attach{grid-template-columns:auto minmax(0,1fr) auto auto;gap:7px}
  .chat-voice-btn{width:46px;min-width:46px;min-height:46px}
}

/* Chat message structure */
.message-row{
  display:flex;
  width:100%;
}
.message-row.user{
  justify-content:flex-end;
}
.message-row.assistant{
  justify-content:flex-start;
}
.message-row .bubble.assistant{
  max-width:min(820px,100%);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  line-height:1.9;
  box-shadow:none;
}
.message-row .bubble.user{
  max-width:min(430px,76%);
  padding:12px 16px;
  border:0;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  line-height:1.65;
  box-shadow:none;
}
.message-row .bubble.error{
  border:1px solid color-mix(in srgb,var(--danger) 55%,var(--line));
  background:color-mix(in srgb,var(--danger) 10%,transparent);
  padding:10px 12px;
  border-radius:8px;
}
.roda-thinking{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--main);
  margin:8px 0;
}
.roda-thinking span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:2px solid color-mix(in srgb,var(--main) 28%,transparent);
  border-top-color:var(--main);
  border-radius:50%;
  font-size:12px;
  font-weight:900;
  animation:rodaSpin .85s linear infinite;
}
@keyframes rodaSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){
  .message-row .bubble.user{max-width:82%}
  .message-row .bubble.assistant{max-width:100%}
}

/* RodA logo thinking mark */
.roda-thinking{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin:8px 0;
}
.roda-thinking img{
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
  border-radius:50%;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
  animation:rodaWheelSpin 1.15s linear infinite;
}

/* Topbar current time */
.topbar-clock{
  margin-left:auto;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.035);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.topbar .issue-bell{margin-left:0}
@media(max-width:760px){
  .topbar-clock{font-size:11px;padding:0 8px;min-height:28px}
}

/* Chat readability balance */
.chat.has-guide .messages,
.messages{
  gap:22px;
  padding:10px 14px 18px 14px;
}
.message-row{
  align-items:flex-start;
}
.message-row.assistant{
  padding-left:2px;
}
.message-row.user{
  padding-right:6px;
}
.message-row .bubble.assistant{
  max-width:min(760px, calc(100% - 72px));
  color:color-mix(in srgb,var(--text) 96%,white);
  font-size:15px;
  line-height:1.78;
  font-weight:500;
  letter-spacing:0;
  padding:0 0 2px 0;
}
.message-row .bubble.user{
  max-width:min(520px,72%);
  min-height:42px;
  padding:11px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.105);
  color:var(--text);
  font-size:15px;
  line-height:1.55;
  font-weight:600;
  letter-spacing:0;
}
.message-row .bubble.assistant p,
.message-row .bubble.user p{
  margin:0 0 10px;
}
.message-row .bubble.assistant ol,
.message-row .bubble.assistant ul{
  margin:8px 0 12px 1.45em;
  padding:0;
}
.message-row .bubble.assistant li{
  margin:0 0 8px;
  padding-left:.15em;
}
.message-row .bubble.assistant strong{
  font-weight:800;
}
.composer.has-attach{
  gap:9px;
  padding:10px 12px 0;
}
.composer.has-attach :is(input,textarea)#chatInput{
  min-height:48px;
  font-size:15px;
  line-height:1.45;
  padding:12px 14px;
}
.composer.has-attach .send,
.composer.has-attach .attach-btn,
.composer.has-attach .chat-voice-btn{
  min-height:48px;
}
@media(max-width:760px){
  .chat.has-guide .messages,
  .messages{gap:18px;padding:8px 8px 14px}
  .message-row .bubble.assistant{max-width:100%;font-size:14.5px;line-height:1.72}
  .message-row .bubble.user{max-width:86%;font-size:14.5px;line-height:1.5;padding:10px 14px}
}

/* Chat readability balance v2 */
.chat.has-guide .messages,
.messages{
  gap:12px;
  padding:8px 18px 16px 18px;
}
.message-row.user{
  margin-top:8px;
  margin-bottom:2px;
}
.message-row.assistant{
  margin-top:0;
  margin-bottom:14px;
}
.message-row.user + .message-row.assistant{
  margin-top:-2px;
}
.message-row.assistant + .message-row.user{
  margin-top:16px;
}
.message-row .bubble.assistant{
  max-width:min(820px, calc(100% - 64px));
  font-size:17px;
  line-height:1.72;
  font-weight:500;
}
.message-row .bubble.user{
  max-width:min(560px,74%);
  min-height:46px;
  padding:12px 17px;
  font-size:17px;
  line-height:1.5;
  font-weight:650;
}
.composer.has-attach :is(input,textarea)#chatInput{
  min-height:52px;
  font-size:17px;
  line-height:1.45;
}
@media(max-width:760px){
  .chat.has-guide .messages,
  .messages{gap:10px;padding:8px 10px 14px}
  .message-row.assistant{margin-bottom:12px}
  .message-row.assistant + .message-row.user{margin-top:14px}
  .message-row .bubble.assistant{font-size:16px;line-height:1.68;max-width:100%}
  .message-row .bubble.user{font-size:16px;line-height:1.48;max-width:88%;padding:11px 15px}
  .composer.has-attach :is(input,textarea)#chatInput{font-size:16px;min-height:50px}
}

/* Chat stop button */
.chat-stop-btn{
  min-height:48px;
  padding:0 14px;
  border:1px solid color-mix(in srgb,var(--danger) 55%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--danger) 16%,rgba(255,255,255,.04));
  color:#ffd7d7;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}
.chat-stop-btn:hover{
  background:color-mix(in srgb,var(--danger) 28%,rgba(255,255,255,.06));
}
.chat-stop-btn[hidden]{display:none!important}
@media(max-width:760px){
  .chat-stop-btn{min-height:50px;padding:0 10px;font-size:14px}
}
.generated-image{
  margin:12px 0 0;
  display:grid;
  gap:8px;
  max-width:min(520px,100%);
}
.generated-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  border:1px solid color-mix(in srgb,var(--main) 28%,var(--line));
  background:rgba(255,255,255,.04);
}
.generated-image figcaption{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

/* Chat layout final balance */
.chat.has-guide .messages,
.messages{
  gap:8px;
  padding:10px 18px 16px;
}
.message-row.assistant{
  margin:0 0 10px;
}
.message-row.user{
  margin:8px 0 2px;
}
.message-row.user + .message-row.assistant{
  margin-top:0;
}
.message-row.assistant + .message-row.user{
  margin-top:14px;
}
.message-row .bubble.assistant{
  max-width:min(780px, calc(100% - 72px));
  font-size:17px;
  line-height:1.66;
  padding:0;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.message-row .bubble.user{
  max-width:min(540px, 70%);
  min-height:44px;
  padding:11px 16px;
  font-size:16px;
  line-height:1.48;
  border-radius:16px 16px 4px 16px;
}
.composer.has-attach{
  align-items:center;
}
@media(max-width:760px){
  .chat.has-guide .messages,
  .messages{
    gap:8px;
    padding:8px 10px 14px;
  }
  .message-row .bubble.assistant{
    max-width:100%;
    font-size:16px;
    line-height:1.62;
  }
  .message-row .bubble.user{
    max-width:88%;
    font-size:16px;
    line-height:1.46;
    padding:10px 14px;
  }
}

/* Athena safe field scroll fix */
.chat.has-guide .messages{
  padding-bottom:150px!important;
  scroll-padding-bottom:150px;
}
.athena-safe-panel.athena-flow{
  margin-bottom:140px;
}
.athena-safe-actions{
  padding-bottom:12px;
}
@media(max-width:760px){
  .chat.has-guide .messages{padding-bottom:180px!important;scroll-padding-bottom:180px}
  .athena-safe-panel.athena-flow{margin-bottom:170px}
}

/* Athena simple layout override */
.chat.has-guide{
  display:block!important;
  height:calc(100vh - 80px)!important;
  overflow-y:auto!important;
  padding-bottom:32px!important;
}
.chat.has-guide .messages{
  overflow:visible!important;
  min-height:auto!important;
  padding-bottom:24px!important;
}
.chat.has-guide .composer{
  position:static!important;
  margin-top:18px!important;
  padding-bottom:24px!important;
}
.athena-dock.open{
  margin-bottom:16px!important;
}
.athena-safe-panel.athena-flow{
  margin-bottom:24px!important;
}
.athena-safe-textarea{
  min-height:110px!important;
  max-height:160px!important;
}
@media(max-width:760px){
  .chat.has-guide{height:calc(100vh - 128px)!important;padding-bottom:48px!important}
  .chat.has-guide .composer{padding-bottom:36px!important}
}

/* Athena stable layout repair */
.chat.has-guide{
  display:flex!important;
  flex-direction:column!important;
  height:calc(100vh - 80px)!important;
  overflow:hidden!important;
  padding-bottom:0!important;
}
.chat.has-guide .athena-dock{
  flex:0 0 auto!important;
  max-height:58vh!important;
  overflow:auto!important;
}
.chat.has-guide .messages{
  flex:1 1 auto!important;
  min-height:160px!important;
  overflow:auto!important;
  padding-bottom:14px!important;
}
.chat.has-guide .attachment-tray{
  flex:0 0 auto!important;
}
.chat.has-guide .composer{
  flex:0 0 auto!important;
  position:relative!important;
  margin-top:8px!important;
  padding:10px 12px 12px!important;
  background:var(--bg)!important;
  border-top:1px solid var(--line)!important;
}
.athena-safe-panel.athena-flow{
  margin-bottom:12px!important;
}
.athena-safe-actions{
  position:static!important;
  padding-bottom:0!important;
}
.athena-env-list{
  display:grid;
  gap:8px;
}
.athena-env-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  padding:9px 10px;
  background:rgba(255,255,255,.035);
}
.athena-env-row b{
  border-radius:999px;
  padding:4px 8px;
  text-align:center;
  font-size:12px;
}
.athena-env-row.ready b{
  background:color-mix(in srgb,var(--ok) 28%,transparent);
  color:var(--text);
}
.athena-env-row.missing b{
  background:color-mix(in srgb,var(--warn) 28%,transparent);
  color:var(--text);
}
.athena-env-row code{
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .chat.has-guide{height:calc(100vh - 128px)!important}
  .chat.has-guide .athena-dock{max-height:55vh!important}
  .chat.has-guide .composer{padding-bottom:14px!important}
}

/* MindMap AI */
.mindmap-app{
  min-height:calc(100vh - 80px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:12px;
}
.mindmap-workbench,.mindmap-side{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:8px;
  padding:14px;
}
.mindmap-workbench{
  display:grid;
  grid-template-rows:auto auto auto auto auto minmax(420px,1fr);
  gap:12px;
}
.mindmap-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.mindmap-head h2,.mindmap-side h2{
  margin:0 0 6px;
  font-size:18px;
}
.mindmap-head p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.mindmap-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mindmap-source-tabs,.mindmap-type-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.mindmap-source-tab,.mindmap-type-tab{
  min-height:40px;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}
.mindmap-source-tab.active,.mindmap-type-tab.active{
  border-color:color-mix(in srgb,var(--main) 68%,var(--line));
  background:color-mix(in srgb,var(--main) 24%,rgba(255,255,255,.045));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 14%,transparent);
}
.mindmap-type-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid color-mix(in srgb,var(--main) 24%,var(--line));
  border-radius:8px;
  background:rgba(255,255,255,.025);
  padding:8px;
}
.mindmap-type-tab{
  min-height:38px;
  background:rgba(255,255,255,.028);
}
.mindmap-source-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
  border:1px solid color-mix(in srgb,var(--main) 30%,var(--line));
  border-radius:8px;
  background:rgba(255,255,255,.035);
  padding:10px 12px;
}
.mindmap-source-card strong{
  font-size:15px;
}
.mindmap-source-card span{
  color:var(--muted);
  line-height:1.45;
}
.mindmap-source-actions{
  grid-row:1 / span 2;
  grid-column:2;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.mindmap-source-select{
  width:auto;
  min-width:168px;
  border-radius:8px;
}
.mindmap-input{
  min-height:116px;
  border-radius:8px;
  line-height:1.65;
}
.mindmap-status{
  min-height:42px;
  display:flex;
  align-items:center;
  border:1px solid color-mix(in srgb,var(--main) 32%,var(--line));
  border-radius:8px;
  background:color-mix(in srgb,var(--main) 10%,rgba(255,255,255,.035));
  color:var(--text);
  padding:8px 10px;
  line-height:1.5;
}
.mindmap-canvas{
  min-height:420px;
  border:1px solid color-mix(in srgb,var(--main) 24%,var(--line));
  border-radius:8px;
  background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--main) 12%,transparent),transparent 34%),rgba(255,255,255,.03);
  overflow:auto;
}
.mindmap-svg{
  display:block;
  width:100%;
  min-width:0;
  height:auto;
}
.mindmap-link{
  fill:none;
  stroke:color-mix(in srgb,var(--main) 48%,var(--line));
  stroke-width:3;
  stroke-linecap:round;
}
.mindmap-link.spine{
  stroke:color-mix(in srgb,#e5a832 72%,var(--main));
  stroke-width:5;
}
.mindmap-link.concept{
  stroke:#e5a832;
  stroke-width:2;
  stroke-dasharray:7 7;
  opacity:.82;
}
.mindmap-node rect{
  fill:color-mix(in srgb,var(--main) 13%,var(--panel2));
  stroke:color-mix(in srgb,var(--main) 48%,var(--line));
  stroke-width:1.4;
}
.mindmap-node.type-fishbone rect{
  fill:color-mix(in srgb,#e5a832 12%,var(--panel2));
  stroke:color-mix(in srgb,#e5a832 44%,var(--line));
}
.mindmap-node.type-concept rect{
  fill:color-mix(in srgb,#5aa7ff 12%,var(--panel2));
  stroke:color-mix(in srgb,#5aa7ff 44%,var(--line));
}
.mindmap-node.root rect{
  fill:var(--main);
  stroke:color-mix(in srgb,var(--main) 70%,white);
}
.mindmap-node text{
  fill:var(--text);
  font-size:15px;
  font-weight:800;
  text-anchor:middle;
  dominant-baseline:middle;
  letter-spacing:0;
}
.mindmap-node.root text{
  fill:var(--on-main);
}
.mindmap-side{
  align-self:start;
  position:sticky;
  top:64px;
  display:grid;
  gap:12px;
}
.mindmap-tree{
  max-height:calc(100vh - 180px);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  padding:10px;
}
.mindmap-tree ul{
  margin:0;
  padding-left:18px;
}
.mindmap-tree li{
  margin:7px 0;
  color:var(--muted);
  line-height:1.45;
}
.mindmap-tree strong{
  color:var(--text);
}
@media(max-width:980px){
  .mindmap-app{grid-template-columns:1fr}
  .mindmap-side{position:static}
}
@media(max-width:760px){
  .mindmap-app{min-height:calc(100vh - 128px)}
  .mindmap-workbench{grid-template-rows:auto auto auto auto auto minmax(340px,1fr)}
  .mindmap-head{grid-template-columns:1fr}
  .mindmap-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .mindmap-actions .primary{grid-column:1/-1}
  .mindmap-source-tabs,.mindmap-type-tabs{grid-template-columns:1fr 1fr}
  .mindmap-source-card{grid-template-columns:1fr}
  .mindmap-source-actions{grid-column:1;grid-row:auto;display:grid;grid-template-columns:1fr}
  .mindmap-source-select{width:100%}
  .mindmap-canvas{min-height:340px}
  .mindmap-svg{min-width:760px}
}
.athena-cipher-preview{min-height:74px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;resize:vertical;background:rgba(2,6,23,.42)}
.vault-book{border-left:5px solid color-mix(in srgb,var(--main) 72%,#e5a832)}
.vault-book .key-entry-head strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0}

/* MindMap Phase2 */
.mindmap-canvas{position:relative;overflow:hidden;cursor:grab}
.mindmap-canvas:active{cursor:grabbing}
.mindmap-node{cursor:pointer}
.mindmap-node.selected rect{stroke:#f2c14e;stroke-width:3px}
.mindmap-maptools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}
.mindmap-maptools .mm-title{flex:0 1 220px;min-width:120px;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb, var(--fg, #fff) 18%, transparent);background:transparent;color:inherit}
.mm-tool-sep{width:1px;height:22px;background:color-mix(in srgb, currentColor 25%, transparent)}
.mm-hint{opacity:.6;font-size:12px}
.mm-map-list{display:flex;flex-direction:column;gap:6px;margin:6px 0;max-height:220px;overflow:auto}
.mm-map-item{display:flex;gap:8px;align-items:center}
.mm-map-item>button:first-child{flex:1;display:flex;justify-content:space-between;gap:10px;text-align:left}
.mm-map-item.active>button:first-child{outline:2px solid color-mix(in srgb, currentColor 40%, transparent)}
.mm-rename{position:absolute;z-index:30;padding:6px 8px;border-radius:8px;border:2px solid #f2c14e;background:#0f1524;color:#fff;font-size:14px}

/* ===== マインドマップ フェーズ3(メモ・ステータス・フォーカス・深掘り) ===== */
.mindmap-node.st-decided rect{stroke:#2e7d32;stroke-width:2.5px}
.mindmap-node.st-pending rect{stroke:#f9a825;stroke-width:2.5px}
.mindmap-node.st-homework rect{stroke:#c62828;stroke-width:2.5px}
.mindmap-node.selected rect{stroke:#f2c14e;stroke-width:3px}
.mindmap-node.dimmed{opacity:.15;pointer-events:none}
.mindmap-link.dimmed{opacity:.1}
.mm-marks{font-size:12px}
.mm-legend{position:absolute;right:10px;bottom:10px;display:flex;gap:10px;font-size:11px;background:color-mix(in srgb, var(--bg, #0f1524) 80%, transparent);padding:4px 10px;border-radius:8px;z-index:5;pointer-events:none}
.mm-legend .lg{display:flex;align-items:center;gap:4px}
.mm-legend .lg::before{content:"";width:10px;height:10px;border-radius:3px;border:2px solid;box-sizing:border-box}
.mm-legend .lg.decided::before{border-color:#2e7d32}
.mm-legend .lg.pending::before{border-color:#f9a825}
.mm-legend .lg.homework::before{border-color:#c62828}
.mm-focus-badge{position:absolute;left:10px;top:10px;font-size:11px;background:rgba(242,193,78,.92);color:#1a1a1a;padding:3px 8px;border-radius:8px;z-index:5;pointer-events:none}
.mm-node-panel{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:10px;border:1px solid color-mix(in srgb, var(--fg, #fff) 14%, transparent);border-radius:10px}
.mm-node-panel h3{margin:0;font-size:13px;opacity:.75}
.mm-node-panel .mm-title{width:100%;box-sizing:border-box;flex:none}
.mm-status-row{display:flex;gap:4px;flex-wrap:wrap}
.mm-st{flex:1;padding:5px 4px;border-radius:8px;border:1px solid color-mix(in srgb, var(--fg, #fff) 20%, transparent);background:transparent;color:inherit;font-size:12px;cursor:pointer}
.mm-st.active{outline:2px solid #f2c14e}
.mm-st.decided.active{outline-color:#2e7d32}
.mm-st.pending.active{outline-color:#f9a825}
.mm-st.homework.active{outline-color:#c62828}
.mm-memo{width:100%;box-sizing:border-box;resize:vertical;min-height:90px;padding:8px;border-radius:8px;border:1px solid color-mix(in srgb, var(--fg, #fff) 18%, transparent);background:transparent;color:inherit;font:inherit;font-size:13px}
.mm-panel-actions{display:flex;gap:6px;flex-wrap:wrap}
.mm-deepen{border-top:1px dashed color-mix(in srgb, var(--fg, #fff) 20%, transparent);padding-top:8px;font-size:13px}
.mm-deepen ul{margin:6px 0;padding-left:18px}
.mm-deepen li{margin:3px 0}
.mm-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#0f1524;color:#fff;border:1px solid #f2c14e;padding:10px 16px;border-radius:10px;z-index:999;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.4);max-width:80vw}
.mm-template-list .mm-map-item button.ghost{display:flex;flex-direction:column;align-items:flex-start;gap:2px}

/* ===== 復元: 安全フィールド行+倉庫本棚UI(2026-07-13 CSS破損の再構成) ===== */
.athena-safe-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.athena-safe-title strong{color:#ffd37a;font-size:14px}
.athena-safe-title button{min-width:34px;min-height:32px;padding:0}
.athena-safe-line{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center}
.athena-safe-line>span{color:var(--muted);font-size:12px;font-weight:800}
.athena-safe-line input{min-height:42px;border-radius:8px}
.athena-secret-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.athena-secret-input-row button{min-width:44px;min-height:42px;padding:0}
.athena-session-note{border:1px solid color-mix(in srgb,var(--ok) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--ok) 10%,rgba(255,255,255,.04));color:#74f0b0;font-size:12px;font-weight:800;padding:9px 11px}
.athena-inline-safe{margin:0 10px 10px}
.key-books-screen{display:grid;gap:14px}
.key-books-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.key-books-toolbar h2{margin:0;white-space:nowrap}
.key-search{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
.key-search span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}
.key-search input{min-height:40px;border-radius:8px}
.key-cloud-wrap{position:relative;justify-self:end}
.key-cloud-button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);font-size:17px;cursor:pointer}
.key-cloud-button:hover{border-color:color-mix(in srgb,var(--main) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 16%,transparent)}
.key-cloud-popover{position:absolute;right:0;top:46px;z-index:40;min-width:240px;display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;background:#0f1524;box-shadow:0 14px 30px rgba(0,0,0,.4);padding:12px}
.key-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.vault-spine{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;min-height:132px;border:1px solid var(--line);border-left:5px solid color-mix(in srgb,var(--main) 72%,#e5a832);border-radius:10px 5px 5px 10px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:var(--text);padding:12px 10px;cursor:pointer;transition:transform .12s ease,border-color .14s ease,box-shadow .14s ease}
.vault-spine:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--main) 62%,var(--line));box-shadow:0 10px 22px rgba(0,0,0,.22)}
.vault-spine strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0;font-size:15px}
.vault-spine span{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.vault-shelf-tabs{display:flex;gap:8px;flex-wrap:wrap}
.vault-shelf-tab{min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--text);font-weight:800;cursor:pointer}
.vault-shelf-tab.active{border-color:color-mix(in srgb,var(--main) 68%,var(--line));background:color-mix(in srgb,var(--main) 22%,rgba(255,255,255,.045));box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 14%,transparent)}
.vault-shelf-label{margin:2px 0 0;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vault-shelf-action{min-height:28px;padding:2px 10px;font-size:12px}
.mm-export-wrap{position:relative}
.mm-export-menu{position:absolute;left:0;top:42px;z-index:60;display:grid;gap:2px;min-width:240px;padding:6px;border:1px solid color-mix(in srgb,var(--main) 40%,var(--line));border-radius:10px;background:var(--panel,#0f1524);box-shadow:0 16px 38px rgba(0,0,0,.45)}
.mm-export-menu button{text-align:left;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font-size:13px}
.mm-export-menu button:hover{background:color-mix(in srgb,var(--main) 16%,transparent)}
.vault-map-spine{border-left-color:color-mix(in srgb,#3b82f6 72%,var(--line))}
.vault-map-spine strong{font-size:20px}
.vault-map-spine small{color:var(--muted);font-size:10px}
.vault-map-spine.current{outline:2px solid color-mix(in srgb,var(--main) 55%,transparent)}
.vault-log-spine{border-left-color:color-mix(in srgb,#a855f7 65%,var(--line))}
.vault-log-spine small{color:var(--muted);font-size:10px}
.vault-log-pre{max-height:440px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(2,6,23,.42);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.7;margin:0}
#vaultLogShelf{display:grid;gap:10px}
#rodaDataBanner{position:fixed;left:50%;top:8px;transform:translateX(-50%);z-index:300;background:rgba(229,168,50,.95);color:#1a1a1a;font-size:12px;font-weight:800;padding:7px 14px;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.35);pointer-events:none}
.chat-session-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 4px}
.chat-heavy-note{color:#ffcf7a;font-size:12px;font-weight:800;text-align:right;line-height:1.4}
.chat-session-bar button{font-size:12px;min-height:30px;padding:2px 12px;opacity:.85}
.chat-session-bar .chat-share-athena{margin-left:auto;border-color:rgba(229,168,50,.42);background:rgba(229,168,50,.08)}
.vault-book-detail{display:grid;gap:12px}
.vault-book-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.vault-book-detail-head strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:0;font-size:18px}
.vault-book-detail-head span{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.vault-book-detail-head button{min-width:36px;height:34px;padding:0}
.vault-secret-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start}
.vault-secret-row b{color:var(--muted);font-size:12px}
.vault-secret-row span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;white-space:pre-wrap}
.vault-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ghost.danger{color:#ff9a9a;border-color:rgba(255,154,154,.34)}
@media(max-width:760px){
  .athena-safe-line{grid-template-columns:1fr}
  .athena-inline-safe{margin:0 6px 8px}
  .key-books-toolbar{grid-template-columns:1fr auto}
  .key-books-toolbar h2{grid-column:1}
  .key-search{grid-column:1/-1;grid-row:2}
  .key-cloud-wrap{grid-column:2;grid-row:1}
  .key-book-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
  .vault-spine{min-height:116px;padding:10px 8px}
}

/* ===== マインドマップ フェーズ4(ノードの部屋) ===== */
.mm-room-backdrop{position:fixed;inset:0;z-index:70;background:rgba(4,8,16,.55);backdrop-filter:blur(2px);overflow:auto;padding:4vh 2vw;display:grid;justify-items:center;align-items:start}
.mm-room{width:min(980px,96vw);display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--main) 40%,var(--line));border-radius:12px;background:var(--panel,#0f1524);box-shadow:0 24px 60px rgba(0,0,0,.5);padding:16px;animation:mmRoomIn .18s ease}
@keyframes mmRoomIn{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.mm-room-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.mm-room-crumb{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.mm-room-crumb strong{color:var(--text)}
.mm-room-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.mm-room-title-row .mm-title{width:100%;box-sizing:border-box}
.mm-room-label{font-size:12px;color:var(--muted);margin-top:2px}
.mm-room .mm-memo{min-height:110px}
.mm-room-board-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mm-room-board-tools .primary{min-height:36px;font-size:13px}
.mm-room-pad{min-height:420px;background:rgba(2,6,23,.35)}
.mm-room-pad .memo-text{font-size:16px}
.mm-room-pad canvas{touch-action:none;cursor:crosshair}
.mm-room-pad.drawing{outline:2px dashed color-mix(in srgb,#f2c14e 60%,transparent);outline-offset:2px}
.mm-room-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.mm-room-file{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:2px 6px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);padding:8px;cursor:pointer;min-width:0}
.mm-room-file:hover{border-color:color-mix(in srgb,var(--main) 60%,var(--line))}
.mm-room-file img{grid-column:1/-1;width:100%;height:84px;object-fit:cover;border-radius:6px;background:rgba(2,6,23,.4)}
.mm-room-file-icon{grid-column:1/-1;font-size:34px;line-height:84px;text-align:center}
.mm-room-file b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-room-file small{color:var(--muted);font-size:11px}
.mm-room-file button{grid-column:2;grid-row:2/span 2;min-width:30px;padding:2px 6px}
.mm-lightbox{position:fixed;inset:0;z-index:90;background:rgba(2,6,16,.85);display:grid;place-items:center;cursor:zoom-out}
.mm-lightbox img{max-width:92vw;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
@media(max-width:760px){
  .mm-room{padding:12px}
  .mm-room-title-row{grid-template-columns:1fr}
  .mm-room-files{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}

/* ===== マインドマップ レイアウト整理(マップ優先・畳めるパネル) ===== */
.mindmap-workbench{display:flex;flex-direction:column;gap:10px}
.mindmap-canvas{flex:1;min-height:480px}
.mindmap-input-panel{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--main) 22%,var(--line));border-radius:10px;background:rgba(255,255,255,.02);padding:12px}
.mindmap-input-panel[hidden]{display:none}
.mindmap-input{min-height:96px}
.mindmap-status{min-height:0;padding:4px 10px;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03)}
.mindmap-maptools .primary{min-height:34px;padding:0 14px}
.mindmap-maptools .ghost.active{border-color:color-mix(in srgb,var(--main) 62%,var(--line));background:color-mix(in srgb,var(--main) 18%,transparent)}
.mm-autosave{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;opacity:.85}
.mm-map-panel{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--main) 30%,var(--line));border-radius:10px;background:rgba(255,255,255,.025);padding:10px}
.mm-map-new{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px}
.mm-map-new b{color:var(--text)}
.mm-map-new .ghost{min-height:32px;padding:4px 10px}
.mm-map-item .ghost{min-height:32px}
.mm-map-item>button:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-map-item>button:first-child span{font-size:11px;color:var(--muted);white-space:nowrap}
.mindmap-side[hidden]{display:none}
.mindmap-app.no-side{grid-template-columns:1fr}
@media(max-width:760px){
  .mindmap-workbench{display:flex}
  .mindmap-canvas{min-height:340px}
}

/* ===== 公開版 合言葉ゲート ===== */
.roda-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:linear-gradient(135deg,#0a0f1c,#0d1420 55%,#101826);padding:20px}
.roda-gate-box{display:grid;gap:12px;width:min(360px,92vw);border:1px solid rgba(148,163,184,.22);border-radius:14px;background:rgba(15,23,42,.85);box-shadow:0 24px 60px rgba(0,0,0,.5);padding:26px;text-align:center}
.roda-gate-box h1{margin:0;font-size:26px;letter-spacing:.14em}
.roda-gate-box p{margin:0;color:var(--muted,#94a3b8);font-size:13px}
.roda-gate-box input{min-height:46px;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:rgba(2,6,23,.55);color:#f8fafc;padding:0 12px;font-size:15px;text-align:center}
.roda-gate-box button{min-height:46px;border-radius:10px;font-size:15px}
.roda-gate-status{min-height:18px;color:#ffb4b4;font-size:12px}

/* ===== 会議室の本物化(ターン制・出席者選択・議長まとめ) ===== */
.work-meeting-board.meeting-v2{display:flex;flex-direction:column;gap:10px}
.meeting-v2 .work-meeting-log{flex:1;min-height:0}
.meeting-lobby-roles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.meeting-attend{display:grid;gap:4px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);padding:10px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}
.meeting-attend:hover{border-color:color-mix(in srgb,var(--main) 55%,var(--line))}
.meeting-attend.on{border-color:color-mix(in srgb,var(--main) 68%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main) 30%,transparent);background:color-mix(in srgb,var(--main) 9%,rgba(255,255,255,.03))}
.meeting-attend input{justify-self:start;width:16px;height:16px;accent-color:var(--main)}
.meeting-attend strong{font-size:13px}
.meeting-attend strong em{margin-left:6px;font-style:normal;font-size:10px;color:var(--accent-text);border:1px solid color-mix(in srgb,var(--main) 45%,var(--line));border-radius:999px;padding:1px 7px;white-space:nowrap}
.meeting-attend span{color:var(--muted);font-size:11.5px;line-height:1.45}
.meeting-attend.chair{border-style:dashed;border-color:color-mix(in srgb,#f2c14e 55%,var(--line));cursor:default}
.meeting-roles-hint{margin:0;color:var(--muted);font-size:11.5px}
.meeting-last-closed{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid color-mix(in srgb,var(--ok,#22c55e) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--ok,#22c55e) 8%,rgba(255,255,255,.03));padding:10px 12px}
.meeting-last-closed p{margin:4px 0;white-space:pre-wrap;font-size:12.5px;line-height:1.55}
.meeting-last-closed small{color:var(--muted);font-size:11px}
.work-meeting-head.meeting-live h2{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-close-btn{border-color:color-mix(in srgb,#f2c14e 55%,var(--line));white-space:nowrap}
.meeting-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.meeting-head-actions span{color:var(--muted);font-size:12px}
.meeting-cloud-btn{font-weight:900}
.meeting-cloud-btn.unlinked{background:#f2c14e;color:#1a1a1a;border-color:#f2c14e;animation:meetingPulse 1.6s ease-in-out infinite}
.meeting-cloud-btn.linked{border-color:color-mix(in srgb,var(--ok,#22c55e) 60%,var(--line));color:#74f0b0}
.brand .avatar.cloud-switch{cursor:pointer}
.brand .avatar.cloud-switch:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 30%,transparent);border-radius:50%}
body.cloud-ai-on .brand .avatar img{animation:rodaCloudSpin 2.8s linear infinite}
@keyframes rodaCloudSpin{to{transform:rotate(360deg)}}
.cloud-ai-backdrop{position:fixed;inset:0;z-index:400;background:rgba(4,8,16,.62);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}
.cloud-ai-modal{display:grid;gap:12px;width:min(380px,92vw);border:1px solid color-mix(in srgb,var(--main) 45%,var(--line));border-radius:14px;background:var(--panel,#0f1524);box-shadow:0 24px 60px rgba(0,0,0,.55);padding:22px}
.cloud-ai-modal h3{margin:0}
.cloud-ai-modal p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}
.cloud-ai-modal input{min-height:46px;border-radius:10px;border:1px solid var(--line);background:rgba(2,6,23,.5);color:var(--text);padding:0 12px;font-size:15px;text-align:center}
.cloud-ai-actions{display:flex;gap:8px;justify-content:flex-end}
.cloud-ai-status{min-height:16px;color:#ffb4b4;font-size:12px}
.meeting-thread{display:flex;flex-direction:column;gap:14px;overflow:auto;padding-right:4px}
.meeting-turn{display:grid;gap:8px}
.meeting-user{justify-self:end;max-width:min(560px,86%);border:1px solid color-mix(in srgb,var(--main) 30%,var(--line));border-right:4px solid var(--main);border-radius:12px 4px 12px 12px;background:color-mix(in srgb,var(--field,#1b2436) 76%,transparent);padding:9px 12px}
.meeting-user p{margin:3px 0;white-space:pre-wrap}
.meeting-user small{color:var(--muted);font-size:11px;display:block}
.meeting-replies{display:grid;grid-template-columns:1fr;gap:8px}
.meeting-reply{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--main) 6%,transparent);padding:9px 11px}
.meeting-reply b{display:block;margin-bottom:4px;color:var(--accent-text);font-size:13px}
.meeting-reply p{margin:0;line-height:1.55;white-space:pre-wrap;font-size:13px}
.meeting-reply.no-objection{opacity:.62;padding:6px 11px}
.meeting-reply.no-objection b{display:inline;margin-right:8px}
.meeting-reply.no-objection p{display:inline;font-size:12px}
.meeting-reply.fallback{border-style:dashed;opacity:.72}
.meeting-badge{display:inline-block;margin:0 0 4px;font-style:normal;font-size:11px;font-weight:800;color:#ffcf7a;border:1px solid rgba(242,193,78,.45);border-radius:999px;padding:1px 8px}
.meeting-check{float:right;min-width:28px;height:28px;margin-left:8px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;font-weight:900}
.meeting-check:hover{border-color:color-mix(in srgb,var(--main) 60%,var(--line))}
.meeting-check.on{background:var(--main);color:var(--on-main);border-color:var(--main)}
.meeting-reply.fallback p{color:var(--muted);font-size:12px}
.meeting-chair{border:2px solid color-mix(in srgb,#f2c14e 62%,var(--line));border-radius:12px;background:color-mix(in srgb,#f2c14e 8%,rgba(255,255,255,.02));padding:10px 13px}
.meeting-chair b{display:block;margin-bottom:5px;color:#ffd37a;font-size:13px}
.meeting-chair p{margin:0;line-height:1.6;white-space:pre-wrap;font-size:13px}
.meeting-chair.fallback{border-style:dashed;opacity:.75}
.meeting-loading{border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center;padding:12px;font-size:13px;animation:meetingPulse 1.4s ease-in-out infinite}
@keyframes meetingPulse{0%,100%{opacity:.55}50%{opacity:1}}
/* カード拡大(hoverで文字が大きくなる方式。scaleだと端が切れるため) */
.meeting-reply,.meeting-chair{transition:box-shadow .15s ease,background .15s ease}
.meeting-reply p,.meeting-chair p{transition:font-size .12s ease}
.meeting-reply:hover,.meeting-chair:hover{box-shadow:0 8px 24px rgba(0,0,0,.35);background:color-mix(in srgb,var(--main) 10%,transparent)}
.meeting-reply:hover p,.meeting-chair:hover p{font-size:15.5px;line-height:1.75}
/* モード選択・バッジ */
.meeting-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.meeting-mode-btn{display:grid;gap:3px;text-align:left;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:var(--text);padding:10px 12px;cursor:pointer}
.meeting-mode-btn strong{font-size:14px}
.meeting-mode-btn span{color:var(--muted);font-size:11.5px;line-height:1.4}
.meeting-mode-btn.on{border-color:color-mix(in srgb,var(--main) 68%,var(--line));background:color-mix(in srgb,var(--main) 12%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main) 30%,transparent)}
.meeting-mode-hint{margin:4px 0 0;color:var(--muted);font-size:12px}
.meeting-mode-badge{border:1px solid color-mix(in srgb,var(--main) 55%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--main) 16%,transparent);color:var(--text);font-weight:900;font-size:12px;padding:2px 10px;cursor:pointer}
/* 挙手カード */
.meeting-raises{display:grid;gap:6px}
.meeting-raise{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px dashed color-mix(in srgb,#f2c14e 55%,var(--line));border-radius:10px;background:color-mix(in srgb,#f2c14e 6%,transparent);padding:8px 12px}
.meeting-raise b{white-space:nowrap}
.meeting-raise span{color:var(--muted);font-size:12.5px}
.meeting-raise em{font-style:normal;color:var(--muted);font-size:12px}
.meeting-raise.done{opacity:.55;border-style:solid}
.meeting-call-btn{min-height:32px;padding:0 14px;font-size:13px}
/* 工程サイドバー */
.meeting-main{display:flex;gap:10px;flex:1;min-height:0}
.meeting-main .meeting-thread{flex:1;min-width:0}
.meeting-steps{width:168px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);padding:10px;overflow:auto}
.meeting-steps>b{font-size:12px;color:var(--accent-text);margin-bottom:4px}
.meeting-step{text-align:left;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:12px;line-height:1.4;padding:7px 9px;cursor:pointer}
.meeting-step.current{border-color:color-mix(in srgb,#f2c14e 65%,var(--line));background:color-mix(in srgb,#f2c14e 10%,transparent);font-weight:800}
.meeting-step.done{text-decoration:line-through;opacity:.5}
.meeting-step-arrow{text-align:center;color:var(--muted);font-size:11px;line-height:1}
.meeting-steps-done{margin-top:6px;color:#74f0b0;font-size:11.5px;font-weight:800;text-align:center}
.meeting-steps.unconfirmed{border-style:dashed;border-color:color-mix(in srgb,#f2c14e 55%,var(--line))}
.meeting-steps-confirm{min-height:36px;font-size:12.5px;margin-bottom:4px}
.meeting-steps-note{color:var(--muted);font-size:10.5px;line-height:1.4;margin-bottom:6px}
.meeting-steps-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.meeting-step-edit{border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:11px;padding:2px 8px;cursor:pointer}
.meeting-step-editrow{display:flex;gap:3px;align-items:center;margin:2px 0}
.meeting-step-input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;background:rgba(2,6,23,.5);color:var(--text);font-size:12px;padding:5px 7px}
.meeting-step-move,.meeting-step-del{border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);font-size:12px;width:24px;height:28px;cursor:pointer;flex-shrink:0}
.meeting-step-del{color:#ff9a9a;border-color:rgba(255,154,154,.34)}
.meeting-step-add{margin-top:4px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--accent-text);font-size:12px;padding:6px;cursor:pointer;width:100%}
@media(max-width:900px){.meeting-main{flex-direction:column}.meeting-steps{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.meeting-step-arrow{transform:rotate(-90deg)}}
/* 積み残しチップ */
.meeting-leftovers{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.meeting-leftover-chip{border:1px dashed color-mix(in srgb,#f2c14e 55%,var(--line));border-radius:999px;background:transparent;color:var(--text);font-size:12px;padding:3px 10px;cursor:pointer}
.meeting-leftover-chip:hover{background:color-mix(in srgb,#f2c14e 12%,transparent)}
.meeting-leftover-chip.research{border-color:color-mix(in srgb,#58a6ff 55%,var(--line))}
.meeting-leftover-chip.research:hover{background:color-mix(in srgb,#58a6ff 12%,transparent)}
/* 指名・反応 */
.meeting-badge.mic{color:#8be28b;border-color:rgba(139,226,139,.45)}
.meeting-reply.reaction{opacity:.8;padding:6px 11px}
.meeting-reply.reaction p{font-size:12.5px}
.meeting-react-btn{margin-top:6px;min-height:30px;padding:0 12px;font-size:12px}
.meeting-check.say{margin-left:4px}
@media(max-width:760px){.meeting-mode-row{grid-template-columns:1fr}}
.meeting-reply.meeting-role-reality{border-left:4px solid #ff9f43}
.meeting-reply.meeting-role-idea{border-left:4px solid #4cd97b}
.meeting-reply.meeting-role-risk{border-left:4px solid #ff4d5e}
.meeting-reply.meeting-role-customer{border-left:4px solid #58a6ff}
@media(max-width:1100px){.meeting-lobby-roles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .meeting-lobby-roles{grid-template-columns:1fr}
  .meeting-replies{grid-template-columns:1fr}
  .meeting-user{max-width:94%}
  .work-meeting-head.meeting-live{grid-template-columns:1fr auto}
}

/* ===== ルーム統合 / 会議室2.0 ===== */
.room-rail{display:grid;gap:8px;margin:0 0 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);padding:10px}
.room-tabs{display:flex;gap:6px;overflow:auto;align-items:stretch}
.room-tab,.room-new{border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);min-height:42px;padding:6px 10px;cursor:pointer;flex:0 0 auto}
.room-tab{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;text-align:left;min-width:124px}
.room-tab b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-tab small{grid-column:2;color:var(--muted);font-size:10px}
.room-tab.active{border-color:color-mix(in srgb,var(--main) 65%,var(--line));background:color-mix(in srgb,var(--main) 12%,transparent)}
.room-current{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.room-current input{min-height:32px;border:1px solid var(--line);border-radius:8px;background:rgba(2,6,23,.45);color:var(--text);padding:0 10px}
.work-handoff-card{display:grid;gap:6px;border:1px solid color-mix(in srgb,var(--main) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--main) 8%,transparent);padding:10px}
.work-handoff-card span{color:var(--muted);font-size:11px}
.work-handoff-card p{margin:0;white-space:pre-wrap}
.work-handoff-card div{display:flex;gap:8px;flex-wrap:wrap}
.meeting-persona-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.meeting-persona-row button{min-width:38px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}
.meeting-battle-turns{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}
.meeting-battle-turns input{width:70px;min-height:32px;border:1px solid var(--line);border-radius:8px;background:rgba(2,6,23,.45);color:var(--text);padding:0 8px}
@media(max-width:760px){.room-current{grid-template-columns:1fr}.room-tab{min-width:112px}}

/* Translation and face-to-face interpreter */
.translation-app{min-height:calc(100vh - 80px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.translation-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px}
.translation-toolbar>div:first-child{display:grid;gap:3px;min-width:0}.translation-toolbar strong{font-size:16px}.translation-toolbar span{color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.translation-actions,.translation-lang-row,.translation-main-actions,.conversation-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.translation-actions .active{border-color:color-mix(in srgb,var(--main) 65%,var(--line));background:color-mix(in srgb,var(--main) 14%,transparent)}
.translation-text-mode{display:grid;gap:12px}.translation-lang-row{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px}
.translation-lang-row label{display:grid;gap:4px;color:var(--muted);font-size:12px}.translation-check{display:flex!important;grid-auto-flow:column;align-items:center;color:var(--text)!important}
.translation-check input{width:auto;min-height:auto}.translation-text-mode textarea{min-height:180px;border-radius:8px;resize:vertical}
.translation-mic{width:58px;min-width:58px;max-width:58px;height:58px;min-height:58px;max-height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%;border:2px solid color-mix(in srgb,var(--main) 70%,var(--line));background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.22),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--main) 82%,#0ea5e9),color-mix(in srgb,var(--main) 46%,#111827));color:var(--on-main);font-size:24px;font-weight:900;box-shadow:0 10px 22px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.28);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}
.translation-mic:active{transform:translateY(2px) scale(.96);box-shadow:0 4px 12px rgba(0,0,0,.26),inset 0 2px 5px rgba(0,0,0,.22)}
.translation-result{border:2px solid color-mix(in srgb,var(--main) 70%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--main) 20%,var(--panel)),color-mix(in srgb,#0ea5e9 10%,var(--panel2)));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.18)}
.translation-result p{white-space:pre-wrap;font-size:22px;line-height:1.65;margin:0;font-weight:800;color:var(--text)}
.conversation-translator{height:calc(100vh - 148px);min-height:620px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;position:relative}
.conversation-halves{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px;position:relative}
.conversation-half{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden;display:grid}
.conversation-half.partner .conversation-inner{transform:rotate(180deg)}
.conversation-busy{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:rgba(5,10,18,.52);backdrop-filter:blur(2px);pointer-events:none}
.conversation-busy[hidden]{display:none}.conversation-busy>div,.translation-text-busy{display:grid;place-items:center;gap:8px;color:#fff;font-weight:900;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.conversation-busy img{width:76px;height:76px;object-fit:contain;filter:brightness(1.18) saturate(1.08) drop-shadow(0 14px 24px rgba(0,0,0,.36));animation:rodaWheelSpin .85s linear infinite}
.translation-result{position:relative}.translation-text-busy{position:absolute;inset:0;z-index:2;align-content:center;background:rgba(5,10,18,.52);backdrop-filter:blur(2px);pointer-events:none}.translation-text-busy[hidden]{display:none}.translation-text-busy img{width:76px;height:76px;object-fit:contain;filter:brightness(1.18) saturate(1.08) drop-shadow(0 14px 24px rgba(0,0,0,.36));animation:rodaWheelSpin .85s linear infinite}
.conversation-half.partner .conversation-busy>div{transform:rotate(180deg)}
.conversation-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px}
.conversation-half.self .conversation-inner{grid-template-rows:minmax(0,1fr) auto}
.conversation-controls{justify-content:center;display:grid;grid-template-columns:minmax(0,220px) 58px 48px}.conversation-controls select{max-width:220px;min-width:0}.conversation-speak{width:48px;min-width:48px;padding:0}
.conversation-utility{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;gap:8px}.conversation-utility button{width:48px;min-width:48px;min-height:38px;padding:0;border-color:color-mix(in srgb,var(--main) 62%,var(--line));background:var(--panel)}
.conversation-display{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;align-content:stretch;text-align:center;min-height:0;overflow:hidden}
.conversation-display span{color:var(--muted);font-size:13px}.conversation-display p{font-size:clamp(18px,3vh,30px);line-height:1.35;margin:0;overflow-wrap:anywhere;overflow:auto;align-self:center;max-height:100%;padding:2px}
.translation-log{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:8px;display:grid;gap:6px;max-height:132px;overflow:auto}
.translation-log.empty{color:var(--muted)}.translation-log article{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px;background:rgba(255,255,255,.03)}
.translation-log b{font-size:12px;color:var(--muted)}.translation-log p{margin:4px 0;color:var(--muted);white-space:pre-wrap}.translation-log strong{white-space:pre-wrap}
@media(max-width:760px){.translation-app{min-height:calc(100vh - 128px)}.translation-toolbar{grid-template-columns:1fr}.translation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.translation-actions button{min-height:44px}.translation-lang-row{grid-template-columns:1fr}.translation-main-actions{display:grid;grid-template-columns:auto 1fr auto}.conversation-translator{height:calc(100vh - 174px);min-height:560px}.conversation-inner{padding:10px}.conversation-controls{grid-template-columns:minmax(0,1fr) 58px 46px}.conversation-display p{font-size:clamp(17px,2.7vh,25px)}.translation-log{max-height:110px}}

/* Chat UI polish: bubbles, avatars, copy actions */
.message-row{display:flex;align-items:flex-end;gap:8px;width:100%}
.message-row.assistant{justify-content:flex-start}.message-row.user{justify-content:flex-end}
.message-avatar{width:30px;min-width:30px;height:30px;border-radius:50%;display:grid;place-items:center;align-self:flex-end;background:color-mix(in srgb,var(--main) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--main) 34%,var(--line));overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.16)}
.message-avatar img{width:24px;height:24px;object-fit:contain}.message-avatar.compact{visibility:hidden}
.bubble{position:relative;display:grid;gap:6px;max-width:min(76%,720px);border-radius:18px 18px 18px 6px}.bubble.user{border-radius:18px 18px 6px 18px}
.message-head{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:28px}.message-speaker{margin-right:auto;color:var(--muted);font-size:11px;font-weight:900}.message-head-spacer{flex:1 1 auto}
.message-copy-btn{width:30px;min-width:30px;height:30px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--text);cursor:pointer;display:grid;place-items:center;padding:0;font-size:14px;line-height:1;transition:background-color .14s ease,border-color .14s ease,transform .08s ease}
.message-copy-btn:hover,.message-copy-btn.copied{background:color-mix(in srgb,var(--main) 22%,var(--panel));border-color:color-mix(in srgb,var(--main) 48%,var(--line))}.message-copy-btn:active{transform:translateY(1px) scale(.96)}.message-copy-btn:disabled{opacity:.45;cursor:not-allowed}
.message-main{display:grid;gap:6px;min-width:0}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-text .panel{white-space:normal}
@media(max-width:760px){.messages{gap:9px}.message-row{gap:7px}.message-avatar{width:28px;min-width:28px;height:28px}.message-avatar img{width:22px;height:22px}.bubble{max-width:calc(100% - 38px);padding:10px 11px}.message-copy-btn{width:38px;min-width:38px;height:38px;min-height:38px;font-size:15px}.message-head{min-height:38px}.message-speaker{font-size:11px}}
/* Cost ledger */
.cost-app{display:grid;gap:12px}.cost-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.cost-actions{display:flex;gap:8px;flex-wrap:wrap}.cost-body{display:grid;gap:12px}.cost-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:12px}.cost-months,.cost-details,.cost-contracts{display:grid;gap:8px}.cost-month{position:relative;min-height:44px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:var(--text);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;overflow:hidden;cursor:pointer;text-align:left}.cost-month i{position:absolute;left:0;bottom:0;height:3px;background:var(--main)}.cost-month.active{border-color:color-mix(in srgb,var(--main) 62%,var(--line));background:color-mix(in srgb,var(--main) 12%,transparent)}.cost-detail-row,.cost-contract-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:10px}.cost-detail-row small,.cost-contract-row span{grid-column:1/-1;color:var(--muted)}.cost-contract-row{grid-template-columns:minmax(0,1fr) auto}.cost-draft-card{border-color:color-mix(in srgb,var(--main) 42%,var(--line))}@media(max-width:760px){.cost-head,.cost-grid{grid-template-columns:1fr}.cost-actions{display:grid;grid-template-columns:1fr 1fr}.cost-contract-row{grid-template-columns:1fr}.cost-contract-row button{width:100%}}
.budget-card{border-color:color-mix(in srgb,#f59e0b 52%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 10%,var(--panel)),var(--panel))}
.budget-card h2{color:color-mix(in srgb,#f59e0b 72%,var(--text))}
/* ⑥電卓フリーボード(2026-07-18 Fable) */
.calc-board-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.calc-board-tools select,.calc-board-tools .calc-board-rename{flex:0 0 auto;min-width:130px;max-width:220px;padding:7px 10px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--text)}
.calc-board-tools button{flex:0 0 auto;width:auto;padding:7px 12px}
/* ⑧倉庫の削除と検索(2026-07-18 Fable) */
.vault-trash-list,.vault-search-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 16px}
.vault-trash-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.vault-trash-row small{display:block;opacity:.7}
.vault-trash-row span{display:flex;gap:6px;flex:0 0 auto}
.vault-search-hit{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer}
.vault-search-hit small{display:block;opacity:.75;margin-top:2px}
.vault-search-hit mark{background:color-mix(in srgb,#f59e0b 45%,transparent);color:inherit;border-radius:3px;padding:0 2px}

/* ⑨フェーズ7 マインドマップ自由編集モード(2026-07-22 Fable) */
.map-free .mindmap-node rect{cursor:grab}
.map-free .mindmap-node:active rect{cursor:grabbing}
.mindmap-link.free{stroke:var(--accent,#f59e0b);stroke-width:2.4;cursor:pointer}
.mindmap-link.free:hover{stroke-width:3.4}
.mm-connect-badge{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:color-mix(in srgb,#f59e0b 92%,#000);color:#111;font-weight:700;font-size:12px;padding:6px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none;z-index:5}
.mm-context-menu{position:fixed;z-index:9999;min-width:168px;background:var(--panel,#1c1f26);border:1px solid var(--line,#333);border-radius:10px;padding:5px;box-shadow:0 10px 30px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:1px}
.mm-context-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text,#eee);font-size:14px;padding:8px 12px;border-radius:7px;cursor:pointer}
.mm-context-menu button:hover{background:color-mix(in srgb,var(--accent,#f59e0b) 22%,transparent)}
.mm-context-menu button.danger{color:#ff6b6b}
.mm-context-menu button.danger:hover{background:color-mix(in srgb,#ff6b6b 22%,transparent)}
.mm-context-sep{height:1px;background:var(--line,#333);margin:4px 6px}

/* RodA交通費管理 */
.transport-app{display:grid;gap:12px;min-width:0}
.transport-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px}
.transport-head h2{margin:0 0 5px;font-size:18px}
.transport-head p{margin:0;color:var(--muted);line-height:1.45}
.transport-tabs{display:grid;grid-template-columns:1fr 1fr;gap:2px;flex:0 0 230px;border:1px solid var(--line);border-radius:8px;padding:3px;background:var(--panel2)}
.transport-tabs button{min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}
.transport-tabs button.active{background:var(--main);color:#fff}
.transport-frame-wrap{height:calc(100vh - 142px);min-height:620px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f4f6fa}
.transport-frame{width:100%;height:100%;border:0;background:#fff}
.transport-admin-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}
.transport-admin-toolbar label{display:grid;gap:4px;width:min(220px,100%)}
.transport-admin-toolbar label span{font-size:12px;color:var(--muted);font-weight:700}
.transport-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.transport-metrics>div{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px}
.transport-metrics span{color:var(--muted);font-size:12px}
.transport-metrics strong{font-size:22px}
.transport-section{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.transport-section h3{margin:0 0 10px;font-size:15px}
.transport-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}
.transport-table-wrap table{width:100%;border-collapse:collapse;min-width:680px;background:var(--panel)}
.transport-table-wrap th,.transport-table-wrap td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.transport-table-wrap th{font-size:12px;color:var(--muted);background:var(--panel2);white-space:nowrap}
.transport-table-wrap tbody tr:last-child td{border-bottom:0}
.transport-number{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.transport-table-wrap button{min-height:32px;white-space:nowrap}
@media(max-width:760px){.transport-head{display:grid}.transport-tabs{width:100%;flex-basis:auto}.transport-frame-wrap{height:calc(100vh - 218px);min-height:520px}.transport-admin-toolbar{display:grid;grid-template-columns:1fr auto;align-items:end}.transport-metrics{grid-template-columns:1fr}.transport-metrics strong{font-size:18px}}
