/* Touch-first shell. Desktop layout keeps its existing rules. */
.mobile-dock,.mobile-add{display:none}
.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px}
.mobile-sheet-head h2{margin:5px 0;font-size:22px;color:#202024}
.mobile-sheet-head small{font-size:10px;letter-spacing:.12em;color:#77717f}
.mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 22px}
.mobile-menu-grid button{display:flex;justify-content:space-between;gap:6px;padding:17px 12px;background:#f4f1f8;border:1px solid #e9e3ef;border-radius:14px;color:#39313f;font:inherit;font-size:13px;cursor:pointer}
.mobile-menu-note{padding:5px 22px 20px;color:#8a8490;font-size:12px}
.mobile-day-list{padding:0 22px 22px}
.mobile-day-count{display:none}
@media(max-width:700px){
  :root{--ink:#25232c;--muted:#85818e;--line:#e7e4ed;--green:#f27319;--mint:#f2eafa}
  html{scroll-padding-bottom:110px}body{background:#f4f4f7;-webkit-tap-highlight-color:transparent}
  .app{display:block;min-height:100dvh;background:radial-gradient(ellipse at 95% 0%,#ebe3f5 0,transparent 38%),#f4f4f7}
  .sidebar{display:none}.content{width:100%;max-width:100%;margin:0;padding:env(safe-area-inset-top) 18px calc(110px + env(safe-area-inset-bottom));overflow:clip}
  .topbar{padding:26px 2px 20px;margin:0;align-items:center}.eyebrow{font-size:10px;letter-spacing:.05em;line-height:1.5}
  .topbar h1{font-size:26px;letter-spacing:-.04em;line-height:1.2}.top-actions #clearDoneBtn{display:none}.round{width:44px;height:44px;background:rgba(255,255,255,.8);border:1px solid #e4deeb}
  button{touch-action:manipulation}.primary,.ghost,.section-link,.icon-btn{min-height:44px}.primary{border-radius:13px;padding:12px 16px;font-size:14px}.section-link{font-size:12px}
  .journal-top{position:relative;padding:22px;border:1px solid #eadfee;border-radius:24px;background:linear-gradient(125deg,#fff1e5,#f1e7fc);margin-bottom:14px;overflow:hidden}
  .journal-top:after{content:'✦';position:absolute;right:15px;top:8px;font-size:78px;color:#8557af;opacity:.09;pointer-events:none}
  .journal-top-main{display:block}.journal-top h2{font-size:25px!important;letter-spacing:-.04em;margin:8px 0 16px}.journal-date-link{min-height:44px;padding:10px 15px;border-radius:12px;background:#25232c;color:white;font-size:14px;border:0;display:inline-flex;align-items:center;gap:20px}.journal-retain{display:none}
  .panel,.journal-entry,.project-card,.database-card{border-radius:20px;padding:18px;border-color:#e9e5ef;box-shadow:0 5px 20px #2b173705}.panel-head{gap:10px;margin-bottom:12px}.panel-head h2{font-size:16px!important}.panel-head p{font-size:11px;line-height:1.5}
  .habit-home-panel{display:block!important;width:100%!important;height:auto!important;margin:0 0 14px;padding:18px!important}.habit-home-panel .panel-head{display:flex!important}.habit-home-panel .habit-grid{display:flex!important;overflow-x:auto;gap:8px;padding-bottom:5px;scrollbar-width:none;overscroll-behavior-x:contain}.habit-home-panel .habit{flex:0 0 auto;min-width:105px;width:auto!important;padding:12px;border-radius:13px}.habit-top{font-size:13px!important;gap:12px;margin:0}.habit input{width:22px;height:22px}.habit-progress-summary{width:100%!important;min-width:0}.progress-large{height:8px!important}.habit-home-panel .eyebrow{margin-top:8px!important}.habit-grid{grid-template-columns:1fr 1fr}
  .capture{padding:17px;border-radius:20px;margin-bottom:14px;gap:10px}.capture-icon{display:none}.capture-body strong{font-size:13px}.capture-row{display:flex;gap:7px}.capture-row input{font-size:16px;width:100%;padding:12px;border-radius:12px}.capture-row button{width:auto;flex:none;margin:0;font-size:12px;padding:10px}.capture small{font-size:10px;line-height:1.6}
  .quick-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 16px}.stat{padding:12px 7px;border-radius:15px}.stat b{font-size:23px;letter-spacing:-.04em}.stat span{font-size:10px;white-space:nowrap}.stat:nth-child(3){background:#fff0e5;border-color:#f6d9c4}
  .dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}.task-row{padding:15px 0!important;gap:10px}.task-name{font-size:15px;line-height:1.5}.check{width:23px;height:23px;border-radius:7px;margin-top:1px}.check:checked:after{font-size:16px;left:4px;top:0}.row-actions{opacity:1;display:flex;flex-direction:column}.row-actions .icon-btn{min-width:32px;min-height:30px}.row-actions [data-action="delete"]{display:none}.task-tags{gap:4px}.tag{font-size:10px;padding:4px 6px;border-radius:5px}
  .list-toolbar{display:block}.tabs{gap:18px}.tab{min-height:44px;font-size:13px}.search{display:flex;align-items:center;margin:8px 0 12px;padding:10px;border-radius:12px}.search input{width:100%;font-size:16px}.big-list{padding:0;border:0;box-shadow:none}.tip{font-size:12px;border-radius:16px;padding:15px}
  .journal-hero{padding:20px;border-radius:20px}.journal-hero h2{font-size:22px}.journal-hero p{line-height:1.7}.project-add{flex-wrap:wrap}.project-add input{min-width:0;font-size:16px}.project-grid,.database-grid{grid-template-columns:1fr;gap:12px}.database-card{position:relative}.database-icon{font-size:24px}.database-card h3{font-size:17px}.database-toolbar{gap:8px}.database-toolbar .primary{font-size:12px}
  .home-calendar-content{padding:0 10px 14px}.month-calendar{overflow:hidden;padding:0!important}.month-grid,.month-weekdays{min-width:0!important;width:100%!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}.month-weekdays span{font-size:11px;padding:8px 0}.month-day{min-height:62px!important;height:auto!important;padding:7px 2px!important;border-radius:9px;cursor:pointer}.month-day header{font-size:13px;text-align:center;padding:0;border:0}.month-day header b{display:none}.month-day.today-column{background:#fff0e5;border-color:#f27319}.month-day.today-column header{color:#d96111}.month-day .calendar-day-tasks,.month-day .calendar-more{display:none!important}.mobile-day-count{display:block;text-align:center;color:#8853ad;font-size:9px;margin-top:7px}.month-day.other-month{opacity:.4}.calendar-note{font-size:10px;line-height:1.5}.calendar-picker label{margin-bottom:10px}.home-calendar-dropdown summary{padding:17px;font-size:16px}.home-calendar-dropdown summary small{display:none}
  .reading-view-tools{justify-content:space-between;gap:4px;overflow:auto}.reading-view-tools>span{display:none}.reading-layout-btn{flex:1;white-space:nowrap;min-height:42px;border-radius:12px;font-size:12px;padding:8px}.reading-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible}.reading-library-card{min-width:0;padding:11px}.reading-library-card .reading-cover{height:auto;aspect-ratio:2/3;border-radius:10px}.reading-card-body h3{font-size:14px}.reading-author{font-size:11px}.reading-library-mark{display:none}.reading-original-grid{grid-template-columns:repeat(3,minmax(200px,1fr));scroll-snap-type:x proximity}.reading-group{scroll-snap-align:start;border-radius:18px;padding:12px}.reading-list-row{padding:12px 10px;border-radius:14px;gap:9px}.reading-list-main h3{font-size:14px}.reading-list-thumb{width:25px;height:35px}.reading-status-select{font-size:12px;min-height:40px;max-width:95px}.reading-add-toggle{padding:14px;border-radius:16px}.reading-add-toggle strong{font-size:15px}
  dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}dialog::backdrop{background:#1f152b70;backdrop-filter:blur(6px)}dialog form{padding:22px 20px}.dialog-head{align-items:center;gap:12px}.dialog-head h2{font-size:22px}.close{width:44px;height:44px;flex:none;font-size:25px}.form-grid{grid-template-columns:1fr 1fr;gap:0 10px}label{font-size:13px;line-height:1.5;margin-bottom:17px}label input,label select,label textarea{font-size:16px;padding:12px;min-height:46px;border-radius:12px}label textarea{line-height:1.6}.field-hint{font-size:11px}.dialog-actions{position:sticky;bottom:0;padding:12px 0;background:#fff;z-index:2;flex-wrap:wrap;border-top:1px solid #ece7f1}.dialog-actions .primary{flex:1}.reading-detail-body{padding:0 20px 24px}.reading-detail-top{flex-wrap:wrap;gap:12px}.reading-detail-top h3{font-size:18px}.reading-detail-top>div:nth-child(2){flex:1;min-width:100px}.reading-edit-form{padding:0!important}.reading-detail-body section p{font-size:15px;color:#62576b}.reading-detail-body h4{font-size:14px}.reading-detail-top .reading-edit-btn{min-height:44px}.reading-detail-body section{padding:18px 0}.reading-edit-actions{display:flex;gap:8px}.reading-edit-actions .primary{flex:1}
  .mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;justify-content:space-around;background:#ffffffed;backdrop-filter:blur(20px);border-top:1px solid #e9e3ee;padding:8px 9px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #34213c07}.mobile-dock button{display:flex;flex-direction:column;align-items:center;gap:5px;width:60px;min-height:51px;border:0;border-radius:14px;background:none;color:#97909e;font:inherit;font-size:10px;font-weight:600;cursor:pointer}.mobile-dock svg{width:23px;height:23px;margin-top:5px}.mobile-dock button.active{color:#7b44aa;background:#f2eafa}.mobile-dock button.active svg{stroke-width:2.3}.mobile-add{display:grid;place-items:center;position:fixed;right:20px;bottom:calc(90px + env(safe-area-inset-bottom));z-index:35;width:56px;height:56px;border:1px solid #ffffff55;border-radius:19px;background:linear-gradient(145deg,#ff983c,#f27319);color:#fff;box-shadow:0 8px 24px #f2731940;cursor:pointer}.mobile-add svg{width:27px;height:27px}.mobile-add:active{transform:scale(.95)}body:has(dialog[open]) .mobile-add,body:has(dialog[open]) .mobile-dock{visibility:hidden}
  .mobile-menu,.mobile-day{max-height:85dvh}.mobile-day .task-row{padding:16px 0!important}
  input:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:2px solid #8a58b3;outline-offset:3px}
}
@media(max-width:360px){.content{padding-left:12px;padding-right:12px}.form-grid{grid-template-columns:1fr}.stat span{font-size:9px}.topbar h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
