.app-header{flex-shrink:0;height:var(--header-height);padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.theme-toggle{flex-shrink:0;width:36px;height:36px;padding:0;border-radius:8px;font-size:1.2rem;color:var(--text-muted);background:transparent;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.theme-toggle:hover{color:var(--accent);background:var(--surface-hover)}.brand{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem}.brand-logo{height:1.75rem;width:auto;object-fit:contain;flex-shrink:0}.brand-text{font-family:var(--font-mono);font-weight:600;font-size:1.25rem;letter-spacing:.08em;color:var(--accent)}.brand-tagline{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.1rem}.welcome-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:pointer}.welcome-popup{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem 2rem;text-align:center;box-shadow:0 8px 32px var(--overlay-shadow);max-width:320px;cursor:pointer}.welcome-popup-icon{display:block;font-size:3rem;line-height:1;margin-bottom:.75rem}.welcome-popup-title{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text)}.welcome-popup-device{margin:0 0 .75rem;font-size:1rem;color:var(--accent);font-weight:500}.welcome-popup-hint{margin:0;font-size:.75rem;color:var(--text-muted)}.goals-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem 4rem;overflow-y:auto}.goals-panel{width:100%;max-width:420px;background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:1.25rem;box-shadow:0 8px 32px var(--overlay-shadow)}.goals-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.goals-panel-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.close-btn{width:36px;height:36px;border-radius:8px;font-size:1.5rem;line-height:1;color:var(--text-muted)}.close-btn:hover{background:var(--surface-hover);color:var(--text)}.goals-list{display:flex;flex-direction:column;gap:.75rem}.goal-row label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.goal-row input{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.goal-row input::placeholder{color:var(--text-muted)}.goals-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.file-input-hidden{position:absolute;width:0;height:0;opacity:0}.import-excel-btn{width:100%;padding:.6rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.import-excel-btn:hover{background:var(--surface-hover);border-color:var(--accent-dim)}.day-tabs{flex-shrink:0;display:flex;gap:0;padding:0 .5rem;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto}.day-tab{flex:1;min-width:60px;padding:.75rem .5rem;font-size:.9rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent}.day-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.main{flex:1;min-height:0;overflow:auto;padding:1rem}.app-disclaimer{flex-shrink:0;padding:.5rem 1rem;font-size:.8rem;color:var(--text-muted);text-align:center;border-top:1px solid var(--border)}.day-view{display:flex;flex-direction:column;gap:1rem;max-width:480px;margin:0 auto}.day-mode-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.day-mode-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .6rem;border-radius:8px}.day-mode-planning{background:#5e35b140;color:var(--accent);border:1px solid var(--accent-dim)}.day-mode-execution{background:#2e7d3233;color:#81c784;border:1px solid rgba(46,125,50,.4)}.confirm-plan-btn{padding:.5rem 1rem;background:var(--accent);color:var(--text-on-accent);border:none;border-radius:8px;font-size:.9rem;font-weight:600}.confirm-plan-btn:hover{filter:brightness(1.1)}.edit-plan-btn{padding:.4rem .75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;font-size:.8rem}.edit-plan-btn:hover{color:var(--text);border-color:var(--text-muted)}.day-timeline{position:relative;min-height:400px}.time-ruler{position:absolute;left:0;top:0;width:52px;flex-shrink:0}.time-slot-line{position:absolute;left:0;right:0;height:1px;border-top:2px dashed var(--guide-dashed)}.time-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.timebox-column{position:absolute;left:56px;right:0;top:0;border-radius:10px;overflow:visible}.time-separator{position:absolute;left:0;right:0;height:1px;border-top:1px solid var(--guide-dashed);background:linear-gradient(90deg,transparent,var(--guide-dashed),transparent);pointer-events:none}.time-separator-label{position:absolute;top:-.55rem;left:4px;padding:0 .4rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.timebox-column-animated .timebox-block,.timebox-column-animated .timebox-gap{transition:top .25s ease-out,opacity .15s ease-out}.timebox-gap{position:absolute;left:0;right:0;pointer-events:none}.timebox-block{position:absolute;left:0;right:0;min-height:32px;border-radius:8px;background:var(--block-color);color:#fff;box-shadow:0 1px 3px #0000004d;cursor:grab;display:flex;align-items:center;padding:0 .5rem 0 .75rem;transition:box-shadow .15s;touch-action:none}.timebox-drag-capture{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;opacity:0;pointer-events:auto;touch-action:none}.timebox-block:active{cursor:grabbing}.timebox-block.timebox-block-lifted{opacity:0;pointer-events:none}.timebox-drag-preview{position:fixed;width:min(calc(100vw - 2rem),320px);min-height:32px;border-radius:10px;background:var(--block-color);color:#fff;box-shadow:var(--drag-preview-shadow);transform:translate(-50%,-50%) scale(1.05);will-change:transform;z-index:1000;display:flex;align-items:center;padding:0 .75rem 0 1rem;pointer-events:none;touch-action:none}.timebox-block-inner{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.timebox-block-label-wrap{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1}.timebox-label{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timebox-duration{font-size:.75rem;color:var(--duration-muted);flex-shrink:0}.timebox-block-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.timebox-block-arrows{display:flex;align-items:center;gap:2px}.timebox-block-composite{align-items:stretch}.timebox-block-composite .timebox-block-inner{height:100%}.timebox-block-composite .timebox-block-actions{align-self:stretch;gap:6px}.timebox-block-composite .timebox-block-arrows{flex-direction:column;height:100%;justify-content:space-between;gap:0;padding:10px 6px 10px 0;border-right:1px solid rgba(255,255,255,.12);margin-right:2px}.timebox-move-btn{width:26px;height:26px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;color:#ffffffe6;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#00000026;box-shadow:0 1px 2px #0003;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.timebox-move-btn:hover{background:#ffffff2e;color:#fff;box-shadow:0 1px 3px #00000040}.timebox-move-btn:active{background:#00000040;box-shadow:inset 0 1px 2px #0000004d}.timebox-block-menu-trigger{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;font-size:1.1rem;color:inherit;opacity:.9;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.timebox-block-menu-trigger:hover{background:#fff3}.timebox-block-menu{min-width:120px;min-height:24px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.25rem;box-shadow:0 4px 12px #0000004d}.timebox-block-menu-portal{z-index:1000}.timebox-split-boundary{position:absolute;left:0;right:0;height:12px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;cursor:default;transition:opacity .2s ease}.timebox-split-boundary:before{content:"";position:absolute;left:0;right:0;height:0;border-top:2px dotted var(--split-line);opacity:0;transition:opacity .2s ease;z-index:-1}.timebox-split-boundary-visible:before{opacity:.6}.timebox-split-btn{position:relative;width:24px;height:24px;border:none;border-radius:6px;background:var(--block-color);color:#fffffff2;box-shadow:0 1px 3px #0000004d;cursor:pointer;padding:0;opacity:0;transition:opacity .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center}.timebox-split-boundary-visible .timebox-split-btn{opacity:1}@media(hover:hover){.timebox-split-btn:hover{transform:scale(1.35);background:#fff3}}.timebox-merge-boundary{position:absolute;left:0;right:0;height:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:10}.timebox-column-merge-visible .timebox-merge-boundary{opacity:1;pointer-events:auto}.timebox-merge-btn{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);background:var(--surface);box-shadow:0 1px 3px #0000004d;cursor:pointer;padding:0}.timebox-merge-btn:hover{background:var(--surface-hover);border-color:var(--accent-dim)}.timebox-block-menu-placeholder{display:block;padding:.5rem .75rem;font-size:.85rem;color:var(--text-muted)}.timebox-menu-btn{flex-shrink:0;width:32px;height:32px;border-radius:6px;font-size:1.1rem;color:inherit;opacity:.9}.timebox-menu-btn:hover{background:#fff3}.timebox-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.25rem;z-index:20;box-shadow:0 4px 12px #0000004d}.timebox-menu button{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.9rem;color:var(--text);border-radius:6px}.timebox-menu button:hover{background:var(--surface-hover)}.timebox-menu button:first-child{color:var(--danger)}.add-timebox-btn{width:100%;padding:.9rem;background:var(--surface);border:2px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:.95rem;font-weight:500}.add-timebox-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.add-timebox-picker{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem}.add-timebox-picker p{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.type-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.type-chip{padding:.4rem .7rem;border-radius:20px;font-size:.8rem;border:2px solid;background:transparent;color:var(--text)}.type-chip:hover{opacity:.9;transform:scale(1.02)}.cancel-add{font-size:.85rem;color:var(--text-muted)}.cancel-add:hover{color:var(--text)}.app-wrap{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}@media(max-width:380px){.app-header{padding:0 .5rem;min-height:var(--header-height)}.brand-text{font-size:1rem;letter-spacing:.05em}.brand-tagline{font-size:.6rem;margin-top:0;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-tabs{padding:0 .25rem}.day-tab{min-width:0;padding:.4rem .25rem;font-size:.7rem}.main{padding:.5rem}.day-view{gap:.5rem;max-width:none}.day-timeline{min-height:0}.time-ruler{width:36px}.time-label{font-size:.55rem}.timebox-column{left:40px;border-radius:6px}.time-separator-label{font-size:.5rem;padding:0 .3rem}.timebox-block{min-height:24px;border-radius:6px;padding:0 .35rem 0 .5rem;cursor:default}.timebox-label{font-size:.7rem}.timebox-duration{font-size:.6rem}.timebox-move-btn{width:22px;height:22px;font-size:.85rem}.timebox-drag-preview{width:min(calc(100vw - 1rem),260px);min-height:24px;padding:0 .5rem}.watch-view .add-timebox-btn,.watch-view .add-timebox-picker{display:none!important}.day-view-watch{display:block;max-width:none}.watch-calendar-wrap{padding:.25rem 0;min-height:0}.watch-calendar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.watch-calendar-event{position:relative;display:flex;align-items:stretch;min-height:2.75rem;border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:0 1px 3px #0003}.watch-calendar-event-bar{width:4px;flex-shrink:0;background:var(--event-color);border-radius:12px 0 0 12px}.watch-calendar-event-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding:.5rem .6rem}.watch-calendar-event-time{font-size:.6rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.watch-calendar-event-title{font-size:.75rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.watch-calendar-empty-icon{font-size:1.5rem;opacity:.5;margin-bottom:.5rem}.watch-calendar-empty p{margin:0;font-size:.75rem;color:var(--text-muted)}.goals-overlay{padding:.5rem}.goals-panel{padding:.75rem;max-width:none}.goals-panel-header h2{font-size:.85rem}.goal-row input{font-size:.8rem;padding:.4rem .5rem}.welcome-popup-overlay{padding:.75rem}.welcome-popup{padding:1rem 1.25rem;border-radius:12px;max-width:none}.welcome-popup-icon{font-size:2.25rem;margin-bottom:.5rem}.welcome-popup-title{font-size:.95rem}.welcome-popup-device{font-size:.9rem;margin-bottom:.5rem}.welcome-popup-hint{font-size:.65rem}}.watch-view .timebox-block{cursor:default;touch-action:pan-y}@media(max-width:300px){.app-header{padding:0 .35rem}.brand-text{font-size:.85rem;letter-spacing:.03em}.brand-tagline{font-size:.55rem;max-width:50vw}.day-tab{padding:.3rem .2rem;font-size:.6rem}.main{padding:.35rem}.day-view{gap:.35rem}.time-ruler{width:28px}.time-label{font-size:.5rem}.timebox-column{left:32px;border-radius:4px}.time-separator-label{font-size:.45rem;padding:0 .25rem}.timebox-block{min-height:18px;border-radius:4px;padding:0 .25rem 0 .35rem}.timebox-label{font-size:.6rem}.timebox-duration{font-size:.5rem}.timebox-drag-preview{min-height:18px;padding:0 .4rem}.goals-panel{padding:.5rem}.goals-panel-header h2{font-size:.75rem}.goal-row label{font-size:.65rem}.goal-row input{font-size:.7rem;padding:.35rem .4rem}.watch-calendar-event{min-height:2.25rem;border-radius:10px}.watch-calendar-event-bar{width:3px;border-radius:10px 0 0 10px}.watch-calendar-event-body{padding:.35rem .5rem;gap:.1rem}.watch-calendar-event-time{font-size:.55rem}.watch-calendar-event-title{font-size:.65rem}.watch-calendar-empty{padding:1.25rem .5rem}.watch-calendar-empty-icon{font-size:1.25rem}.watch-calendar-empty p{font-size:.65rem}.welcome-popup{padding:.75rem 1rem;border-radius:10px}.welcome-popup-icon{font-size:1.75rem;margin-bottom:.35rem}.welcome-popup-title{font-size:.85rem}.welcome-popup-device{font-size:.8rem}.welcome-popup-hint{font-size:.6rem}}:root{--bg: #0f0f12;--surface: #16161b;--surface-hover: #1c1c23;--border: #2a2a32;--text: #e8e6e3;--text-muted: #8b8685;--accent: #c9a227;--accent-dim: #8a7422;--success: #4a7c59;--danger: #a84646;--slot-height: 48px;--header-height: 56px;--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--guide-dashed: rgba(255, 255, 255, .25);--guide-drop: rgba(255, 255, 255, .35);--guide-drop-bg: rgba(255, 255, 255, .06);--duration-muted: rgba(255, 255, 255, .75);--split-line: rgba(255, 255, 255, .4);--overlay-bg: rgba(0, 0, 0, .7);--overlay-shadow: rgba(0, 0, 0, .4);--text-on-accent: #1a1917;--drag-preview-shadow: 0 2px 4px rgba(0, 0, 0, .4), 0 6px 12px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .08)}[data-theme=light]{--bg: #f5f3ef;--surface: #faf8f5;--surface-hover: #ebe7e0;--border: #d4cfc4;--text: #1a1917;--text-muted: #5c5852;--accent: #a68520;--accent-dim: #7a6518;--success: #3d6b4a;--danger: #8f3a3a;--guide-dashed: rgba(0, 0, 0, .18);--guide-drop: rgba(0, 0, 0, .25);--guide-drop-bg: rgba(0, 0, 0, .04);--duration-muted: rgba(0, 0, 0, .6);--split-line: rgba(0, 0, 0, .35);--overlay-bg: rgba(0, 0, 0, .4);--overlay-shadow: rgba(0, 0, 0, .25);--text-on-accent: #f5f3ef;--drag-preview-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 6px 16px rgba(0, 0, 0, .2)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}#root{display:flex;flex-direction:column;max-width:100vw}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit}@supports (padding: env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:380px){:root{--slot-height: 28px;--header-height: 44px}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top)}}@media(max-width:300px){:root{--slot-height: 22px;--header-height: 36px}}
