:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f3f3f6;--text: #1f1f1f;--text-2: #5e5f66;--text-3: #a6a7ad;--line: #ececef;--accent: #d6336c;--on-accent: #ffffff;--accent-weak: #fde7ef;--on-accent-weak: #8a1c46;--yellow: #ffd43b;--on-yellow: #3d2e00;--danger: #b3261e;--scrim: rgba(20, 10, 15, .32);--shadow: 0 6px 24px rgba(0, 0, 0, .12);--sun: #c2405a;--sat: #3e5fb0;--skip-bg: #f2f2f4;--c0-bg: #fce4ec;--c0-fg: #8a1c46;--c1-bg: #fff3c4;--c1-fg: #5e4a00;--c2-bg: #e2f3d6;--c2-fg: #2f5a16;--c3-bg: #dcefFA;--c3-fg: #0d5272;--c4-bg: #ece6fb;--c4-fg: #4b3592;--c5-bg: #ffe5d6;--c5-fg: #8a3b12;--c6-bg: #d7f3ea;--c6-fg: #11604a;--c7-bg: #ecedef;--c7-fg: #3e4147;--radius: 16px;--gutter: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--ease: cubic-bezier(.2, 0, 0, 1);--ease-in: cubic-bezier(.05, .7, .1, 1);--ease-out: cubic-bezier(.3, 0, .8, .15);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #141316;--surface: #201e22;--surface-2: #2b292d;--text: #ece7ea;--text-2: #b0aab0;--text-3: #6a656b;--line: #2b282c;--accent: #ff8ab3;--on-accent: #4a0b24;--accent-weak: #4a1e30;--on-accent-weak: #ffd9e5;--yellow: #ffd95a;--on-yellow: #3d2e00;--danger: #ff9a9a;--scrim: rgba(0, 0, 0, .55);--shadow: 0 6px 24px rgba(0, 0, 0, .5);--sun: #f0a0b0;--sat: #9db4ec;--skip-bg: #262427;--c0-bg: #4a1e30;--c0-fg: #ffd9e5;--c1-bg: #3d3415;--c1-fg: #ffe9a0;--c2-bg: #233620;--c2-fg: #cbebb5;--c3-bg: #17323f;--c3-fg: #bde3f7;--c4-bg: #2d2642;--c4-fg: #dcd1fa;--c5-bg: #43281c;--c5-fg: #ffd3bc;--c6-bg: #173a31;--c6-fg: #b5ebd9;--c7-bg: #2c2d31;--c7-fg: #d5d7dc}}.col-0{--cbg: var(--c0-bg);--cfg: var(--c0-fg)}.col-1{--cbg: var(--c1-bg);--cfg: var(--c1-fg)}.col-2{--cbg: var(--c2-bg);--cfg: var(--c2-fg)}.col-3{--cbg: var(--c3-bg);--cfg: var(--c3-fg)}.col-4{--cbg: var(--c4-bg);--cfg: var(--c4-fg)}.col-5{--cbg: var(--c5-bg);--cfg: var(--c5-fg)}.col-6{--cbg: var(--c6-bg);--cfg: var(--c6-fg)}.col-7{--cbg: var(--c7-bg);--cfg: var(--c7-fg)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;user-select:none;-webkit-user-select:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.spacer{flex:1}#app{height:100%}.app{height:100%;display:flex;flex-direction:column;padding-top:var(--safe-top)}.topbar{display:flex;align-items:center;gap:2px;height:60px;flex:none;padding:0 max(6px,env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left))}.month{font-size:22px;font-weight:600}.today-icon{width:22px;height:22px;border:2px solid currentColor;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;line-height:1}.layout{flex:1;min-height:0;display:flex;flex-direction:column}.cal{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:var(--safe-bottom);user-select:none;-webkit-user-select:none}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:500;color:var(--text-2);padding:2px 0 4px}.cal-weekdays .sun{color:var(--sun)}.cal-weekdays .sat{color:var(--sat)}.cal-viewport{flex:1;min-height:0;overflow:hidden;touch-action:none}.cal-track{display:flex;width:300%;height:100%;will-change:transform}.cal-pane{width:calc(100% / 3);flex:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr))}.day{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:4px 2px 0;min-width:0;overflow:hidden;border-top:1px solid var(--line);border-right:1px solid var(--line);text-align:left}.day:nth-child(7n){border-right:0}.day.outside>*{opacity:.5}.day .num{align-self:center;width:26px;height:26px;line-height:26px;border-radius:13px;text-align:center;font-size:12px;font-weight:500;margin-bottom:1px;font-variant-numeric:tabular-nums;transition:background-color .2s var(--ease),color .2s var(--ease)}.day.selected .num{background:var(--accent-weak);color:var(--on-accent-weak);font-weight:700}.day.today .num{background:var(--accent);color:var(--on-accent);font-weight:700}.day:active .num{background:var(--surface-2)}.day.today:active .num{opacity:.85;background:var(--accent)}.chip-ev{display:block;height:17px;line-height:17px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--cbg);color:var(--cfg)}.chip-ev.vol{background:transparent;border:1.5px solid var(--cfg);line-height:14px}.chip-ev.skip{background:var(--skip-bg);color:var(--text-3);text-decoration:line-through}.chip-more{font-size:10px;padding-left:4px;color:var(--text-2)}.icon-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:22px;color:var(--text-2);transition:background-color .15s var(--ease)}.icon-btn:active{background:var(--surface-2)}.btn-pink,.btn-yellow,.btn-outline{min-height:40px;padding:0 20px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;white-space:nowrap;transition:transform .12s var(--ease),opacity .12s var(--ease)}.btn-pink{background:var(--accent);color:var(--on-accent)}.btn-yellow{background:var(--yellow);color:var(--on-yellow);border-radius:12px;min-height:44px;padding:0 16px;font-size:14px}.btn-outline{border:1px solid var(--line);color:var(--text)}.btn-pink.small{min-height:38px;min-width:64px;padding:0 16px;font-size:14px}.btn-pink.block,.btn-outline.block{display:flex;width:100%;min-height:52px;border-radius:26px;font-size:17px}.btn-pink:active,.btn-yellow:active,.btn-outline:active{transform:scale(.97);opacity:.85}.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(24px + var(--safe-bottom));width:56px;height:56px;border-radius:16px;background:var(--yellow);color:var(--on-yellow);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;z-index:10;transition:transform .25s var(--ease)}.fab:active{transform:scale(.92)}.fab.hidden{transform:scale(0);transition:transform .15s var(--ease-out)}.link{color:var(--accent);font-size:14px;font-weight:700;padding:6px 0;margin-left:10px}.link:active,.text-btn:active,.row:active{opacity:.55}.text-btn{min-height:44px;padding:0 4px;color:var(--accent);font-size:16px}.text-btn.strong{font-weight:700}.text-btn.danger{color:var(--danger)}.badge-yellow{flex:none;font-size:12px;font-weight:700;padding:2px 10px;border-radius:10px;background:var(--yellow);color:var(--on-yellow)}.color-sq{flex:none;width:14px;height:14px;border-radius:4px;background:var(--cfg, var(--text-3))}.color-sq.lg{width:18px;height:18px;border-radius:5px}.color-sq.outline{background:transparent;border:2px solid var(--cfg)}.color-sq.gray{background:var(--text-3)}.sheet-root{position:fixed;inset:0;z-index:100}.sheet-backdrop{position:absolute;inset:0;background:var(--scrim);opacity:0}.sheet{position:absolute;left:0;right:0;bottom:0;height:calc(100% - var(--safe-top) - 8px);display:flex;flex-direction:column;background:var(--surface);border-radius:28px 28px 0 0;box-shadow:var(--shadow);transform:translate3d(0,100%,0);will-change:transform}.sheet.half .sheet-body{overflow:hidden}.sheet-grip{display:flex;justify-content:center;padding:12px 0 4px;flex:none}.sheet-grip span{width:32px;height:4px;border-radius:2px;background:var(--text-3)}.sheet-toolbar{display:flex;align-items:center;gap:2px;padding:0 12px 0 8px;min-height:52px;flex:none}.sheet-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);flex:none}.sheet-header h2{font-size:17px;font-weight:700}.sheet-header-side.right{text-align:right}.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 24px calc(28px + var(--safe-bottom))}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.day-head{gap:10px;padding-left:24px}.day-head h2{font-size:20px;font-weight:700}.rel{font-size:13px;font-weight:600;color:var(--accent)}.day-body{padding-left:12px;padding-right:12px}.day-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.day-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border-radius:var(--radius)}.day-item.skipped .day-item-main{opacity:.5}.day-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:14px;text-align:left;min-height:48px}.day-item-text{min-width:0;display:flex;flex-direction:column;gap:2px}.day-item-title{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-item-sub{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swipe-row{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.swipe-action{position:absolute;right:0;top:0;bottom:0;font-size:13px;font-weight:700;color:var(--text-2);white-space:pre-line;line-height:1.3}.swipe-content{position:relative;touch-action:pan-y;will-change:transform}.center-hint{text-align:center;margin-top:14px}.empty{padding:24px 0;text-align:center;color:var(--text-2);display:flex;flex-direction:column;gap:8px;align-items:center}.empty .link{margin-left:0}.hint{font-size:12px;color:var(--text-3)}.detail-head{display:flex;gap:16px;align-items:flex-start;margin:4px 0 20px}.detail-head .color-sq{margin-top:8px}.detail-head-text{min-width:0;display:flex;flex-direction:column;gap:4px}.detail-title{font-size:24px;font-weight:700;line-height:1.3;word-break:break-word}.read-links{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.info-row{display:flex;align-items:center;gap:18px;min-height:52px;padding:10px 0;width:100%;text-align:left}.info-row>svg{flex:none;color:var(--text-2)}.info-row.as-button:active{opacity:.6}.info-row.bordered{border-top:1px solid var(--line)}.info-row.muted{color:var(--text-2)}.info-row textarea,.grow{flex:1}.chevron{display:inline-flex;color:var(--text-2);transition:transform .25s var(--ease)}.chevron.up{transform:rotate(180deg)}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}.collapse.open{grid-template-rows:1fr}.collapse>div{overflow:hidden;min-height:0}.vol-list{display:flex;flex-direction:column;gap:6px;padding:0 0 12px 40px}.vol-row{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;background:var(--surface-2);font-size:14px}.vol-list .link{align-self:flex-start;margin-left:4px}.memo{white-space:pre-wrap}.menu-anchor{position:relative}.menu{position:absolute;right:0;top:46px;z-index:5;min-width:220px;padding:8px 0;border-radius:12px;display:flex;flex-direction:column;background:var(--surface);box-shadow:0 6px 24px #0003;transform-origin:top right;transform:scale(.85);opacity:0;pointer-events:none;transition:transform .2s var(--ease),opacity .15s var(--ease)}.menu.open{transform:scale(1);opacity:1;pointer-events:auto}.menu button{min-height:48px;padding:0 16px;text-align:left;font-size:15px}.menu button:active{background:var(--surface-2)}.menu .danger{color:var(--danger)}.form{display:contents}.form-body{padding-top:4px}.url-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.url-row input{flex:1;min-width:0}.title-row{display:flex;align-items:center;gap:14px;margin-top:14px}.title-input{flex:1;min-width:0;border:0!important;background:transparent!important;padding:0!important;font-size:22px!important;font-weight:700;min-height:40px!important}.auto-note{margin:2px 0 12px 32px;font-size:12px;color:var(--text-2)}.auto-note .link{font-size:12px}.sched-panel{display:flex;flex-direction:column;gap:14px;padding:2px 0 16px 40px}.choices{display:flex;flex-wrap:wrap;gap:6px}.choice{height:34px;padding:0 14px;border-radius:10px;border:1px solid var(--line);color:var(--text-2);font-size:14px;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease)}.choice.on{background:var(--accent-weak);border-color:var(--accent-weak);color:var(--on-accent-weak);font-weight:700}.wd-row{display:flex;justify-content:space-between}.wd{width:36px;height:36px;border-radius:18px;border:1px solid var(--line);color:var(--text-2);font-size:13px;font-weight:700;transition:background-color .15s var(--ease),color .15s var(--ease)}.wd.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}input[type=text],input[type=url],input[type=number],input[type=date],input[type=time],select,textarea{width:100%;min-height:44px;padding:10px 14px;border-radius:12px;border:1px solid transparent;background:var(--surface-2);font-size:16px;outline:none;-webkit-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}.inline{display:flex;align-items:center;gap:10px}.inline.wrap{flex-wrap:wrap}.inline.between{justify-content:space-between;font-size:14px}.inline input,.inline select{width:auto;flex:none}.dates{display:flex;flex-direction:column;gap:8px}.dates .link{align-self:flex-start;margin-left:0}.thumb{flex:none;border-radius:6px;object-fit:cover;background:var(--surface-2)}.error{color:var(--danger);font-size:14px;margin:12px 0}.field{margin-bottom:20px}.label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px}.muted{color:var(--text-2)}.small{font-size:13px}.center{text-align:center;margin-top:24px}.tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:6px;background:var(--surface-2);color:var(--text-2);align-self:flex-start}.chip{min-height:34px;padding:0 14px;border-radius:10px;background:var(--surface-2);font-size:14px;font-weight:600;white-space:nowrap}.chip:active{opacity:.6}.segmented{display:flex;padding:3px;border-radius:12px;background:var(--surface-2)}.segmented button{flex:1;min-height:36px;border-radius:9px;font-size:14px;font-weight:600;color:var(--text-2);transition:background-color .15s var(--ease)}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.rows{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.row{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;width:100%;cursor:pointer}.row.static{cursor:default}.rows>*+*{border-top:1px solid var(--line)}.danger-zone{display:flex;flex-direction:column;gap:4px;margin-top:8px}.plain-btn{min-height:46px;color:var(--accent)}.plain-btn.danger{color:var(--danger)}.read-btn{min-height:50px;border-radius:25px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;width:100%}.read-btn.primary{background:var(--accent);color:var(--on-accent)}button:disabled{opacity:.5}.status-line{margin-bottom:8px}.pair{margin-top:10px}.pair-actions{display:flex;gap:8px;justify-content:flex-start}.pair-box{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius);background:var(--surface-2)}.pair-box .pair-actions{justify-content:space-between}.pair-code{font-size:34px;font-weight:700;letter-spacing:.12em;text-align:center;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}.notice{padding:12px 14px;border-radius:var(--radius);background:var(--accent-weak);color:var(--on-accent-weak);font-size:14px}.notice ol{margin:6px 0 0;padding-left:20px}.switch{appearance:none;-webkit-appearance:none;width:50px;height:30px;border-radius:15px;background:var(--text-3);position:relative;transition:background-color .2s var(--ease);flex:none;margin:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s var(--ease)}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(20px)}@media (min-width: 700px){:root{--gutter: 24px}.chip-ev{font-size:12px;height:20px;line-height:20px}.chip-ev.vol{line-height:17px}.sheet-root.wide{display:flex;justify-content:center;align-items:center}.sheet-root.wide .sheet-backdrop{opacity:1;animation:fade-in .3s var(--ease)}.sheet-root.wide .sheet{position:relative;left:auto;right:auto;bottom:auto;height:auto;transform:none;width:min(560px,calc(100% - 48px));max-height:min(820px,calc(100% - 80px));border-radius:28px;animation:modal-in .3s var(--ease-in)}.sheet-root.wide.closing .sheet-backdrop{animation:fade-out .18s var(--ease-out) forwards}.sheet-root.wide.closing .sheet{animation:modal-out .18s var(--ease-out) forwards}.sheet-root.wide .sheet-grip{visibility:hidden;padding-top:4px}}@keyframes modal-in{0%{opacity:0;transform:scale(.94)}}@keyframes modal-out{to{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
