:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#171923;background:#fff;font-scheme:light;--page-bg: #ffffff;--surface: #ffffff;--text: #171923;--muted: #6b7280;--border: #d9dce2;--soft-surface: #f4f5f9;--accent: #283247}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-bg);color:var(--text);transition:background-color .18s ease,color .18s ease}body.light-mode{--page-bg: #ffffff;--surface: #ffffff;--text: #171923;--muted: #6b7280;--border: #d9dce2;--soft-surface: #f4f5f9;--accent: #283247}body.dark-mode{color-scheme:dark;--page-bg: #17191f;--surface: #20232b;--text: #f2f3f6;--muted: #b3bac6;--border: #414650;--soft-surface: #292d36;--accent: #e4e9f2}#root{width:100%;min-height:100vh}.app-shell{width:min(100%,760px);margin:0 auto;padding:18px clamp(14px,4vw,28px) 32px}.reading-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:1.5rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--soft-surface);color:var(--text);cursor:pointer;transition:transform .14s ease,background-color .18s ease}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle:focus-visible,.date-picker-trigger:focus-visible,.calendar-nav:focus-visible,.calendar-day:focus-visible{outline:3px solid #7c91c9;outline-offset:3px}.theme-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reading-toolbar .date-picker{flex:0 1 360px;width:100%;margin-bottom:0}.monthly-theme{margin:0 0 1rem;color:var(--muted);font-size:.9rem}.monthly-theme span{font-weight:500}.copy-button{margin-top:.5rem;padding:.2rem .55rem;border:1px solid #888;border-radius:3px;background:var(--soft-surface);color:var(--text);font:inherit;font-size:.9rem;line-height:1.3;cursor:pointer}.copy-button:hover{filter:brightness(.96)}.copy-button:focus-visible{outline:3px solid #7c91c9;outline-offset:2px}.date-picker{position:relative;display:inline-block;width:min(100%,360px);margin-bottom:1rem}.date-picker-trigger{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--soft-surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 2px #0000000a}.date-picker-trigger span{flex:1;font-weight:500}.calendar-icon,.calendar-small-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calendar-icon{width:25px;height:25px}.calendar-small-icon{width:18px;height:18px;opacity:.55}.calendar-popover{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(320px,calc(100vw - 32px));padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 12px 35px #00000029}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-heading strong{font-size:1rem}.calendar-nav{width:34px;height:34px;border:0;border-radius:9px;background:var(--soft-surface);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-size:.78rem;font-weight:600}.calendar-weekdays span{padding:5px 0}.calendar-day{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.calendar-day:hover{background:var(--soft-surface)}.calendar-day.selected{background:#283247;color:#fff;font-weight:700}body.dark-mode .calendar-day.selected{background:#dce4f4;color:#171923}.calendar-empty{aspect-ratio:1}.calendar-today{display:block;margin:12px 0 0 auto;padding:6px 10px;border:0;border-radius:8px;background:var(--soft-surface);color:var(--text);font:inherit;font-size:.875rem;cursor:pointer}a{color:inherit}button{font-family:inherit}@media(max-width:480px){.app-shell{padding:12px 14px 28px}.reading-toolbar{gap:8px;margin-bottom:1.25rem}.theme-toggle{flex:0 0 44px}.date-picker-trigger{min-height:54px}}
