:root{--ink:#15312f;--muted:#71817d;--paper:#f6f7f2;--card:#fff;--line:#dfe6df;--gold:#e4c574;--green:#34766b;--red:#b9574e;--shadow:0 12px 32px rgba(21,49,47,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}#app{min-height:100vh}.view{max-width:780px;margin:0 auto;padding:32px 22px 104px}.app-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.eyebrow{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 8px}.app-header h1{font:600 clamp(30px,6vw,44px)/1.05 Georgia,serif;margin:0;letter-spacing:-.04em}.connection{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.connection i,.status-dot{display:block;width:8px;height:8px;border-radius:50%;background:#d29642}.connection.online i,.green{background:#4b9f78}.offline{color:#b27537}.intro-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.muted{color:var(--muted);margin:0}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:10px;width:40px;height:40px;color:var(--green);font-size:20px}.card-list{display:grid;gap:14px}.clarification-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;cursor:pointer}.clarification-card:hover,.clarification-card:focus{transform:translateY(-2px);box-shadow:0 16px 38px rgba(21,49,47,.13);outline:none}.clarification-card.unread{border-left:4px solid var(--gold)}.card-top,.card-bottom,.detail-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-top time,.detail-meta{font-size:12px;color:var(--muted)}.pill{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;background:#eef2ec;color:var(--green)}.pill.pending,.pill.notified,.pill.opened{background:#fff4d7;color:#926e22}.pill.answered{background:#e5f2ed;color:#30735e}.pill.delivery_failed,.pill.expired{background:#fae9e6;color:var(--red)}.clarification-card h2{font:600 22px/1.15 Georgia,serif;margin:18px 0 8px}.clarification-card p{color:var(--muted);margin:0 0 24px}.card-bottom{border-top:1px solid #edf0eb;padding-top:14px;color:var(--muted);font-size:12px}.card-bottom button,.back-btn{border:0;background:none;color:var(--green);font-weight:800}.card-bottom button span,.primary span{margin-left:8px}.empty{text-align:center;padding:76px 22px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#e4efe9;color:var(--green);font-size:28px}.empty h2{color:var(--ink);font:600 25px Georgia,serif;margin:0 0 6px}.skeleton-list{display:grid;gap:14px}.skeleton-list div{height:184px;border-radius:18px;background:linear-gradient(100deg,#e8ece5,#f9faf6,#e8ece5);background-size:200% 100%;animation:shine 1.2s infinite}@keyframes shine{to{background-position:-200% 0}}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);display:flex;justify-content:space-around;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.bottom-nav button{border:0;background:none;color:#8a9993;font-size:11px;display:grid;gap:2px;justify-items:center}.bottom-nav button span{font-size:21px;line-height:1}.bottom-nav button.active{color:var(--green);font-weight:800}.offline-banner{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:#8e6332;color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;z-index:10}.hidden{display:none}.login-page{min-height:100vh;max-width:520px;margin:auto;padding:14vh 28px 40px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--gold);font:bold 28px Georgia;margin-bottom:46px}.login-page h1{font:600 clamp(46px,12vw,72px)/.92 Georgia,serif;letter-spacing:-.06em;margin:0 0 20px}.login-page h1 em{color:var(--green);font-weight:400}.lead{max-width:370px;color:var(--muted);font-size:16px;margin-bottom:42px}.stack{display:grid;gap:18px}.stack label,.question>span,.question legend{font-weight:700;font-size:13px}.stack input,.question textarea{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none}.stack input:focus,.question textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(52,118,107,.12)}.primary{width:100%;padding:15px 18px;border:0;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(21,49,47,.16)}.primary:disabled{opacity:.5}.form-error{min-height:20px;color:var(--red);font-size:13px;margin:0}.detail-view{padding-top:20px}.back-btn{padding:0;margin:0 0 30px;font-size:13px}.detail-meta{justify-content:flex-start}.detail-title{font:600 clamp(30px,7vw,48px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:18px 0 24px}.reason{padding:16px 18px;background:#edf3ee;border-radius:12px;margin-bottom:30px}.reason span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--green)}.reason p{margin:7px 0 0}.answer-form{display:grid;gap:24px}.answer-form h3{font:600 22px Georgia,serif;margin:0}.question{border:0;padding:0;margin:0;display:grid;gap:10px}.question legend{padding:0}.question textarea{min-height:110px;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid var(--line);padding:13px 12px;border-radius:10px;background:#fff;color:var(--muted);text-align:center}.choice input:checked+span{border-color:var(--green);background:#e6f1ec;color:var(--green);font-weight:800}.summary{border:1px dashed #bdcbc3;padding:14px;border-radius:10px;display:grid;gap:3px;font-size:13px}.summary span{color:var(--muted)}.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 20px;box-shadow:var(--shadow)}.profile{display:flex;align-items:center;gap:12px;padding:14px 0 20px}.avatar{display:grid;place-items:center;background:var(--ink);color:var(--gold);width:42px;height:42px;border-radius:50%;font:600 20px Georgia}.profile span,.setting-row span{display:block;color:var(--muted);font-size:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #edf0eb}.setting-row strong{font-size:14px}.toggle{border:0;width:46px;height:26px;border-radius:99px;background:#cdd6d0;padding:3px}.toggle i{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.toggle.on{background:var(--green)}.toggle.on i{transform:translateX(20px)}.outline-btn{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}.logout{width:100%;margin-top:20px;padding:14px;border:1px solid #eccbc6;background:transparent;border-radius:10px;color:var(--red);font-weight:700}.toast{position:fixed;z-index:20;bottom:86px;left:50%;transform:translateX(-50%);max-width:calc(100% - 36px);background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:13px}.toast.success{background:#34766b}.toast.error{background:#a34f47}@media(min-width:700px){.view{padding-top:58px}.login-page{padding-top:18vh}}
:root{--ink:#15312f;--muted:#71817d;--paper:#f6f7f2;--card:#fff;--line:#dfe6df;--gold:#e4c574;--green:#34766b;--red:#b9574e;--shadow:0 12px 32px rgba(21,49,47,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}#app{min-height:100vh}.view{max-width:780px;margin:0 auto;padding:32px 22px 104px}.app-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}.eyebrow{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 8px}.app-header h1{font:600 clamp(30px,6vw,44px)/1.05 Georgia,serif;margin:0;letter-spacing:-.04em}.connection{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.connection i,.status-dot{display:block;width:8px;height:8px;border-radius:50%;background:#d29642}.connection.online i,.green{background:#4b9f78}.offline{color:#b27537}.intro-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.muted{color:var(--muted);margin:0}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:10px;width:40px;height:40px;color:var(--green);font-size:20px}.card-list{display:grid;gap:14px}.clarification-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;cursor:pointer}.clarification-card:hover,.clarification-card:focus{transform:translateY(-2px);box-shadow:0 16px 38px rgba(21,49,47,.13);outline:none}.clarification-card.unread{border-left:4px solid var(--gold)}.card-top,.card-bottom,.detail-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-top time,.detail-meta{font-size:12px;color:var(--muted)}.pill{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;background:#eef2ec;color:var(--green)}.pill.pending,.pill.notified,.pill.opened{background:#fff4d7;color:#926e22}.pill.answered{background:#e5f2ed;color:#30735e}.pill.delivery_failed,.pill.expired{background:#fae9e6;color:var(--red)}.clarification-card h2{font:600 22px/1.15 Georgia,serif;margin:18px 0 8px}.clarification-card p{color:var(--muted);margin:0 0 24px}.card-bottom{border-top:1px solid #edf0eb;padding-top:14px;color:var(--muted);font-size:12px}.card-bottom button,.back-btn{border:0;background:none;color:var(--green);font-weight:800}.card-bottom button span,.primary span{margin-left:8px}.empty{text-align:center;padding:76px 22px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#e4efe9;color:var(--green);font-size:28px}.empty h2{color:var(--ink);font:600 25px Georgia,serif;margin:0 0 6px}.skeleton-list{display:grid;gap:14px}.skeleton-list div{height:184px;border-radius:18px;background:linear-gradient(100deg,#e8ece5,#f9faf6,#e8ece5);background-size:200% 100%;animation:shine 1.2s infinite}@keyframes shine{to{background-position:-200% 0}}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);display:flex;justify-content:space-around;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.bottom-nav button{border:0;background:none;color:#8a9993;font-size:11px;display:grid;gap:2px;justify-items:center}.bottom-nav button span{font-size:21px;line-height:1}.bottom-nav button.active{color:var(--green);font-weight:800}.offline-banner{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:#8e6332;color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;z-index:10}.hidden{display:none}.login-page{min-height:100vh;max-width:520px;margin:auto;padding:14vh 28px 40px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--gold);font:bold 28px Georgia;margin-bottom:46px}.login-page h1{font:600 clamp(46px,12vw,72px)/.92 Georgia,serif;letter-spacing:-.06em;margin:0 0 20px}.login-page h1 em{color:var(--green);font-weight:400}.lead{max-width:370px;color:var(--muted);font-size:16px;margin-bottom:42px}.stack{display:grid;gap:18px}.stack label,.question>span,.question legend{font-weight:700;font-size:13px}.stack input,.question textarea{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none}.stack input:focus,.question textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(52,118,107,.12)}.primary{width:100%;padding:15px 18px;border:0;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(21,49,47,.16)}.primary:disabled{opacity:.5}.form-error{min-height:20px;color:var(--red);font-size:13px;margin:0}.detail-view{padding-top:20px}.back-btn{padding:0;margin:0 0 30px;font-size:13px}.detail-meta{justify-content:flex-start}.detail-title{font:600 clamp(30px,7vw,48px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:18px 0 24px}.reason{padding:16px 18px;background:#edf3ee;border-radius:12px;margin-bottom:30px}.reason span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--green)}.reason p{margin:7px 0 0}.answer-form{display:grid;gap:24px}.answer-form h3{font:600 22px Georgia,serif;margin:0}.question{border:0;padding:0;margin:0;display:grid;gap:10px}.question legend{padding:0}.question textarea{min-height:110px;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid var(--line);padding:13px 12px;border-radius:10px;background:#fff;color:var(--muted);text-align:center}.choice input:checked+span{border-color:var(--green);background:#e6f1ec;color:var(--green);font-weight:800}.summary{border:1px dashed #bdcbc3;padding:14px;border-radius:10px;display:grid;gap:3px;font-size:13px}.summary span{color:var(--muted)}.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 20px;box-shadow:var(--shadow)}.profile{display:flex;align-items:center;gap:12px;padding:14px 0 20px}.avatar{display:grid;place-items:center;background:var(--ink);color:var(--gold);width:42px;height:42px;border-radius:50%;font:600 20px Georgia}.profile span,.setting-row span{display:block;color:var(--muted);font-size:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #edf0eb}.setting-row strong{font-size:14px}.toggle{border:0;width:46px;height:26px;border-radius:99px;background:#cdd6d0;padding:3px}.toggle i{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.toggle.on{background:var(--green)}.toggle.on i{transform:translateX(20px)}.outline-btn{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}.logout{width:100%;margin-top:20px;padding:14px;border:1px solid #eccbc6;background:transparent;border-radius:10px;color:var(--red);font-weight:700}.toast{position:fixed;z-index:20;bottom:86px;left:50%;transform:translateX(-50%);max-width:calc(100% - 36px);background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:13px}.toast.success{background:#34766b}.toast.error{background:#a34f47}@media(min-width:700px){.view{padding-top:58px}.login-page{padding-top:18vh}}
.other-text{display:block;width:100%;grid-column:1/-1;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.other-text:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px rgba(52,118,107,.12)}
.status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 30px}.status-summary div{display:grid;gap:2px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.status-summary strong{font:600 26px Georgia,serif}.status-summary span,.task-project,.task-meta,.task-latest{color:var(--muted);font-size:12px}.task-groups{display:grid;gap:30px}.status-group{display:grid;gap:12px}.status-group-head{display:flex;justify-content:space-between;align-items:center}.status-group-head h2{font:600 23px Georgia,serif;margin:0}.status-group-head>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:99px;background:#e6f1ec;color:var(--green);font-weight:800}.task-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.task-card-top,.task-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.task-card h2{font:600 21px/1.15 Georgia,serif;margin:15px 0 5px}.task-project{margin:0 0 16px}.task-meta{border-top:1px solid #edf0eb;padding-top:12px}.task-latest{margin-top:10px}.pill.task-running{background:#fff4d7;color:#926e22}.pill.task-completed{background:#e5f2ed;color:#30735e}.status-empty{padding:20px;border:1px dashed #bdcbc3;border-radius:14px;color:var(--muted)}.status-actions{margin-top:26px;text-align:right}

/* Mobile typography scale: 80% of the original sizes for compact screens. */
@media(max-width:699px){
  body{font-size:12px}
  .eyebrow{font-size:8px}
  .app-header h1{font-size:clamp(24px,4.8vw,35px)}
  .connection,.card-top time,.detail-meta{font-size:9.6px}
  .icon-btn{font-size:16px}
  .pill{font-size:8.8px}
  .clarification-card h2{font-size:17.6px}
  .card-bottom{font-size:9.6px}
  .offline-banner{font-size:9.6px}
  .empty-icon{font-size:22.4px}
  .empty h2{font-size:20px}
  .bottom-nav button{font-size:8.8px}
  .bottom-nav button span{font-size:16.8px}
  .brand-mark{font-size:22.4px}
  .login-page h1{font-size:clamp(36.8px,9.6vw,57.6px)}
  .lead{font-size:12.8px}
  .stack label,.question>span,.question legend{font-size:10.4px}
  .back-btn,.form-error,.summary{font-size:10.4px}
  .detail-title{font-size:clamp(24px,5.6vw,38.4px)}
  .reason span{font-size:8px}
  .answer-form h3{font-size:17.6px}
  .profile span,.setting-row span,.outline-btn{font-size:9.6px}
  .setting-row strong{font-size:11.2px}
  .avatar{font-size:16px}
  .toast{font-size:10.4px}
}
.task-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.task-actions .outline-btn{padding:7px 10px}.danger-btn{border-color:#eccbc6;color:var(--red)}

/* Additional compact mobile scale: 80% of the current mobile typography. */
@media(max-width:699px){
  body{font-size:9.6px}
  .eyebrow{font-size:6.4px}
  .app-header h1{font-size:clamp(19.2px,3.84vw,28px)}
  .connection,.card-top time,.detail-meta,.card-bottom,.offline-banner{font-size:7.68px}
  .icon-btn{font-size:12.8px}
  .pill{font-size:7.04px}
  .clarification-card h2{font-size:14.08px}
  .empty-icon{font-size:17.92px}
  .empty h2{font-size:16px}
  .bottom-nav button{font-size:7.04px}
  .bottom-nav button span{font-size:13.44px}
  .brand-mark{font-size:17.92px}
  .login-page h1{font-size:clamp(29.44px,7.68vw,46.08px)}
  .lead{font-size:10.24px}
  .stack label,.question>span,.question legend,.back-btn,.form-error,.summary{font-size:8.32px}
  .detail-title{font-size:clamp(19.2px,4.48vw,30.72px)}
  .reason span{font-size:6.4px}
  .answer-form h3{font-size:14.08px}
  .profile span,.setting-row span,.outline-btn{font-size:7.68px}
  .setting-row strong{font-size:8.96px}
  .avatar{font-size:12.8px}
  .toast{font-size:8.32px}
}

/* Final compact mobile scale: 70% of the current mobile typography. */
@media(max-width:699px){
  body{font-size:6.72px}
  .eyebrow{font-size:4.48px}
  .app-header h1{font-size:clamp(13.44px,2.688vw,19.6px)}
  .connection,.card-top time,.detail-meta,.card-bottom,.offline-banner{font-size:5.376px}
  .icon-btn{font-size:8.96px}
  .pill{font-size:4.928px}
  .clarification-card h2{font-size:9.856px}
  .empty-icon{font-size:12.544px}
  .empty h2{font-size:11.2px}
  .bottom-nav button{font-size:4.928px}
  .bottom-nav button span{font-size:9.408px}
  .brand-mark{font-size:12.544px}
  .login-page h1{font-size:clamp(20.608px,5.376vw,32.256px)}
  .lead{font-size:7.168px}
  .stack label,.question>span,.question legend,.back-btn,.form-error,.summary{font-size:5.824px}
  .detail-title{font-size:clamp(13.44px,3.136vw,21.504px)}
  .reason span{font-size:4.48px}
  .answer-form h3{font-size:9.856px}
  .profile span,.setting-row span,.outline-btn{font-size:5.376px}
  .setting-row strong{font-size:6.272px}
  .avatar{font-size:8.96px}
  .toast{font-size:5.824px}
}

/* Increase mobile typography by 50% from the previous compact scale. */
@media(max-width:699px){
  body{font-size:10.08px}
  .eyebrow{font-size:6.72px}
  .app-header h1{font-size:clamp(20.16px,4.032vw,29.4px)}
  .connection,.card-top time,.detail-meta,.card-bottom,.offline-banner{font-size:8.064px}
  .icon-btn{font-size:13.44px}
  .pill{font-size:7.392px}
  .clarification-card h2{font-size:14.784px}
  .empty-icon{font-size:18.816px}
  .empty h2{font-size:16.8px}
  .bottom-nav button{font-size:7.392px}
  .bottom-nav button span{font-size:14.112px}
  .brand-mark{font-size:18.816px}
  .login-page h1{font-size:clamp(30.912px,8.064vw,48.384px)}
  .lead{font-size:10.752px}
  .stack label,.question>span,.question legend,.back-btn,.form-error,.summary{font-size:8.736px}
  .detail-title{font-size:clamp(20.16px,4.704vw,32.256px)}
  .reason span{font-size:6.72px}
  .answer-form h3{font-size:14.784px}
  .profile span,.setting-row span,.outline-btn{font-size:8.064px}
  .setting-row strong{font-size:9.408px}
  .avatar{font-size:13.44px}
  .toast{font-size:8.736px}
}

/* Increase mobile typography by another 50%. */
@media(max-width:699px){
  body{font-size:15.12px}
  .eyebrow{font-size:10.08px}
  .app-header h1{font-size:clamp(30.24px,6.048vw,44.1px)}
  .connection,.card-top time,.detail-meta,.card-bottom,.offline-banner{font-size:12.096px}
  .icon-btn{font-size:20.16px}
  .pill{font-size:11.088px}
  .clarification-card h2{font-size:22.176px}
  .empty-icon{font-size:28.224px}
  .empty h2{font-size:25.2px}
  .bottom-nav button{font-size:11.088px}
  .bottom-nav button span{font-size:21.168px}
  .brand-mark{font-size:28.224px}
  .login-page h1{font-size:clamp(46.368px,12.096vw,72.576px)}
  .lead{font-size:16.128px}
  .stack label,.question>span,.question legend,.back-btn,.form-error,.summary{font-size:13.104px}
  .detail-title{font-size:clamp(30.24px,7.056vw,48.384px)}
  .reason span{font-size:10.08px}
  .answer-form h3{font-size:22.176px}
  .profile span,.setting-row span,.outline-btn{font-size:12.096px}
  .setting-row strong{font-size:14.112px}
  .avatar{font-size:20.16px}
  .toast{font-size:13.104px}
}

/* Keep the mobile footer anchored to the viewport while the page content scrolls. */
html,body{min-height:100%;}
body{overflow-x:hidden;}
#app{min-height:100dvh;}
.view{padding-bottom:calc(92px + env(safe-area-inset-bottom));}
.bottom-nav{
  position:fixed;
  z-index:100;
  inset-inline:0;
  bottom:0;
  left:0;
  width:100%;
  max-width:780px;
  margin-inline:auto;
  transform:none;
  padding-bottom:calc(10px + env(safe-area-inset-bottom));
  padding-bottom:max(10px, calc(10px + env(safe-area-inset-bottom)));
}

/* Status cards must shrink with the viewport instead of creating horizontal scroll. */
.status-summary,
.status-group,
.card-list,
.task-card,
.task-card-top,
.task-meta,
.task-actions{min-width:0;max-width:100%;}
.status-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
.status-summary div{min-width:0;overflow-wrap:anywhere;}
.status-summary span,
.task-card h2,
.task-project,
.task-meta span,
.task-latest{min-width:0;overflow-wrap:anywhere;word-break:break-word;}
.status-group-head{min-width:0;gap:10px;flex-wrap:wrap;}
.status-group-head>h2{min-width:0;overflow-wrap:anywhere;}
.status-group-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.task-card{overflow:hidden;}
.task-card-top{align-items:flex-start;flex-wrap:wrap;}
.task-card-top time{margin-left:auto;max-width:100%;text-align:right;overflow-wrap:anywhere;}
.task-meta{justify-content:space-between;align-items:flex-start;flex-wrap:wrap;}
.task-meta span:last-child{text-align:right;margin-left:auto;}
.task-actions{width:100%;}
.task-actions .outline-btn{flex:1 1 auto;min-width:0;white-space:normal;}
.status-actions .outline-btn{max-width:100%;white-space:normal;}
@media(max-width:360px){
  .view{padding-inline:14px;}
  .status-summary{grid-template-columns:1fr;}
  .status-summary div{grid-template-columns:auto 1fr;align-items:baseline;gap:8px;}
  .task-meta span:last-child{margin-left:0;text-align:left;}
}

.sync-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 26px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#edf3ee;}
.sync-panel>div{display:grid;gap:3px;min-width:0;}
.sync-panel span{color:var(--muted);font-size:12px;overflow-wrap:anywhere;}
.sync-panel strong{min-width:0;overflow-wrap:anywhere;}
.sync-state.online{color:var(--green);}
.sync-state.offline{color:var(--red);}
.sync-error{grid-column:1/-1;margin:0;color:var(--red);overflow-wrap:anywhere;}
@media(max-width:480px){
  .sync-panel{grid-template-columns:1fr 1fr;}
  .sync-panel>div:first-child{grid-column:1/-1;}
}
@media(max-width:360px){
  .sync-panel{grid-template-columns:1fr;}
  .sync-panel>div:first-child{grid-column:auto;}
}

.task-modal-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:18px;background:rgba(16,25,20,.5);backdrop-filter:blur(4px);overflow:auto;}
.task-modal{width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto;background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.22);padding:22px;}
.task-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px;}
.task-modal-head h2{margin:2px 0 6px;font-size:clamp(24px,5vw,34px);}
.task-modal-head p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:570px;}
.modal-close{border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1;padding:2px 6px;cursor:pointer;}
.task-modal-form{display:grid;gap:16px;}
.modal-prompt-label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700;}
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.modal-grid label{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:12px;font-weight:700;}
.modal-grid .modal-wide{grid-column:1/-1;}
.modal-grid input,.modal-grid select,.modal-grid textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,#f7f8f5);color:var(--ink);padding:11px 12px;font:inherit;font-weight:400;box-sizing:border-box;}
.master-search{margin-bottom:7px;}
.modal-grid textarea{resize:vertical;line-height:1.5;}
.modal-grid input:focus,.modal-grid select:focus,.modal-grid textarea:focus{outline:2px solid rgba(43,113,78,.25);border-color:var(--green);}
.task-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:2px;}
.task-modal-actions button{min-width:110px;}
@media(max-width:560px){.task-modal-backdrop{padding:10px;align-items:start;}.task-modal{max-height:calc(100dvh - 20px);padding:17px;border-radius:16px;}.modal-grid{grid-template-columns:1fr;gap:12px;}.modal-grid .modal-wide{grid-column:auto;}.task-modal-actions{display:grid;grid-template-columns:1fr 1fr;}.task-modal-actions button{width:100%;}.task-modal-head{margin-bottom:14px;}}

/* Compact status cards: keep the essential task identity visible. */
.task-card{padding:14px 16px;}
.task-card .task-project,.task-card .task-meta,.task-card .task-latest{display:none;}
.task-card h2{margin:7px 0 0;font-size:clamp(16px,3.8vw,20px);line-height:1.25;}
.task-card .task-actions{margin-top:12px;}

/* Status must remain readable when failed/waiting groups are present. */
.status-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));}
.pill.task-failed,.pill.task-review_failed{background:#fae9e6;color:var(--red);}
.pill.task-paused{background:#eeeaf7;color:#70599b;}
.pill.task-queued,.pill.task-waiting_clarification,.pill.task-waiting_testing{background:#fff4d7;color:#926e22;}
@media(max-width:420px){.status-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.status-summary div{padding:11px;}.status-summary strong{font-size:22px;}}

.install-prompt{position:fixed;z-index:30;left:50%;bottom:84px;transform:translateX(-50%);width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px 14px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(21,49,47,.18);animation:install-prompt-in .25s ease-out;}
.install-prompt-icon{width:42px;height:42px;overflow:hidden;border-radius:11px;flex:none;background:#1598ee;}
.install-prompt-icon img{width:100%;height:100%;display:block;object-fit:cover;}
.install-prompt-copy{min-width:0;display:grid;gap:2px;}
.install-prompt-copy strong{font-size:13px;}
.install-prompt-copy span{color:var(--muted);font-size:11px;line-height:1.25;}
.install-prompt-action{border:0;border-radius:9px;padding:9px 12px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;cursor:pointer;}
.install-prompt-close{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;padding:2px 4px;cursor:pointer;}
@keyframes install-prompt-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:480px){.install-prompt{grid-template-columns:auto 1fr auto;bottom:76px;gap:9px;padding:10px 11px}.install-prompt-action{grid-column:2;justify-self:start;padding:7px 11px}.install-prompt-close{grid-column:3;grid-row:1;align-self:start}.install-prompt-copy span{font-size:10px;}}

/* Inbox cards follow the same responsive shrink/wrap rules as status cards. */
.view,
.app-header,
.intro-row,
.card-list,
.clarification-card,
.card-top,
.card-bottom{min-width:0;max-width:100%;}
.app-header>div:first-child,
.intro-row .muted,
.clarification-card h2,
.clarification-card p,
.card-top>*,
.card-bottom>*{min-width:0;overflow-wrap:anywhere;word-break:break-word;}
.app-header>div:first-child{flex:1 1 auto;}
.app-header h1{overflow-wrap:anywhere;}
.connection{flex:0 0 auto;white-space:nowrap;}
.intro-row{gap:12px;}
.intro-row .muted{flex:1 1 auto;}
.intro-row .icon-btn{flex:0 0 auto;}
.clarification-card{overflow:hidden;}
.card-top,
.card-bottom{align-items:flex-start;flex-wrap:wrap;}
.card-top time{margin-left:auto;max-width:100%;text-align:right;}
.card-bottom>span{flex:1 1 10rem;}
.card-bottom button{flex:0 0 auto;white-space:nowrap;}
@media(max-width:360px){
  .clarification-card{padding:16px;}
  .card-bottom button{margin-left:auto;}
}
