:root{color:#17201b;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,.display-link{align-items:center;background:#285f50;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:.5rem;justify-content:center;min-height:44px;padding:.75rem 1rem;text-decoration:none}button.secondary{background:#d8ded2;color:#17201b}button.reset-button{background:#b3261e;color:#fff}.display-shell{display:grid;gap:.9rem;grid-template-rows:auto auto 1fr auto;min-height:100vh;padding:clamp(1rem,2vw,2rem)}.display-header{align-items:start;display:flex;justify-content:space-between;gap:1rem}.display-header-actions{align-items:end;display:grid;gap:.5rem;justify-items:end}.display-header h1,.admin-header h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:0}.display-header time{color:#285f50;font-size:clamp(1.8rem,4vw,4rem);font-weight:900;white-space:nowrap}.eyebrow,.state-label{color:#597068;font-size:clamp(.9rem,1.6vw,1.4rem);font-weight:900;letter-spacing:0;margin:0 0 .5rem;text-transform:uppercase}.task-icon{align-items:center;aspect-ratio:1;background:#e0efe7;border:3px solid #285f50;border-radius:8px;color:#285f50;display:grid;justify-items:center}.task-icon svg{height:55%;width:55%}.done-line{font-size:clamp(1.2rem,2vw,2rem);font-weight:800}.badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.badge-row span{background:#f1d37a;border:2px solid #7a6430;border-radius:8px;color:#332912;font-size:clamp(.85rem,1.5vw,1.15rem);font-weight:900;padding:.35rem .6rem}.badge-row span.done-badge{background:#dbe9df;border-color:#285f50;color:#285f50}.child-done-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.kid-tracks{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}.kid-track{background:#fffdf8;border:3px solid #d8ded2;border-radius:8px;display:grid;gap:.75rem;grid-template-rows:auto auto auto auto 1fr;padding:1rem;min-height:0}.kid-track.waiting{background:#f7f4ec}.kid-track header{align-items:center;display:flex;justify-content:space-between;gap:.75rem}.kid-track h2{font-size:clamp(1.7rem,2.7vw,3rem);line-height:1;margin:0}.kid-track header span{color:#285f50;font-size:clamp(1rem,2vw,1.8rem);font-weight:950}.kid-task-line{align-items:center;display:grid;gap:.75rem;grid-template-columns:58px 1fr;min-height:70px}.kid-task-line p{font-size:clamp(1.15rem,1.8vw,1.8rem);font-weight:950;line-height:1;margin:0}.kid-task-line small{color:#597068;font-weight:900}.mini-task-list{display:grid;gap:.45rem;min-height:0}.mini-task{align-items:center;background:#f3f0e9;border:2px solid #d8ded2;border-radius:8px;display:grid;gap:.55rem;grid-template-columns:34px 1fr;min-height:44px;padding:.35rem .5rem}.mini-task span{align-items:center;aspect-ratio:1;background:#d8ded2;border-radius:999px;display:grid;font-weight:950;justify-items:center}.mini-task p{font-size:clamp(.88rem,1.2vw,1.05rem);font-weight:900;line-height:1;margin:0}.mini-task.mini-current{border-color:#c33f2f}.mini-task.mini-current span{background:#c33f2f;color:#fff}.mini-task.mini-done{border-color:#285f50}.mini-task.mini-done span{background:#285f50;color:#fff}.kid-free-time{background:#e0efe7;border:2px solid #285f50;border-radius:8px;color:#285f50;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:950;padding:.5rem .7rem;text-align:center}.display-unlock{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:minmax(120px,220px) auto;margin-top:1rem;max-width:420px}.hold-button{background:#fffdf8;border:3px solid #285f50;color:#17201b;min-height:clamp(88px,11vw,140px);overflow:hidden;padding:0;position:relative;touch-action:manipulation;-webkit-user-select:none;user-select:none}.hold-button.complete{border-color:#285f50;color:#285f50}.hold-button:disabled{cursor:default;opacity:1}.hold-fill{background:#b8e0c2;top:0;right:0;bottom:0;left:0;position:absolute;transform-origin:left center;transition:transform 50ms linear}.hold-content{display:grid;gap:.35rem;justify-items:center;position:relative;z-index:1}.hold-content strong{font-size:clamp(1.25rem,2.4vw,2.4rem)}.hold-content small{color:#597068;font-size:clamp(.85rem,1.4vw,1.2rem);font-weight:900;text-transform:uppercase}.progress-area{align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto;font-size:1.4rem;font-weight:900}.progress-track{background:#d8ded2;border-radius:999px;height:1.1rem;overflow:hidden}.progress-fill{background:#285f50;height:100%;transition:width .2s linear}.task-sequence{display:grid;gap:.75rem}.task-row{align-items:center;background:#fffdf8;border:2px solid #d8ded2;border-radius:8px;display:grid;gap:1rem;grid-template-columns:64px 1fr auto;min-height:88px;padding:.75rem 1rem}.task-row.current{border-color:#c33f2f;box-shadow:inset 8px 0 #c33f2f}.task-row.done{opacity:.72}.task-row.skipped{opacity:.55}.task-row h2{font-size:clamp(1.2rem,2.3vw,2.2rem);line-height:1.05;margin:0}.task-row>span{color:#597068;font-size:clamp(1rem,2vw,1.8rem);font-weight:900;white-space:nowrap}.small-icon{align-items:center;aspect-ratio:1;background:#e7ece6;border-radius:8px;color:#285f50;display:grid;justify-items:center}.small-icon svg{height:60%;width:60%}.loading{align-items:center;font-size:2rem;font-weight:900;justify-items:center}.admin-shell{margin:0 auto;max-width:1180px;padding:1rem}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.admin-grid{display:grid;gap:1rem;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr)}.admin-card{background:#fffdf8;border:1px solid #d8ded2;border-radius:8px;padding:1rem}.admin-card h2{margin:0 0 1rem}.pin-card{display:grid;gap:.75rem;max-width:420px}.control-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-status{color:#597068;font-weight:900}.routine-switch{margin-bottom:1rem}.editor-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}label{display:grid;gap:.35rem;font-weight:800;margin-bottom:.85rem}input,select{background:#fff;border:2px solid #c9d2c7;border-radius:8px;min-height:44px;padding:.65rem;width:100%}.task-editor-list{display:grid;gap:.65rem;margin-bottom:1rem}.task-editor{display:grid;gap:.5rem;grid-template-columns:minmax(170px,1fr) 88px 120px 130px auto}.error-text{color:#b3261e;font-weight:800}@media(max-width:760px){.display-header,.admin-header{align-items:flex-start;flex-direction:column}.current-panel,.task-row,.admin-grid,.kid-tracks,.task-editor,.child-done-grid,.display-unlock{grid-template-columns:1fr}.task-icon{max-width:180px}.control-grid{grid-template-columns:1fr}}html,body,#root{height:100%}body:has(.display-shell){overflow:hidden}.display-shell{gap:clamp(.45rem,1.2vh,.9rem);grid-template-rows:auto auto minmax(0,1fr) auto;height:var(--app-height, 100dvh);min-height:0;overflow:hidden;padding:clamp(.55rem,1.5vw,1.25rem)}.display-header h1{font-size:clamp(1.45rem,3.2vw,3rem)}.display-header time{font-size:clamp(1.25rem,3vw,2.8rem)}.display-header .eyebrow{font-size:clamp(.72rem,1.2vw,.95rem)}.kid-tracks{gap:clamp(.45rem,1vw,.85rem);min-height:0}.kid-track{gap:clamp(.35rem,.9vh,.65rem);grid-template-rows:auto auto auto auto auto;overflow:hidden;padding:clamp(.5rem,1.2vw,.85rem)}.kid-track h2{font-size:clamp(1.2rem,2.35vw,2.25rem)}.kid-track header span{font-size:clamp(.85rem,1.55vw,1.3rem)}.kid-task-line{grid-template-columns:clamp(40px,4.8vw,56px) minmax(0,1fr);min-height:0}.kid-task-line p{font-size:clamp(.98rem,1.65vw,1.55rem)}.kid-task-line small{font-size:clamp(.75rem,1.25vw,1rem)}.hold-button{min-height:clamp(58px,12vh,104px)}.hold-content strong{font-size:clamp(1rem,1.9vw,1.75rem)}.hold-content small{font-size:clamp(.68rem,1.05vw,.9rem)}.kid-free-time{font-size:clamp(.78rem,1.25vw,1rem);padding:clamp(.3rem,.75vh,.45rem) .5rem}.mini-task-list{gap:clamp(.22rem,.7vw,.4rem);grid-template-columns:repeat(6,minmax(0,1fr))}.mini-task{gap:0;grid-template-columns:1fr;justify-items:center;min-height:clamp(28px,4.8vh,40px);padding:.18rem}.mini-task span{font-size:clamp(.7rem,1.2vw,.95rem);height:clamp(21px,3.8vh,29px)}.progress-area{font-size:clamp(.78rem,1.3vw,1.05rem)}.progress-track{height:clamp(.48rem,1vh,.75rem)}@media(max-width:760px){.display-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.kid-tracks{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr))}.kid-track{align-items:center;grid-template-columns:minmax(96px,.65fr) minmax(118px,1fr) minmax(82px,.7fr);grid-template-rows:auto auto}.kid-track header,.kid-free-time{grid-column:1}.kid-task-line,.mini-task-list{grid-column:2}.hold-button{grid-column:3;grid-row:1 / span 2;height:100%;min-height:0}}@media(max-height:620px)and (min-width:761px){.kid-task-line .small-icon{display:none}.kid-task-line{grid-template-columns:1fr}.hold-button{min-height:54px}}.display-shell{gap:clamp(.25rem,.8vh,.55rem);grid-template-rows:auto auto minmax(0,1fr);padding:clamp(.25rem,.7vw,.65rem)}.display-header{align-items:center;min-height:0}.display-header .eyebrow{font-size:clamp(.92rem,1.6vw,1.45rem);margin:0}.display-header time{font-size:clamp(1rem,2.2vw,2.1rem)}.display-unlock{gap:clamp(.25rem,.6vw,.6rem);grid-template-columns:minmax(90px,220px) auto;margin:0;max-width:430px}.display-unlock input,.display-unlock button{min-height:38px;padding:.45rem .7rem}.water-board{display:grid;gap:clamp(.2rem,.55vw,.45rem);grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}.water-lane{background:#101715;border:2px solid #17201b;border-radius:8px;color:#fff;display:grid;gap:clamp(.22rem,.55vh,.45rem);grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;padding:clamp(.25rem,.55vw,.45rem)}.water-lane-header{align-items:center;display:flex;gap:.55rem;justify-content:space-between}.water-lane-header h2{font-size:clamp(1rem,2.2vw,2rem);line-height:1;margin:0}.water-lane-header div{display:grid;justify-items:end}.water-lane-header span{font-size:clamp(.95rem,1.9vw,1.6rem);font-weight:950}.water-lane-header small{color:#b9d2c8;font-size:clamp(.66rem,1vw,.85rem);font-weight:900;white-space:nowrap}.water-stack{background:#efe7d6;border-radius:8px;display:flex;flex-direction:column-reverse;min-height:0;overflow:hidden;position:relative}.task-band{align-items:center;background:#f2b84d;border:0;border-radius:0;color:#111814;cursor:pointer;display:grid;flex:var(--segment-flex) 1 0;gap:clamp(.2rem,.55vw,.55rem);grid-template-columns:clamp(28px,4vw,48px) minmax(0,1fr) auto;min-height:0;overflow:hidden;padding:clamp(.22rem,.55vw,.55rem);position:relative;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%}.task-band:nth-child(1){background:#f0643f}.task-band:nth-child(2){background:#f5bf55}.task-band:nth-child(3){background:#a9db70}.task-band:nth-child(4){background:#1fbf8a}.task-band:nth-child(5){background:#80b3d0}.task-band:nth-child(6){background:#337ca7}.task-band:disabled{cursor:default;opacity:1}.task-band.current{box-shadow:inset 0 0 0 3px #fffc}.water-fill,.band-hold-fill{bottom:0;left:0;pointer-events:none;position:absolute;right:0}.water-fill{background:#2760996b;height:calc(var(--fill-level) * 100%);transition:height .28s linear}.water-fill:after{animation:wave-slide 2.8s linear infinite;background:linear-gradient(90deg,#ffffff59,#ffffff0d,#ffffff59);content:"";height:10px;left:-25%;opacity:.8;position:absolute;right:-25%;top:-5px}.band-hold-fill{background:#ffffff5c;height:calc(var(--hold-level) * 100%);transition:height 50ms linear}.band-icon,.band-title,.band-time{position:relative;z-index:1}.band-icon{align-items:center;aspect-ratio:1;background:#ffffff61;border-radius:8px;display:grid;justify-items:center}.band-icon svg{height:58%;width:58%}.band-title{font-size:clamp(.86rem,1.75vw,1.7rem);font-weight:950;line-height:1;overflow-wrap:anywhere}.band-time{font-size:clamp(.74rem,1.35vw,1.25rem);font-weight:950;text-align:right;white-space:nowrap}.water-now{color:#dbe9df;font-size:clamp(.72rem,1.2vw,.95rem);font-weight:900;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.water-complete{align-items:center;background:#dbe9df;color:#285f50;display:grid;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:950;gap:.5rem;height:100%;justify-items:center}@keyframes wave-slide{0%{transform:translate(-12%)}to{transform:translate(12%)}}@media(max-width:760px){.display-header{align-items:center;flex-direction:row}.display-header-actions{justify-items:end}.display-unlock{grid-template-columns:minmax(72px,1fr) minmax(86px,auto);max-width:none}.water-board{grid-template-columns:repeat(3,minmax(0,1fr))}.water-lane{padding:.25rem}.water-lane-header{align-items:start;display:grid}.water-lane-header div{justify-items:start}.task-band{grid-template-columns:1fr;justify-items:center;padding:.25rem;text-align:center}.band-icon{height:clamp(24px,7vw,34px);width:clamp(24px,7vw,34px)}.band-time{text-align:center}}@media(max-height:680px){.band-icon{display:none}.task-band{grid-template-columns:minmax(0,1fr) auto}}@media(orientation:landscape)and (max-height:520px){html,body,#root{height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden}.display-shell{background:#101715;gap:.18rem;grid-template-rows:minmax(0,1fr);height:var(--app-height, 100dvh);left:0;min-height:0;padding:.18rem;position:fixed;top:0;width:var(--app-width, 100vw)}.display-header{display:none}.display-unlock{background:#f4f1ead6;border-radius:6px;gap:.25rem;grid-template-columns:minmax(76px,220px) minmax(86px,auto);left:.18rem;max-width:min(52vw,430px);padding:.18rem;position:absolute;top:.18rem;z-index:6}.display-unlock input,.display-unlock button{min-height:30px;padding:.25rem .55rem}.water-board{gap:.22rem;height:100%;min-height:0}.water-lane{border-width:1px;gap:.12rem;padding:.18rem}.water-lane-header h2,.water-lane-header span{font-size:clamp(.8rem,2.4vw,1.05rem)}.water-lane-header small{font-size:clamp(.58rem,1.5vw,.72rem)}.task-band{grid-template-columns:minmax(0,1fr) auto;padding:.16rem .24rem}.band-title{font-size:clamp(.7rem,2vw,.95rem)}.band-time{font-size:clamp(.62rem,1.65vw,.82rem)}}
