:root{--bg: #0c0d10;--text: #f1f2f5;--muted: #a3a9b4;--accent: #f2b33d;--accent-ink: #1a1306;--danger: #ff6b5e;--shoot: #f2b33d;--post: #5cb8ff;--event: #c69aff;--task: #5ad690;--radius: 18px;--panel: rgb(255 255 255 / .065);--panel-2: rgb(255 255 255 / .075);--line: rgb(255 255 255 / .09);--edge: inset 0 1px 0 rgb(255 255 255 / .1), inset 0 0 0 1px rgb(255 255 255 / .06);--glass: rgb(28 30 36 / .72);--glass-strong: rgb(24 26 31 / .78);--glass-blur: blur(22px) saturate(180%);--glass-edge: inset 0 1px 0 rgb(255 255 255 / .22), inset 0 -1px 0 rgb(255 255 255 / .05), inset 0 0 0 1px rgb(255 255 255 / .08);--glass-shadow: 0 10px 30px rgb(0 0 0 / .4), 0 1px 3px rgb(0 0 0 / .3);--lens: rgb(255 255 255 / .13);--ambient-1: rgb(242 179 61 / .22);--ambient-2: rgb(92 184 255 / .16);--ambient-3: rgb(198 154 255 / .12);--spring: cubic-bezier(.2, .9, .25, 1);--spring-dur: .42s;--spring-soft: cubic-bezier(.25, .8, .25, 1);--spring-soft-dur: .6s;--spring-bouncy: cubic-bezier(.34, 1.4, .5, 1);--spring-bouncy-dur: .48s;color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #eef0f3;--text: #121316;--muted: #5b616b;--accent: #8a5a00;--accent-ink: #ffffff;--post: #0a6fc2;--danger: #d23b2e;--panel: rgb(255 255 255 / .62);--panel-2: rgb(255 255 255 / .7);--line: rgb(0 0 0 / .08);--edge: inset 0 1px 0 rgb(255 255 255 / .9), inset 0 0 0 1px rgb(0 0 0 / .05);--glass: rgb(250 250 252 / .74);--glass-strong: rgb(250 250 252 / .86);--glass-edge: inset 0 1px 0 rgb(255 255 255 / .95), inset 0 0 0 1px rgb(0 0 0 / .07);--glass-shadow: 0 10px 30px rgb(0 0 0 / .12), 0 1px 3px rgb(0 0 0 / .1);--lens: rgb(0 0 0 / .07);--ambient-1: rgb(242 179 61 / .3);--ambient-2: rgb(92 184 255 / .22);--ambient-3: rgb(198 154 255 / .18);color-scheme:light}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;background:transparent;color:var(--text)}body{font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-1;pointer-events:none;background:radial-gradient(40% 35% at 15% 10%,var(--ambient-1),transparent 70%),radial-gradient(45% 40% at 90% 55%,var(--ambient-2),transparent 70%),radial-gradient(40% 35% at 25% 95%,var(--ambient-3),transparent 70%)}a{color:var(--post);text-decoration:none}h1{font-size:1.75rem;font-weight:750;letter-spacing:-.02em;margin:0}h2{font-size:.8rem;font-weight:650;margin:0;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-height:44px;transition:background-color .2s ease,border-color .2s ease}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input.big{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;background:transparent;border-color:transparent;padding-left:0}input.big:focus{border-color:var(--line);padding-left:12px}input.overdue{color:var(--danger)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;min-height:0;padding:0;flex:none;margin:0;border-radius:50%;border:2px solid var(--muted);background:transparent;position:relative;cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),background-color .16s ease,border-color .16s ease}input[type=checkbox]:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--accent-ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);opacity:0;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),opacity .12s ease}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{transform:rotate(45deg) scale(1);opacity:1}input[type=checkbox]:active{transform:scale(.85)}input[type=checkbox]:focus{outline:2px solid var(--accent);outline-offset:2px}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:10px 18px;min-height:44px;font-weight:650;cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),background-color .16s ease,opacity .16s ease}button:active:not(:disabled){transform:scale(.95);transition-duration:90ms;transition-timing-function:ease-out}button:disabled{opacity:.4;cursor:default}button.ghost{background:transparent;color:var(--text);font-weight:500;padding:8px 12px}button.ghost.danger{color:var(--danger)}button.ghost.x{color:var(--muted);font-size:1.3rem;padding:4px 10px;min-height:36px}button.link{background:none;color:var(--post);padding:0;min-height:0;font-weight:500;text-align:left;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:16px 0}.grow{flex:1}.center{display:grid;place-items:center;min-height:100vh}main{max-width:720px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 112px);overflow-x:clip}.screen.wide{max-width:none}main:has(.screen.wide){max-width:1400px}.view{will-change:auto}.view.push{animation:push-in var(--spring-dur) var(--spring) both}.view.pop{animation:pop-in var(--spring-dur) var(--spring) both}.view.fade{animation:fade-in .26s cubic-bezier(.2,.8,.2,1) both}@keyframes push-in{0%{transform:translate(32%);opacity:0}to{transform:none;opacity:1}}@keyframes pop-in{0%{transform:translate(-22%);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{transform:translateY(6px) scale(.995);opacity:0}to{transform:none;opacity:1}}.hello{margin-bottom:10px}.hello p{margin:4px 0 0}.section{background:var(--panel);box-shadow:var(--edge);border-radius:var(--radius);padding:16px;margin:14px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section-head button{min-height:34px;padding:6px 14px}ul.plain,ul.tasks{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row>a,.row>.link{flex:1;overflow-wrap:anywhere}.row input:not([type=checkbox]){flex:1}.row.done span{text-decoration:line-through;color:var(--muted)}.item{display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin:6px 0;border-radius:14px;background:var(--panel-2);box-shadow:var(--edge);cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy)}.item:active{transform:scale(.98);transition-duration:90ms}.item.late{box-shadow:var(--edge),inset 3px 0 0 var(--danger)}.item-title{font-weight:600}.late-text{color:var(--danger)}.task{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task>input[type=checkbox]{margin-top:10px}.task-body{flex:1;min-width:0;transition:opacity .24s ease}.task-body>input{background:transparent;border-color:transparent;padding-left:0;min-height:40px}.task-body>input:focus{border-color:var(--line);padding-left:10px}.task-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.task-meta select,.task-meta input{width:auto;min-height:34px;padding:4px 10px;font-size:.85rem;border-radius:999px}.task.done .task-body{opacity:.55}.task.done .task-body>input{text-decoration:line-through}.chip{font-size:.8rem;padding:4px 10px;border-radius:999px;background:var(--panel-2);box-shadow:var(--edge)}.add-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.add-row input{flex:1 1 160px;width:auto}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.btn-row button{flex:1 1 auto}.btn-row:empty{display:none}.field{display:flex;flex-direction:column;gap:4px;margin:6px 0}.field>span{font-size:.8rem;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width: 420px){.grid2{grid-template-columns:1fr}}.page-head{display:flex;align-items:center;justify-content:space-between;margin:-6px -10px 6px}.status-row{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px}.pill{background:var(--panel-2);color:var(--text);box-shadow:var(--edge);border-radius:999px;padding:6px 14px;min-height:36px;font-weight:500;white-space:nowrap;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),background-color .2s ease,color .2s ease}.pill.on{background:var(--accent);color:var(--accent-ink)}.seg{display:inline-flex;background:var(--panel);box-shadow:var(--edge);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{background:transparent;color:var(--text);font-weight:500;min-height:36px;padding:6px 14px;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),background-color .22s ease,box-shadow .22s ease}.seg button.on{background:var(--lens);box-shadow:var(--glass-edge),0 1px 4px #00000040;font-weight:650}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filters select{width:auto;border-radius:999px}.check{display:flex;gap:8px;align-items:center;color:var(--muted)}.week-strip{display:flex;gap:6px;overflow-x:auto;padding:2px;scroll-snap-type:x proximity}.week-strip .day{flex:0 0 104px;background:var(--panel-2);box-shadow:var(--edge);border-radius:12px;padding:8px;font-size:.8rem;min-height:64px;scroll-snap-align:start}.week-strip .day b{display:block;font-size:.75rem;margin-bottom:2px}.week-strip .day.today{box-shadow:var(--edge),inset 0 0 0 2px var(--accent)}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}.col{flex:0 0 min(82vw,280px);background:var(--panel);box-shadow:var(--edge);border-radius:var(--radius);padding:10px;scroll-snap-align:start;min-height:200px;transition:box-shadow .2s ease}.col.over{box-shadow:var(--edge),inset 0 0 0 2px var(--accent)}.col-head{display:flex;justify-content:space-between;margin:2px 4px 8px}.col .add-row{margin:0 0 8px}.card{background:var(--panel-2);box-shadow:var(--edge);border-radius:14px;padding:12px;margin-bottom:8px;cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy)}.card:active{transform:scale(.98);transition-duration:90ms}.card-title{font-weight:600;margin-bottom:2px}.card-move{margin-top:8px;min-height:32px;padding:4px 10px;font-size:.8rem;width:auto;border-radius:999px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head button{font-size:1.6rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.75rem;color:var(--muted);padding:4px 0}.cal-cell{background:var(--panel);box-shadow:var(--edge);color:var(--text);border-radius:12px;min-height:52px;padding:4px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:4px}.cal-cell.out{opacity:.4}.cal-cell.today .num{background:var(--accent);color:var(--accent-ink);font-weight:800;border-radius:999px;padding:0 7px}.cal-cell.picked{box-shadow:var(--glass-edge),inset 0 0 0 2px var(--accent);background:var(--lens)}.dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.dot.shoot{background:var(--shoot)}.dot.post{background:var(--post)}.dot.event{background:var(--event)}.dot.task{background:var(--task)}.legend{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.legend span{display:inline-flex;align-items:center;gap:4px}.history li{padding:4px 0;font-size:.9rem}.upload{display:block;margin-top:10px}.upload input{display:none}.upload span{display:inline-block;padding:10px 16px;border:1px dashed var(--line);border-radius:999px;color:var(--muted);cursor:pointer}.glass,.tabs,.fab,.sheet,.banner{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.tabs{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 8px);max-width:560px;margin:0 auto;display:flex;padding:4px;z-index:10;border-radius:999px;background:var(--glass);box-shadow:var(--glass-edge),var(--glass-shadow);isolation:isolate}.tabs:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/5);border-radius:999px;background:var(--lens);box-shadow:var(--glass-edge);transform:translate(calc(var(--i, 0) * 100%));transition:transform var(--spring-dur) var(--spring),opacity .2s ease}.tabs.none:before{opacity:0}.tabs button{flex:1;background:none;color:var(--muted);font-size:.75rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0;min-height:52px;border-radius:999px;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),color .2s ease}.tabs button .ico{font-size:1.3rem;line-height:1.1;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy)}.tabs button.on{color:var(--accent)}.tabs button.on .ico{transform:scale(1.08)}.fab{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 80px);width:56px;height:56px;border-radius:50%;font-size:1.5rem;padding:0;z-index:11;color:var(--text);background:var(--glass);box-shadow:var(--glass-edge),var(--glass-shadow);animation:fab-in var(--spring-bouncy-dur) var(--spring-bouncy) both}@keyframes fab-in{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;display:flex;align-items:flex-end;z-index:20;animation:back-in .24s ease-out both}@keyframes back-in{0%{background-color:#0000}to{background-color:#00000061}}.sheet{width:calc(100% - 16px);max-width:560px;margin:0 auto calc(env(safe-area-inset-bottom) + 8px);background:var(--glass-strong);box-shadow:var(--glass-edge),var(--glass-shadow);border-radius:30px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:12px;animation:sheet-in var(--spring-dur) var(--spring) both}.sheet:before{content:"";align-self:center;width:36px;height:5px;border-radius:3px;background:var(--muted);opacity:.5;margin:-10px 0 2px}@keyframes sheet-in{0%{transform:translateY(105%)}to{transform:none}}.banner{position:sticky;top:0;z-index:30;background:#d23228d1;color:#fff;padding:10px 16px;cursor:pointer;animation:banner-in var(--spring-dur) var(--spring) both}@keyframes banner-in{0%{transform:translateY(-100%)}to{transform:none}}.login{max-width:380px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);text-align:center}.login>*{animation:rise-in var(--spring-dur) var(--spring) both}.login>:nth-child(2){animation-delay:50ms}.login>:nth-child(3){animation-delay:.1s}.login>:nth-child(4){animation-delay:.15s}.login>:nth-child(n+5){animation-delay:.2s}@keyframes rise-in{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.login form{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:24px;background:var(--panel);box-shadow:var(--edge)}.login form button{margin-top:4px}.login .logo{font-size:3rem;font-weight:800;letter-spacing:-.03em;color:var(--accent);text-shadow:0 0 28px rgb(242 179 61 / .35)}.login .note{color:var(--muted)}.login p{margin:0}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.tabs,.fab{background:var(--glass-strong)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}.view.push,.view.pop,.view.fade,.sheet,.banner,.fab,.login>*{animation:fade-only .16s ease-out both!important;animation-delay:0ms!important}@keyframes fade-only{0%{opacity:0}to{opacity:1}}button:active:not(:disabled),.item:active,.card:active,input[type=checkbox]:active{transform:none}}
