:root{--bg: #f3f4f6;--card: #ffffff;--ink: #1f2a37;--sub: #64707d;--line: #e2e6eb;--navy: #1d3958;--gold: #c8aa62;--tomato: #e8744a;--teal: #2f8f7b;--warm: #d98a3d;--danger: #c2413b;--focus: #e8744a;--short: #2f8f7b;--long: #4a7bd0;--radius: 16px;--tabbar-h: 60px;--handle-h: 52px;--safe-b: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-t: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--shadow: 0 6px 24px rgba(20, 32, 48, .12);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overscroll-behavior:none}body{font:15px/1.45 -apple-system,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}#app{position:fixed;inset:0;display:flex;flex-direction:column}.view{flex:1;min-height:0;padding-bottom:calc(var(--tabbar-h) + var(--handle-h) + var(--safe-b))}#view-office{display:flex;flex-direction:column}.stage{position:relative;flex:1;min-height:38vh;overflow:hidden;background:#eceff3}.stage canvas{display:block;width:100%;height:100%}.stage.gl-lost:after{content:"重新載入3D畫面中…";position:absolute;inset:0;display:grid;place-items:center;color:var(--sub);background:#f3f4f6e6}.stage-top{position:absolute;top:calc(8px + var(--safe-t));right:10px;display:flex;gap:6px;z-index:3}.webgl-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--sub)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#eef1f5;color:var(--sub);font-size:12.5px;font-weight:600;border:0;white-space:nowrap}.pill:empty{display:none}.coin-pill{background:#ffffffeb;color:#8a6a1f;box-shadow:var(--shadow);font-size:14px;padding:5px 12px}.pro-pill{background:var(--navy);color:#fff;letter-spacing:.08em}@media(max-width:480px){.stage-top .pill-label,.stage-top .pro-pill{display:none}}.labels{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.labels .tag{position:absolute;left:0;top:0;pointer-events:auto;border:0;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;background:var(--tag-color, var(--navy));box-shadow:0 2px 8px #0000002e;white-space:nowrap;min-height:28px}.labels .tag.locked{background:#8b939e}.labels .say{position:absolute;left:0;top:0;max-width:168px;padding:6px 10px;border-radius:14px;background:#fff;color:var(--ink);font-size:12.5px;line-height:1.4;box-shadow:var(--shadow);white-space:normal}.labels .say:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#fff}.fx-mode-chip{position:absolute;top:calc(8px + var(--safe-t));left:10px;z-index:3;padding:5px 12px;border-radius:999px;background:#ffffffeb;font-size:13px;font-weight:700;color:var(--navy);box-shadow:var(--shadow);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-mode-chip[data-mode=short],.fx-mode-chip[data-mode=long]{color:var(--warm)}.fx-mode-chip[data-mode=paused]{color:var(--sub)}.fx-scene-banner{position:absolute;left:50%;top:22%;z-index:4;transform:translate(-50%,-12px) scale(.96);opacity:0;pointer-events:none;padding:12px 20px;border-radius:16px;background:#1d3958f0;color:#fff;text-align:center;transition:.35s ease;min-width:220px}.fx-scene-banner.show{opacity:1;transform:translate(-50%) scale(1)}.fx-scene-banner.gold{background:linear-gradient(135deg,#8a6a1f,#c8aa62)}.fx-scene-banner strong{display:block;font-size:19px}.fx-scene-banner span{font-size:13px;opacity:.9}.fx-float{position:absolute;z-index:4;transform:translate(-50%,-50%);font-weight:800;font-size:16px;pointer-events:none;text-shadow:0 1px 0 #fff,0 0 6px #fff;animation:fx-float 2.2s ease-out forwards}@keyframes fx-float{0%{opacity:0;margin-top:0}15%{opacity:1}to{opacity:0;margin-top:-60px}}@media(prefers-reduced-motion:reduce){.fx-float{animation-duration:.01s}.fx-scene-banner{transition:none}}.timer-card{--accent: var(--focus);background:var(--card);border-radius:22px 22px 0 0;margin-top:-18px;position:relative;z-index:5;padding:12px 18px 10px;box-shadow:0 -6px 20px #14203014}.timer-card[data-mode=short]{--accent: var(--short)}.timer-card[data-mode=long]{--accent: var(--long)}.mode-switch{display:flex;gap:4px;background:#f0f2f5;border-radius:12px;padding:3px}.mode-switch button{flex:1;border:0;background:transparent;padding:7px 0;border-radius:9px;font-weight:700;color:var(--sub);min-height:36px}.mode-switch button.on{background:#fff;color:var(--accent);box-shadow:0 1px 4px #00000014}.clock-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 2px}.clock{font-size:clamp(52px,17vw,76px);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.05}.clock-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.state-line{font-size:13px;color:var(--sub)}.track{height:6px;border-radius:99px;background:#edf0f3;overflow:hidden}.track-fill{height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width .4s linear}.task-line{display:flex;align-items:center;gap:8px;width:100%;margin:10px 0 8px;padding:9px 12px;border:1px dashed var(--line);border-radius:12px;background:#fafbfc;text-align:left;min-height:44px}.task-line.has-task{border-style:solid;border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 7%,#fff)}.task-line-label{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.task-line-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub)}.task-line.has-task .task-line-text{color:var(--ink);font-weight:600}.controls{display:flex;align-items:center;justify-content:center;gap:18px}.ctl{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;color:var(--sub)}.ctl-main{width:auto;min-width:150px;height:56px;border-radius:28px;border:0;background:var(--accent);color:#fff;font-size:18px;font-weight:800;padding:0 26px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent)}.ctl-main.is-running{background:#fff;color:var(--accent);border:2px solid var(--accent);box-shadow:none}.ctl:active{transform:scale(.96)}.today-line{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;color:var(--sub)}.today-line b{color:var(--ink)}.drawer{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b));z-index:20;background:var(--card);border-radius:20px 20px 0 0;box-shadow:0 -8px 30px #14203024;height:var(--handle-h);transition:height .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.drawer[data-state=open]{height:calc(100dvh - var(--tabbar-h) - var(--safe-b) - var(--safe-t) - 48px)}.drawer-handle{flex:none;height:var(--handle-h);border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:8px 18px 0;position:relative}.grip{position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:#d5dae0}.drawer-title{font-weight:800}.drawer-title b{display:inline-block;min-width:22px;padding:0 6px;border-radius:99px;background:#eef1f5;color:var(--sub);font-size:12px;text-align:center}.drawer-usage{margin-left:auto;font-size:12px;color:var(--sub)}.drawer-usage.full{color:var(--danger);font-weight:700}.drawer-body{flex:1;overflow:auto;padding:0 14px 20px;-webkit-overflow-scrolling:touch}.drawer[data-state=closed] .drawer-body{visibility:hidden}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:#fffffff7;border-top:1px solid var(--line)}.tabbar button{flex:1;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11.5px;font-weight:600;color:var(--sub)}.tabbar button span{font-size:20px;line-height:1;filter:grayscale(1);opacity:.7}.tabbar button.on{color:var(--navy)}.tabbar button.on span{filter:none;opacity:1}.page{overflow:auto;padding:calc(10px + var(--safe-t)) 16px calc(var(--tabbar-h) + var(--handle-h) + var(--safe-b) + 16px);-webkit-overflow-scrolling:touch}.page-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 12px}.page-head h1{font-size:24px;margin:0}.card{background:var(--card);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 3px #1420300f}.card h2{font-size:15px;margin:0 0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card p{margin:6px 0}.muted{color:var(--sub);font-size:13px}.btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 14px;font-weight:700;min-height:42px}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-gold{background:linear-gradient(135deg,#8a6a1f,#c8aa62);border:0;color:#fff}.btn-danger{color:var(--danger)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btn-block{width:100%}.big-num{font-size:34px;font-weight:800;line-height:1.1}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi{background:#f6f7f9;border-radius:12px;padding:10px;text-align:center}.kpi b{display:block;font-size:20px}.kpi span{font-size:12px;color:var(--sub)}.week{display:flex;align-items:flex-end;gap:6px;height:110px;margin-top:8px}.week .bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;font-size:11px;color:var(--sub)}.week .bar i{display:block;width:100%;max-width:30px;border-radius:6px 6px 3px 3px;background:#cfd8e3;min-height:3px}.week .bar.goal i{background:var(--gold)}.week .bar.today{color:var(--ink);font-weight:700}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:2px;overflow-x:auto;padding-bottom:4px}.heatmap i{width:10px;height:10px;border-radius:2px;background:#eceff3}.heatmap i[data-l="1"]{background:#f8d9c9}.heatmap i[data-l="2"]{background:#f2b08f}.heatmap i[data-l="3"]{background:#e8744a}.heatmap i[data-l="4"]{background:#b8502c}.rank{list-style:none;margin:0;padding:0}.rank li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #f0f2f4}.rank li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locked-box{position:relative}.locked-box .locked-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:#ffffffc7;backdrop-filter:blur(3px);border-radius:var(--radius);padding:12px}.blur{filter:blur(4px);pointer-events:none;user-select:none}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f2f4;min-height:48px}.row:last-child{border-bottom:0}.row label{flex:1}.row small{display:block;color:var(--sub);font-size:12px}.row input[type=number]{width:76px;padding:8px;border:1px solid var(--line);border-radius:10px;text-align:center}.row select{padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;max-width:55%}.switch{appearance:none;width:46px;height:28px;border-radius:99px;background:#d5dae0;position:relative;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0003}.switch:checked{background:var(--teal)}.switch:checked:after{left:21px}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#0f172361}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:88dvh;overflow:auto;background:var(--card);border-radius:22px 22px 0 0;padding:18px 18px calc(18px + var(--safe-b));box-shadow:var(--shadow);animation:sheet-in .24s ease-out}@keyframes sheet-in{0%{transform:translateY(30px);opacity:.4}}.sheet h2{margin:2px 0 6px;font-size:20px}.sheet .sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.sheet .sheet-actions .btn{width:100%;min-height:48px;font-size:16px}.benefits{list-style:none;padding:0;margin:10px 0}.benefits li{padding:6px 0 6px 28px;position:relative}.benefits li:before{content:"✓";position:absolute;left:4px;color:var(--teal);font-weight:800}.price{font-size:28px;font-weight:800}.price small{font-size:14px;color:var(--sub);font-weight:600}.dev-note{margin-top:12px;padding:10px;border-radius:12px;background:#fff7e6;color:#8a5a00;font-size:12.5px}.affinity{height:8px;border-radius:99px;background:#f6dbe5;overflow:hidden;margin:6px 0}.affinity i{display:block;height:100%;background:#e2577f;border-radius:inherit}.avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#fff;font-weight:800;flex:none}.who{display:flex;gap:12px;align-items:center}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--handle-h) + var(--safe-b) + 14px);z-index:50;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#1f2a37f0;color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;max-width:calc(100vw - 32px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:#c2413bf5}.sheet-sub{font-size:14px;margin:14px 0 4px;color:var(--sub)}.stories{list-style:none;margin:0;padding:0}.stories li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #f0f2f4;font-size:14px}.stories li b{flex:none;color:#c2416b;font-size:12px;padding-top:2px}.stories li.locked{color:#a3abb5}.stories li.locked b{color:#c9ced6}.labels .say-cat{background:#fff6e8}.labels .tag{transition:opacity .2s}.store{list-style:none;margin:8px 0;padding:0}.store-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f2f4}.store-row b{display:block}.store-row small{color:var(--sub);font-size:12.5px}.store-row .btn{flex:none;min-width:92px}.icon-btn{border:0;background:transparent;font-size:16px;padding:4px 6px;margin-left:4px;vertical-align:middle;min-height:32px;border-radius:8px}.icon-btn:active{background:#f0f2f5}.name-input{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:18px;margin-top:6px}.who-text h2{display:flex;align-items:center}.icon-btn:focus:not(:focus-visible){outline:none}.scene-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:10px}.scene-card{display:flex;gap:12px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.scene-card.is-active{border-color:var(--teal);box-shadow:0 0 0 2px #3f8f7b2e}.scene-swatch{flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr}.scene-swatch i:nth-child(1){grid-column:1 / 3}.scene-swatch i:nth-child(3){grid-column:1 / 3}.scene-info{flex:1;min-width:0}.scene-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.scene-title .pill.locked{background:#f6efe0;color:#8a6420}.scene-info small{display:block;color:var(--sub);font-size:12.5px;margin:2px 0 4px}.scene-info .btn-row{margin-top:4px}.scene-info .btn{min-height:36px;padding:6px 12px}.sheet button:focus:not(:focus-visible){outline:none}body.stage-full .timer-card,body.stage-full #drawer,body.stage-full .tabbar{display:none}body.stage-full #view-office{padding-bottom:0}body.stage-full .stage{min-height:100%}body.stage-full .toast{bottom:calc(150px + var(--safe-b))}body.previewing .stage-top{display:none}.preview-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-b));z-index:45;background:#fffffff5;border-radius:18px;padding:12px 14px;box-shadow:var(--shadow);animation:sheet-in .2s ease-out}.preview-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.preview-head b{font-size:17px;display:block}.preview-head small{color:var(--sub);font-size:12.5px}.preview-hint{margin:4px 0 6px;font-size:12px;color:var(--sub)}.preview-bar .btn-row .btn{flex:1;min-height:44px}.slot-dots{display:flex;gap:6px;margin:4px 0 10px}.slot-dots i{width:22px;height:22px;border-radius:50%;border:2px dashed #c8a046}.slot-dots i.on{background:linear-gradient(135deg,#8a6a1f,#c8aa62);border:0}@media(min-width:760px){.preview-bar{max-width:500px;margin:0 auto}}.pet-emoji{flex:none;width:64px;height:64px;border-radius:14px;background:#f6efe0;display:grid;place-items:center;font-size:36px}.zoom-tools{position:absolute;right:10px;bottom:30px;z-index:3;display:flex;flex-direction:column;gap:6px}.zoom-tools button{width:38px;height:38px;border-radius:50%;border:0;background:#ffffffeb;box-shadow:var(--shadow);font-size:20px;font-weight:700;color:var(--navy)}.zoom-tools button:active{transform:scale(.94)}body.stage-full .zoom-tools{bottom:calc(170px + var(--safe-b))}.rail-brand{display:none}@media(min-width:760px){#app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(300px,44%);grid-template-areas:"main main" "timer tasks";padding-bottom:calc(var(--tabbar-h) + var(--safe-b))}#view-office,#view-office[hidden]{display:contents!important}.view{padding-bottom:0}.stage{grid-area:main;min-height:0}.page{grid-area:1 / 1 / 3 / 3;padding:calc(20px + var(--safe-t)) 28px 32px}.page-head,#stats-body,#settings-body{max-width:1080px;margin-left:auto;margin-right:auto}.page-head h1{font-size:28px}#stats-body,#settings-body{columns:2 340px;column-gap:16px}.card{break-inside:avoid;display:inline-block;width:100%}.timer-card{grid-area:timer;margin:0;border-radius:0;box-shadow:none;border-top:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:18px 24px;overflow:auto}.clock{font-size:clamp(56px,8vw,84px)}.drawer{grid-area:tasks;position:static;height:auto!important;min-height:0;border-radius:0;box-shadow:none;border-top:1px solid var(--line);transition:none}.drawer .grip{display:none}.drawer-handle{height:auto;padding:14px 18px 8px;cursor:default}.drawer[data-state=closed] .drawer-body{visibility:visible}body:not([data-view=office]) :is(.stage,.timer-card,.drawer){display:none}body.stage-full #app{padding-bottom:0}body.stage-full .stage{grid-area:1 / 1 / 3 / 3}.sheet{inset:50% auto auto 50%;width:min(560px,calc(100vw - 48px));max-height:min(86dvh,860px);border-radius:22px;transform:translate(-50%,-50%);padding:22px 26px;animation:dialog-in .2s ease-out}@keyframes dialog-in{0%{opacity:.5;transform:translate(-50%,-48%)}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet .sheet-actions{flex-direction:row;flex-wrap:wrap}.sheet .sheet-actions .btn{width:auto;flex:1 1 140px}.toast{bottom:calc(var(--tabbar-h) + var(--safe-b) + 18px)}body.stage-full .toast{bottom:150px}.scene-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.btn:hover:not([disabled]),.ctl:hover,.fx-tasks button:hover{filter:brightness(.97)}.ctl-main:hover{filter:brightness(1.05)}.tabbar button:hover{color:var(--navy)}:focus-visible{outline:2px solid var(--long);outline-offset:2px}}@media(min-width:1180px),(min-width:900px)and (min-aspect-ratio:5/4){#app{grid-template-columns:92px minmax(0,1fr) clamp(340px,27vw,430px);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"rail main timer" "rail main tasks";padding-bottom:0}.tabbar{grid-area:rail;position:static;height:auto;flex-direction:column;justify-content:flex-start;gap:6px;padding:calc(14px + var(--safe-t)) 10px 14px;border-top:0;border-right:1px solid var(--line);background:#fff}.tabbar button{flex:none;height:66px;border-radius:14px;font-size:12px}.tabbar button.on{background:#eef2f7}.tabbar button:hover{background:#f4f6f9}.rail-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin:2px 0 14px;color:var(--navy);font-size:11px;font-weight:800;text-align:center;line-height:1.2}.rail-brand img{width:40px;height:40px}.page{grid-area:main;padding:calc(24px + var(--safe-t)) 32px 32px}.timer-card{grid-area:timer;border-top:0;border-right:0;border-left:1px solid var(--line);justify-content:flex-start;padding:22px 24px 16px}.clock{font-size:clamp(56px,4.6vw,82px)}.drawer{grid-area:tasks;border-top:1px solid var(--line);border-left:1px solid var(--line)}body:not([data-view=office]) :is(.timer-card,.drawer){display:flex}body.stage-full .stage{grid-area:1 / 1 / 3 / 4}.toast{bottom:26px}}.tour{position:fixed;inset:0;z-index:60}.tour-hole{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #0f17239e,0 0 0 3px #ffffffe6 inset;transition:left .28s ease,top .28s ease,width .28s ease,height .28s ease;pointer-events:none}.tour-card{position:fixed;z-index:61;background:#fff;border-radius:18px;padding:16px 18px 14px;box-shadow:0 12px 40px #0a14234d;width:min(380px,calc(100vw - 24px));transition:left .28s ease,top .28s ease;animation:sheet-in .22s ease-out}.tour-card.center{left:50%!important;top:50%!important;transform:translate(-50%,-50%);animation:none}.tour-card h3{margin:6px 0;font-size:18px;color:var(--navy)}.tour-card p{margin:0;white-space:pre-line;color:var(--ink);font-size:14.5px;line-height:1.6}.tour-dots{display:flex;gap:5px}.tour-dots i{width:7px;height:7px;border-radius:50%;background:#dfe4ea}.tour-dots i.done{background:#b9c6d6}.tour-dots i.on{width:20px;border-radius:99px;background:var(--tomato)}.tour-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.tour-actions .tour-skip{margin-right:auto;border:0;background:transparent;color:var(--sub);padding-left:2px}@media(prefers-reduced-motion:reduce){.tour-hole,.tour-card{transition:none;animation:none}}.fx-tasks button{border:1px solid #d7e0ea;border-radius:10px;background:#f4f7fb;color:#254664;padding:7px 12px;font-size:13.5px;font-weight:600;min-height:38px;flex-shrink:0}button.fx-primary{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}button.fx-danger{color:var(--danger)!important;background:#fff6f6!important;border-color:#f2d6d6!important}button.fx-go{background:#e7f5ef;border-color:#b9dfcf;color:#1f6a52}.fx-tasks input,.fx-tasks select,.fx-tasks textarea{border:1px solid #d7e0ea;border-radius:10px;background:#fff;color:var(--ink);padding:9px 10px;font-size:16px;min-height:42px;min-width:0}.fx-add{position:sticky;top:0;z-index:2;background:var(--card);padding:6px 0 4px}.fx-add-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.fx-add-row[hidden],.fx-tasks [hidden]{display:none!important}.fx-add-kind{flex:0 0 74px}.fx-add-text{flex:1}.fx-add-est{flex:0 0 60px;width:60px}.fx-add-label{font-size:12px;color:var(--sub);white-space:nowrap}.fx-add-due{flex:1}.fx-tabs{display:flex;gap:6px;margin:6px 0 10px}.fx-tabs .fx-tab{flex:1;background:#f4f6f9;border-color:transparent;color:var(--sub)}.fx-tabs .fx-tab.on{background:var(--navy);color:#fff}.fx-list{display:flex;flex-direction:column;gap:8px}.fx-item{border:1px solid #e6ebf1;border-radius:14px;padding:11px 12px;background:#fbfcfd}.fx-item.is-active{border-color:#7cc4ab;background:#f0faf6;box-shadow:0 0 0 2px #7cc4ab33}.fx-item.is-overdue{border-color:#f0c483;background:#fff9ef}.fx-item.is-done .fx-item-text{text-decoration:line-through;opacity:.55}.fx-item-head{display:flex;gap:9px;align-items:flex-start;line-height:1.5}.fx-check{margin:1px 0 0!important;flex-shrink:0;accent-color:var(--teal);width:22px!important;height:22px;min-height:0!important;padding:0!important}.fx-tag{font-size:11px;border-radius:6px;padding:2px 6px;background:#dbeaf8;color:#285477;flex-shrink:0;margin-top:2px}.fx-tag.tag-reminder{background:#fff0cf;color:#866022}.fx-tag.tag-idea{background:#e6def6;color:#67518b}.fx-item-text{font-size:15.5px;overflow-wrap:anywhere;flex:1}.fx-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0 31px;font-size:12px;color:var(--sub)}.fx-badge{color:#1f7a5c;font-weight:700}.fx-due{color:#8a6420}.fx-item.is-overdue .fx-due{color:#c0562b;font-weight:700}.fx-dots{display:inline-flex;align-items:center;gap:3px}.fx-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid #e08b5a}.fx-dot.on{background:var(--tomato);border-color:var(--tomato)}.fx-dot.over{background:#c9a14f;border-color:#c9a14f}.fx-dots-text{margin-left:3px;color:#7a6a5a}.fx-item-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:8px}.fx-edit-meta{display:flex;gap:6px;margin-bottom:6px}.fx-edit-meta select{flex:0 0 84px}.fx-edit-text{display:block;width:100%;resize:vertical;min-height:64px}.fx-empty{color:#9aa8b7;font-size:13.5px;margin:10px 2px;text-align:center}.fx-list-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.fx-tasks button.fx-assignee{min-height:26px;padding:2px 10px;border-radius:99px;font-size:12px;background:var(--c, #1d3958);border-color:transparent;color:#fff}.fx-tasks button.fx-assignee.is-empty{background:transparent;border:1px dashed #c9d2dc;color:var(--sub)}
