:root{--navy: #133a6b;--navy-deep: #0b2447;--blue: #2d7dd2;--blue-light: #e3f0fd;--gold: #ffc531;--teal: #1fa896;--orange: #f26649;--ink: #17324f;--white: #ffffff;--radius-lg: 28px;--radius-md: 18px;--shadow-card: 0 8px 24px rgba(11, 36, 71, .18);--font: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--fs-huge: clamp(34px, 4.4vw, 60px);--fs-big: clamp(24px, 2.6vw, 38px);--fs-title: clamp(20px, 2vw, 30px);--fs-body: clamp(17px, 1.5vw, 22px);--fs-small: clamp(14px, 1.2vw, 17px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font);color:var(--ink);background:var(--navy-deep);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;touch-action:manipulation}#app{height:100%}button{font-family:var(--font);border:none;cursor:pointer;min-height:56px;min-width:56px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}}.home-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(ellipse 120% 90% at 50% 20%,#2d7dd2,#133a6b 45%,#0b2447);color:var(--blue-light);text-align:center;transition:opacity .7s ease,transform .7s ease;overflow:hidden;z-index:50}.home-screen.leaving{opacity:0;transform:scale(1.15);pointer-events:none}.home-moon{position:absolute;top:9%;right:12%;width:clamp(90px,11vw,150px);aspect-ratio:1;border-radius:50%;background:#ffe9a8;box-shadow:0 0 60px 18px #ffe9a873;animation:moon-float 6s ease-in-out infinite,moon-glow 5s ease-in-out infinite}.home-moon:after{content:"";position:absolute;inset:18% auto auto 22%;width:22%;aspect-ratio:1;border-radius:50%;background:#f2d489cc;box-shadow:34px 26px 0 -4px #f2d489b3}@keyframes moon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes moon-glow{0%,to{box-shadow:0 0 60px 18px #ffe9a873}50%{box-shadow:0 0 90px 30px #ffe9a899}}.home-star{position:absolute;color:var(--gold);opacity:.7;animation:star-twinkle 3s ease-in-out infinite;pointer-events:none}@keyframes star-twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.95;transform:scale(1.1)}}.home-paw{position:absolute;opacity:.18;font-size:clamp(28px,3vw,44px);animation:star-twinkle 5s ease-in-out infinite;pointer-events:none}.home-meteor{position:absolute;width:3px;height:90px;border-radius:3px;background:linear-gradient(to bottom,#fff,transparent);opacity:0;transform:rotate(38deg);animation:meteor 9s linear infinite;pointer-events:none}@keyframes meteor{0%,82%{opacity:0;transform:translate(0) rotate(38deg)}84%{opacity:1}92%,to{opacity:0;transform:translate(-34vw,34vh) rotate(38deg)}}.home-title{font-size:var(--fs-huge);font-weight:900;letter-spacing:.06em;text-shadow:0 4px 18px rgba(11,36,71,.6);z-index:1}.home-sub{font-size:var(--fs-title);font-weight:700;color:#bcd8f6;z-index:1}.home-date{font-size:var(--fs-body);color:#8fb6e4;font-weight:600;z-index:1}.home-start-btn{z-index:1;margin-top:12px;padding:0 64px;min-height:88px;border-radius:999px;background:linear-gradient(180deg,#ffd965,var(--gold));color:#5c3d00;font-size:var(--fs-big);font-weight:900;box-shadow:0 10px 30px #ffc53173,inset 0 -4px #0000001f;transition:transform .18s ease;animation:btn-breathe 2.4s ease-in-out infinite}.home-start-btn:active{transform:scale(.94)}@keyframes btn-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@media (max-width: 760px),(orientation: portrait){.home-screen{gap:18px;padding:24px}.home-moon{width:76px;top:6%;right:7%}.home-start-btn{min-height:72px;padding:0 48px}}@media (max-height: 480px) and (orientation: landscape){.home-screen{gap:10px;padding:12px}.home-moon{width:56px;top:5%;right:6%}.home-title{font-size:30px}.home-sub{font-size:17px}.home-date{font-size:13px}.home-start-btn{min-height:52px;padding:0 40px;font-size:20px;margin-top:4px}}.main-screen{height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#f2f8ff 0%,var(--blue-light) 100%)}.topbar{display:flex;align-items:center;gap:18px;padding:10px 22px;background:var(--navy);color:var(--blue-light);min-height:68px;flex:none;box-shadow:0 4px 14px #0b24474d;z-index:10}.topbar-logo{font-size:var(--fs-title);font-weight:900;display:flex;align-items:center;gap:10px;white-space:nowrap}.topbar-logo .logo-short{display:none}.topbar-clock{font-size:var(--fs-big);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em}.topbar-rounds{margin-left:auto;font-size:var(--fs-body);font-weight:800;background:#ffffff24;border-radius:999px;padding:10px 20px;display:flex;align-items:center;gap:8px}.topbar-stars{color:var(--gold)}.topbar-settings{min-height:56px;min-width:56px;border-radius:50%;background:#ffffff29;font-size:26px;color:var(--blue-light);transition:transform .2s ease,background .2s ease}.topbar-settings:active{transform:scale(.9);background:#ffffff4d}.main-body{flex:1;display:flex;gap:18px;padding:16px 20px 18px;min-height:0}.sidebar{width:clamp(300px,30vw,420px);display:grid;grid-template-rows:repeat(4,1fr);gap:14px;flex:none;min-height:0}.side-card{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);padding:14px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;border:3px solid transparent;transition:transform .18s ease,border-color .18s ease;min-height:0;text-align:left;width:100%}.side-card:active{transform:scale(.97)}.side-card .card-icon{font-size:clamp(34px,3.4vw,50px);flex:none;width:1.4em;text-align:center}.side-card .card-text{min-width:0}.side-card .card-title{font-size:var(--fs-title);font-weight:900;color:var(--navy)}.side-card .card-sub{font-size:var(--fs-small);font-weight:700;color:#6a86a8;margin-top:4px}.side-card .card-badge{margin-left:auto;flex:none;font-size:var(--fs-body);font-weight:900;color:var(--teal)}.side-card.active{border-color:var(--blue)}.timeline-area{flex:1;min-width:0;display:flex;flex-direction:column}.place-banner{flex:none;display:flex;align-items:center;justify-content:center;gap:20px;background:var(--navy);color:var(--blue-light);font-size:var(--fs-body);font-weight:800;border-radius:var(--radius-md);padding:12px 20px;margin-bottom:12px;box-shadow:var(--shadow-card)}.place-banner button{background:var(--orange);color:#fff;border-radius:999px;padding:0 24px;font-size:var(--fs-small);font-weight:800}@media (max-width: 760px),(orientation: portrait){html,body{overflow:auto}.main-screen{height:auto;min-height:100dvh}.topbar{gap:10px;padding:8px 12px;min-height:56px}.topbar-logo{gap:6px;font-size:17px}.topbar-logo .logo-full{display:none}.topbar-logo .logo-short{display:inline}.topbar-clock{font-size:20px}.topbar-rounds{padding:8px 12px;gap:6px;font-size:14px}.topbar-settings{min-height:48px;min-width:48px;font-size:22px}.main-body{flex-direction:column;gap:12px;padding:12px 12px 16px;overflow-y:visible}.sidebar{width:100%;grid-template-rows:none;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:10px}.side-card{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;border-radius:20px;min-height:84px}.side-card .card-icon{font-size:26px;width:auto}.side-card .card-title{font-size:16px}.side-card .card-sub{display:none}.side-card .card-badge{margin-left:0;font-size:13px}.place-banner{font-size:14px;padding:10px 14px;gap:10px;flex-wrap:wrap}.place-banner button{min-height:44px}.timeline-area{min-height:440px}}@media (max-height: 480px) and (orientation: landscape){.topbar{min-height:48px;padding:4px 14px;gap:10px}.topbar-logo{font-size:15px;gap:6px}.topbar-logo .logo-full{display:none}.topbar-logo .logo-short{display:inline}.topbar-clock{font-size:18px}.topbar-rounds{padding:5px 12px;gap:6px;font-size:13px}.topbar-settings{min-height:40px;min-width:40px;font-size:20px}.main-body{flex-direction:column;gap:8px;padding:8px 12px 10px;overflow-y:auto}.sidebar{width:100%;grid-template-rows:none;grid-template-columns:repeat(4,1fr);grid-auto-rows:56px;gap:8px}.side-card{padding:4px 10px;gap:8px;border-radius:14px}.side-card .card-icon{font-size:22px;width:auto}.side-card .card-title{font-size:14px;white-space:nowrap}.side-card .card-sub,.side-card .card-badge{display:none}.place-banner{font-size:13px;padding:6px 12px;margin-bottom:8px}.place-banner button{min-height:40px}.timeline-area{min-height:200px}}@media (min-width: 1401px){.main-screen{max-width:1600px;margin:0 auto;box-shadow:0 0 90px #00000073}}.timeline-host{flex:1;min-height:0;display:flex;flex-direction:column}.timeline{flex:1;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px 18px 18px;display:flex;flex-direction:column;min-height:0;position:relative}.tl-ruler{display:grid;grid-template-columns:64px 1fr;flex:none;font-size:12px;color:#8aa3c0;font-weight:700}.tl-ruler-marks{display:grid;grid-template-columns:repeat(12,1fr);border-bottom:2px solid #d5e5f7;padding-bottom:3px}.tl-ruler-marks span{text-align:left;transform:translate(-30%)}.tl-ruler-marks span:nth-child(2n){opacity:.45}.tl-hours{flex:1;display:grid;grid-template-rows:repeat(4,1fr);min-height:0}.tl-hour-row{display:grid;grid-template-columns:64px 1fr;align-items:stretch;border-bottom:1px dashed #dbe8f7}.tl-hour-row:last-child{border-bottom:none}.tl-hour-row.current .tl-hour-label{color:var(--blue)}.tl-hour-label{display:flex;align-items:center;justify-content:center;font-size:var(--fs-body);font-weight:900;color:#4d6d95;font-variant-numeric:tabular-nums}.tl-slots{position:relative;display:grid;grid-template-columns:repeat(12,1fr);border-left:1px solid #d5e5f7}.tl-hour-row.current .tl-slots{background:#2d7dd20f}.tl-hour-row.past .tl-slots{opacity:.42}.tl-slot{border-right:1px solid #e7f0fa;position:relative}.tl-slot.highlight{background:#2d7dd238;cursor:pointer}.tl-slot.highlight:hover{background:#2d7dd266}.tl-slot.drop-ok{background:#1fa8964d}.tl-slot.drop-bad{background:#f2664959}.tl-nowline{position:absolute;top:0;bottom:0;width:3px;background:var(--orange);border-radius:2px;z-index:5;pointer-events:none;box-shadow:0 0 8px #f26649b3}.tl-nowline:before{content:"";position:absolute;top:-5px;left:-4px;width:11px;height:11px;border-radius:50%;background:var(--orange)}.tl-block{position:absolute;top:12%;bottom:12%;border-radius:10px;display:flex;align-items:center;gap:4px;padding:0 8px;font-size:var(--fs-small);font-weight:800;white-space:nowrap;overflow:visible;text-shadow:0 1px 3px rgba(11,36,71,.55),0 0 6px rgba(11,36,71,.35);z-index:3}.tl-block.fixed{background:var(--navy);color:var(--blue-light);z-index:2;pointer-events:none}.tl-block.custom{background:linear-gradient(180deg,#9cc8f2,#6ea9e4);color:#0d2c50;border:2px solid var(--blue);cursor:pointer;z-index:3}.tl-block.custom:active{transform:scale(.97)}.tl-block .block-progress{color:var(--gold)}.drag-ghost{position:fixed;z-index:100;pointer-events:none;opacity:.85;transform:translate(-50%,-60%) scale(1.02);border-radius:12px;background:linear-gradient(180deg,#9cc8f2,#6ea9e4);border:2px solid var(--blue);color:#0d2c50;font-weight:900;padding:12px 18px;font-size:var(--fs-body);box-shadow:0 12px 30px #0b244759}@media (max-width: 760px),(orientation: portrait){.timeline{padding:10px 10px 12px;border-radius:18px}.tl-ruler,.tl-hour-row{grid-template-columns:36px 1fr}.tl-ruler{font-size:9px}.tl-hour-label{font-size:13px}.tl-block{padding:0 4px;gap:2px;border-radius:8px;font-size:12px;text-shadow:none;overflow:hidden}.tl-block .block-progress{font-size:11px}}@media (max-width: 760px){.tl-block .block-name{display:none}}@media (max-height: 480px) and (orientation: landscape){.timeline{padding:8px 12px 10px;border-radius:18px}.tl-ruler,.tl-hour-row{grid-template-columns:44px 1fr}.tl-ruler{font-size:10px}.tl-hour-label{font-size:14px}.tl-block{font-size:12px;padding:0 6px}}.ui-toast{position:fixed;top:18px;left:50%;transform:translate(-50%) translateY(-8px);max-width:86vw;background:var(--navy);color:#fff;font-size:var(--fs-body);font-weight:800;line-height:1.4;text-align:center;padding:14px 30px;border-radius:999px;box-shadow:var(--shadow-card);z-index:300;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}.ui-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.ui-confirm-overlay{position:fixed;inset:0;background:#0b244780;display:flex;align-items:center;justify-content:center;padding:24px;z-index:250}.ui-confirm-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:34px 38px 30px;width:min(88vw,560px);text-align:center;animation:ui-pop-in .24s ease}.ui-confirm-msg{font-size:var(--fs-title);font-weight:900;color:var(--navy);line-height:1.5;margin-bottom:28px}.ui-confirm-btns{display:flex;gap:18px;justify-content:center}.ui-confirm-btn{min-height:64px;padding:0 36px;border-radius:999px;font-size:var(--fs-body);font-weight:900;transition:transform .15s ease}.ui-confirm-btn:active{transform:scale(.94)}.ui-confirm-ok{background:var(--blue);color:#fff}.ui-confirm-cancel{background:var(--blue-light);color:var(--navy)}.ui-fall-piece{position:absolute;top:-60px;animation-name:ui-fall;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none;will-change:transform,opacity}@keyframes ui-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(118vh) rotate(340deg);opacity:.15}}.ui-sprinkle{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:380}.ui-celebrate{position:fixed;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0b244759;z-index:400;pointer-events:none;transition:opacity .6s ease}.ui-celebrate.ui-fadeout{opacity:0}.ui-celebrate-banner{background:linear-gradient(135deg,var(--gold) 0%,#ffe08a 100%);color:var(--navy-deep);font-size:var(--fs-huge);font-weight:900;text-align:center;line-height:1.35;padding:30px 52px;border-radius:var(--radius-lg);box-shadow:0 16px 48px #0b244773;max-width:84vw;animation:ui-pop-in .36s ease}@keyframes ui-pop-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.ui-sheet-overlay{position:fixed;inset:0;background:#0b244780;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200}.ui-sheet{width:min(92vw,900px);height:86vh;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;animation:ui-pop-in .24s ease}.ui-sheet-head{flex:none;display:flex;align-items:center;gap:14px;padding:12px 16px 12px 26px;background:var(--navy);color:var(--blue-light)}.ui-sheet-title{font-size:var(--fs-title);font-weight:900}.ui-close-btn{margin-left:auto;flex:none;min-width:56px;min-height:56px;border-radius:50%;background:#ffffff29;color:#fff;font-size:26px;font-weight:900;line-height:1;transition:transform .15s ease,background .15s ease}.ui-close-btn:active{transform:scale(.88);background:#ffffff4d}.ui-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:18px 22px}.ui-drawer{position:fixed;left:0;bottom:0;width:clamp(340px,32vw,440px);background:var(--white);border-top-right-radius:var(--radius-lg);box-shadow:10px 0 32px #0b24474d;display:flex;flex-direction:column;z-index:100;transform:translate(-102%);transition:transform .26s ease}.ui-drawer.open{transform:translate(0)}.ui-drawer-close{position:absolute;top:10px;right:12px;z-index:2;background:var(--blue-light);color:var(--navy)}.ui-drawer-close:active{background:#cfe4fa}.ui-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 22px}@media (max-width: 760px),(orientation: portrait){.ui-sheet-overlay{padding:0}.ui-sheet{width:100vw;height:100dvh;border-radius:0}.ui-sheet-head{padding:10px 12px 10px 18px;gap:10px}.ui-sheet-title{font-size:18px}.ui-close-btn{min-width:48px;min-height:48px;font-size:22px}.ui-sheet-body{padding:14px 14px 18px}.ui-drawer{width:100vw;border-top-right-radius:0}.ui-drawer-body{padding:14px 12px 18px}.ui-toast{max-width:92vw;padding:12px 20px;font-size:15px}.ui-confirm-overlay{padding:16px}.ui-confirm-card{padding:24px 20px 22px}.ui-confirm-btns{gap:12px}.ui-confirm-btn{flex:1;padding:0 12px;min-height:56px}}@media (max-height: 480px) and (orientation: landscape){.ui-sheet-overlay{padding:8px}.ui-sheet{width:min(94vw,900px);height:calc(100dvh - 16px)}.ui-sheet-head{padding:4px 12px 4px 18px;gap:10px}.ui-sheet-title{font-size:16px}.ui-close-btn{min-width:44px;min-height:44px;font-size:20px}.ui-sheet-body{padding:10px 14px}.ui-drawer{width:min(100vw,420px)}}.tk-panel{display:flex;flex-direction:column;gap:14px;padding:18px 16px 22px;height:100%;overflow-y:auto;background:linear-gradient(180deg,#f2f8ff 0%,var(--blue-light) 100%)}.tk-tip{flex:none;font-size:var(--fs-body);font-weight:800;color:var(--navy);text-align:center;background:var(--white);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-card)}.tk-list{display:flex;flex-direction:column;gap:12px}.tk-card{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:12px 14px;border:3px solid transparent;transition:transform .18s ease,border-color .18s ease,opacity .18s ease;touch-action:pan-y;cursor:grab}.tk-card.tk-checked{border-color:#1fa89673}.tk-card.tk-dragging{opacity:.55;transform:scale(.98);cursor:grabbing}.tk-check{flex:none;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:50%;background:var(--white);border:4px solid #b9d2ec;color:var(--white);font-size:30px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,border-color .15s ease}.tk-check:active{transform:scale(.88)}.tk-check.on{background:var(--teal);border-color:var(--teal)}.tk-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.tk-name{font-size:var(--fs-body);font-weight:900;color:var(--ink);white-space:normal;overflow-wrap:break-word;line-height:1.3;max-width:100%}.tk-duration{flex:none;font-size:var(--fs-small);font-weight:800;color:var(--blue);background:var(--blue-light);border-radius:999px;padding:4px 12px}.tk-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tk-action{border-radius:999px;padding:0 20px;min-height:56px;font-size:var(--fs-small);font-weight:900;transition:transform .15s ease,opacity .15s ease;white-space:nowrap}.tk-action:active{transform:scale(.93)}.tk-action.tk-primary{background:linear-gradient(180deg,#5aa3e8,var(--blue));color:var(--white);box-shadow:0 6px 16px #2d7dd266}.tk-action.tk-teal{background:linear-gradient(180deg,#34c4b0,var(--teal));color:var(--white);box-shadow:0 6px 16px #1fa89666}.tk-action.tk-disabled,.tk-action:disabled{background:#d9e6f4;color:#8aa3c0;box-shadow:none;cursor:not-allowed;opacity:.9}.tk-scheduled-tag{font-size:var(--fs-small);font-weight:900;color:var(--teal);background:#1fa8961f;border-radius:999px;padding:6px 12px;white-space:nowrap;font-variant-numeric:tabular-nums}.tk-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--fs-title);font-weight:900;color:#6a86a8;padding:40px 20px}.tk-hint{flex:none;text-align:center;font-size:var(--fs-small);font-weight:700;color:#8aa3c0}.ui-sheet-body>div:has(>.rd-wrap){height:100%;display:flex;flex-direction:column}.rd-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3vh,32px);padding:clamp(8px,1.5vh,20px) 0}.rd-books{flex:none;display:flex;gap:clamp(18px,2vw,30px)}.rd-book{font-size:clamp(40px,4vw,54px);line-height:1;filter:grayscale(1) opacity(.45);transform:scale(1);transition:transform .3s ease,filter .3s ease}.rd-book-lit{filter:none;animation:rd-book-pop .45s ease}@keyframes rd-book-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1.12)}}.rd-ring-box{flex:none;position:relative;width:clamp(260px,36vh,380px);aspect-ratio:1}.rd-ring{width:100%;height:100%;transform:rotate(-90deg)}.rd-ring-bg{fill:none;stroke:var(--blue-light);stroke-width:18}.rd-ring-fg{fill:none;stroke:var(--blue);stroke-width:18;stroke-linecap:round}.rd-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.rd-time-text{font-size:var(--fs-huge);font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.rd-phase-text{font-size:var(--fs-title);font-weight:700;color:var(--blue)}.rd-btn{flex:none;border-radius:var(--radius-lg);padding:0 clamp(28px,3vw,48px);min-height:72px;font-size:var(--fs-big);font-weight:800;color:var(--white);box-shadow:var(--shadow-card);transition:transform .15s ease,opacity .15s ease}.rd-btn:active{transform:scale(.95)}.rd-btn-start{background:var(--gold);color:var(--ink)}.rd-btn-rest{background:var(--teal)}.rd-btn-continue{background:var(--blue)}.rd-btn-disabled{background:#c7d3e0;color:#7a8ba0;box-shadow:none;cursor:default}.rd-btn-disabled:active{transform:none}.rd-praise{font-size:var(--fs-body);font-weight:700;color:var(--teal);text-align:center}@media (max-height: 480px) and (orientation: landscape){.rd-wrap{gap:10px}.rd-books{gap:14px}.rd-book{font-size:30px}.rd-ring-box{width:clamp(140px,42vh,220px)}.rd-btn{min-height:52px;font-size:18px}.rd-time-text{font-size:30px}.rd-phase-text{font-size:15px}}.st-root{display:flex;flex-direction:column;gap:24px;padding:8px 4px}.st-none{background:var(--blue-light);border-radius:var(--radius-md);padding:16px 20px;font-size:var(--fs-body);font-weight:700;color:var(--navy);text-align:center}.st-group{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px 22px}.st-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.st-title{font-size:var(--fs-title);font-weight:800;color:var(--navy)}.st-adjuster{display:flex;align-items:center;gap:14px}.st-round-btn{width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%;font-size:var(--fs-big);font-weight:800;line-height:1;color:var(--white);box-shadow:0 5px #0b244740;transition:transform .12s ease,box-shadow .12s ease}.st-minus{background:var(--orange)}.st-plus{background:var(--teal)}.st-round-btn:active{transform:translateY(4px);box-shadow:0 1px #0b244740}.st-count{display:flex;align-items:baseline;gap:6px;min-width:90px;justify-content:center}.st-count-num{font-size:var(--fs-huge);font-weight:800;color:var(--ink);line-height:1}.st-count-unit{font-size:var(--fs-body);font-weight:700;color:var(--ink);opacity:.7}.st-books{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;min-height:90px}.st-empty{font-size:var(--fs-small);color:var(--ink);opacity:.55;padding:12px 4px}.st-book{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:96px;height:104px;min-width:64px;min-height:64px;background:linear-gradient(135deg,#fff8e6,#ffe9a8);border-radius:12px 18px 18px 12px;box-shadow:-6px 0 0 -2px var(--gold),-10px 3px 0 -4px #d9a421,0 10px 18px #0b244738;transform:perspective(400px) rotateY(-12deg);transform-origin:left center;transition:transform .15s ease,box-shadow .15s ease,filter .2s ease}.st-book:active{transform:perspective(400px) rotateY(-6deg) translateY(4px);box-shadow:-4px 0 0 -2px var(--gold),-7px 2px 0 -4px #d9a421,0 4px 8px #0b244738}.st-book-next{animation:st-next-breathe 1.8s ease-in-out infinite}@keyframes st-next-breathe{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}.st-book-emoji{font-size:42px;line-height:1;pointer-events:none}.st-book-label{font-size:var(--fs-small);font-weight:700;color:var(--ink);pointer-events:none}.st-book-done{background:linear-gradient(135deg,#eef1f5,#cfd6df);box-shadow:-6px 0 0 -2px #9aa7b5,-10px 3px 0 -4px #7d8a99,0 8px 14px #0b24472e;filter:grayscale(.6);transform:perspective(400px) rotateY(-3deg)}.st-book-done .st-book-label{opacity:.6}.st-book-check{position:absolute;top:-10px;right:-10px;width:36px;height:36px;border-radius:50%;background:var(--teal);color:var(--white);font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #0b24474d;pointer-events:none;animation:st-check-pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes st-check-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:1}}.ui-sheet-body>div:has(>.bb-panel){height:100%;display:flex;flex-direction:column}.bb-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,30px);padding:8px 6px 24px;font-family:var(--font);color:var(--ink)}.bb-today{font-size:var(--fs-title);font-weight:800;color:var(--gold);background:#ffc53124;border:2px solid rgba(255,197,49,.55);border-radius:999px;padding:10px 28px;letter-spacing:1px}.bb-cards{flex:1;min-height:0;display:flex;gap:24px;width:100%;justify-content:center;align-items:stretch;align-content:center;flex-wrap:wrap}.bb-entry{position:relative;flex:1 1 280px;max-width:380px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px 22px;border:none;border-radius:var(--radius-lg);background:var(--white, #ffffff);box-shadow:var(--shadow-card);cursor:pointer;font-family:var(--font);transition:transform .15s ease;overflow:visible}.bb-entry:active{transform:scale(.96)}.bb-entry-icon{font-size:clamp(72px,9vh,96px);line-height:1;position:relative;z-index:1}.bb-entry-name{font-size:var(--fs-big);font-weight:800;position:relative;z-index:1}.bb-entry-sub{font-size:var(--fs-small);font-weight:600;opacity:.75;position:relative;z-index:1}.bb-entry-star{background:linear-gradient(160deg,#fff8e1,#ffedb3);border:3px solid var(--gold)}.bb-glow{position:absolute;inset:-14px;border-radius:40px;background:radial-gradient(closest-side,#ffc531a6,#ffc53100);animation:bb-breathe 2.6s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes bb-breathe{0%,to{opacity:.35;transform:scale(.96)}50%{opacity:.9;transform:scale(1.05)}}.bb-twinkle{position:absolute;font-size:22px;color:var(--gold);pointer-events:none;z-index:1;animation:bb-twinkle 1.8s ease-in-out infinite}.bb-twinkle-1{top:12px;left:18px;animation-delay:0s}.bb-twinkle-2{top:20px;right:22px;animation-delay:.6s}.bb-twinkle-3{bottom:18px;left:30px;animation-delay:1.2s}@keyframes bb-twinkle{0%,to{opacity:.15;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}}.bb-entry-hq{background:linear-gradient(160deg,var(--blue-light) 0%,#bcd9f7 100%);border:3px solid var(--blue)}.bb-badge{display:inline-block;animation:bb-sway 2.4s ease-in-out infinite;transform-origin:50% 15%}@keyframes bb-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.bb-paw{position:absolute;right:14px;bottom:10px;font-size:26px;opacity:.45}.bb-reveal{flex:1;width:100%;display:flex;justify-content:center;align-items:center}.bb-flip{perspective:1000px}.bb-flip .bb-card{animation:bb-flip-in .7s ease both;transform-style:preserve-3d;backface-visibility:hidden}@keyframes bb-flip-in{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.bb-pop .bb-card{animation:bb-pop-in .55s cubic-bezier(.2,1.6,.4,1) both}@keyframes bb-pop-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.bb-card{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 24px 28px;border-radius:var(--radius-lg);background:var(--white, #ffffff);box-shadow:var(--shadow-card)}.bb-card-star{border:3px solid var(--gold)}.bb-card-hq{border:3px solid var(--blue)}.bb-card-tag{font-size:var(--fs-small);font-weight:800;color:var(--navy);background:var(--blue-light);border-radius:999px;padding:6px 18px}.bb-card-star .bb-card-tag{background:#ffc53140;color:#8a6d00}.bb-card-icon{font-size:84px;line-height:1}.bb-card-name{font-size:var(--fs-big);font-weight:800;text-align:center}.bb-card-desc{font-size:var(--fs-body);font-weight:600;text-align:center;line-height:1.5;opacity:.85}.bb-stars-line{font-size:var(--fs-title);font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.bb-stars-note{font-size:var(--fs-small);font-weight:700;color:var(--orange)}.bb-stars-none{color:var(--teal);font-size:var(--fs-body)}.bb-pick-label{font-size:var(--fs-body);font-weight:700;margin-top:4px}.bb-capsules{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.bb-capsule{min-width:84px;min-height:56px;border-radius:999px;border:3px solid var(--blue);background:var(--white, #ffffff);color:var(--navy);font-family:var(--font);font-size:var(--fs-body);font-weight:800;cursor:pointer;transition:transform .15s ease,background .15s ease}.bb-capsule:active{transform:scale(.94)}.bb-capsule-on{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);transform:scale(1.06)}.bb-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:4px}.bb-btn{min-height:56px;min-width:120px;padding:12px 26px;border-radius:999px;border:none;font-family:var(--font);font-size:var(--fs-body);font-weight:800;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.bb-btn:active{transform:scale(.95)}.bb-btn-ghost{background:var(--blue-light);color:var(--navy)}.bb-btn-back{background:transparent;color:var(--ink);opacity:.6;border:2px solid rgba(23,50,79,.25)}.bb-btn-gold{background:linear-gradient(160deg,var(--gold),#f5a623);color:var(--navy-deep);box-shadow:0 6px 18px #ffc53180}.bb-btn-teal{background:linear-gradient(160deg,var(--teal),#178a7b);color:#fff;box-shadow:0 6px 18px #1fa89673}.bb-start{width:100%;max-width:340px;min-height:68px;font-size:var(--fs-big);margin-top:6px;animation:bb-start-pulse 1.6s ease-in-out infinite}@keyframes bb-start-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.bb-counting{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 24px;border-radius:var(--radius-lg);background:var(--white, #ffffff);box-shadow:var(--shadow-card)}.bb-counting-star{border:3px solid var(--gold)}.bb-counting-hq{border:3px solid var(--blue)}.bb-counting-icon{font-size:64px;line-height:1}.bb-counting-name{font-size:var(--fs-title);font-weight:800;text-align:center}.bb-time{font-size:calc(var(--fs-huge) * 1.5);font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:2px;line-height:1.1}.bb-progress{width:100%;height:18px;border-radius:999px;background:var(--blue-light);overflow:hidden}.bb-progress-fill{width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--gold));transform-origin:left center;transform:scaleX(1)}.bb-done{width:100%;max-width:340px;min-height:68px;font-size:var(--fs-big)}.bb-btn-cancel{background:transparent;color:var(--ink);opacity:.55;min-height:56px;font-size:var(--fs-small);border:2px solid rgba(23,50,79,.2)}@media (max-width: 720px){.bb-cards{flex-direction:column;align-items:center}.bb-entry{width:100%;max-width:420px;min-height:180px}}.pt-gate{display:flex;align-items:center;justify-content:center;min-height:46vh;padding:16px}.pt-gate-card{background:var(--blue-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:460px;width:100%;text-align:center}.pt-gate-emoji{font-size:56px}.pt-gate-title{font-size:var(--fs-big);font-weight:800;color:var(--navy)}.pt-gate-sub{font-size:var(--fs-small);color:var(--ink);opacity:.75}.pt-gate-q{font-size:var(--fs-big);font-weight:800;color:var(--blue);background:var(--white);border-radius:var(--radius-md);padding:10px 28px;letter-spacing:2px}.pt-gate-input{width:200px;min-height:56px;font-size:var(--fs-title);font-weight:700;font-family:var(--font);text-align:center;color:var(--ink);background:var(--white);border:3px solid var(--blue);border-radius:var(--radius-md);outline:none}.pt-gate-input:focus{border-color:var(--gold)}.pt-gate-ok{min-height:56px;min-width:160px;border-radius:var(--radius-md);background:var(--teal);color:var(--white);font-size:var(--fs-body);font-weight:800;transition:transform .15s ease}.pt-gate-ok:active{transform:scale(.96)}.pt-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.pt-tab{min-height:48px;min-width:48px;padding:0 18px;border-radius:999px;background:var(--blue-light);color:var(--navy);font-size:max(15px,var(--fs-small));font-weight:700;transition:transform .15s ease,background .15s ease}.pt-tab.active{background:var(--navy);color:var(--white)}.pt-tab:active{transform:scale(.95)}.pt-body{max-height:62vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 6px 16px 2px}.pt-section{display:flex;flex-direction:column;gap:12px}.pt-rule-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:12px 18px}.pt-rule-label{font-size:max(16px,var(--fs-small));font-weight:700;color:var(--ink)}.pt-stepper{display:flex;align-items:center;gap:12px}.pt-step-btn{min-height:48px;min-width:48px;border-radius:50%;background:var(--blue);color:var(--white);font-size:26px;font-weight:800;line-height:1;transition:transform .15s ease,opacity .15s ease}.pt-step-btn:active{transform:scale(.9)}.pt-step-btn:disabled{opacity:.3;cursor:default}.pt-step-val{min-width:96px;text-align:center;font-size:var(--fs-title);font-weight:800;color:var(--navy)}.pt-step-unit{font-size:max(14px,var(--fs-small));font-weight:600;margin-left:4px;opacity:.7}.pt-hint{margin-top:16px;font-size:max(14px,var(--fs-small));color:var(--ink);opacity:.75;line-height:1.6;background:var(--blue-light);border-radius:var(--radius-md);padding:12px 16px}.pt-hint-top{margin:0 0 12px}.pt-list{display:flex;flex-direction:column;gap:10px}.pt-row{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 14px;flex-wrap:wrap}.pt-row-main{flex:1;min-width:160px;display:flex;flex-direction:column;gap:6px}.pt-row-name{font-size:max(16px,var(--fs-small));font-weight:800;color:var(--ink)}.pt-row-desc{font-size:max(13px,var(--fs-small));color:var(--ink);opacity:.7;line-height:1.5}.pt-box-icon{font-size:34px;width:48px;text-align:center;flex-shrink:0}.pt-icon-input{width:64px;min-height:48px;font-size:24px;font-family:var(--font);text-align:center;background:var(--blue-light);border:2px solid transparent;border-radius:14px;outline:none;flex-shrink:0}.pt-icon-input:focus{border-color:var(--blue)}.pt-input{min-height:48px;padding:0 14px;font-size:max(16px,var(--fs-small));font-family:var(--font);color:var(--ink);background:var(--blue-light);border:2px solid transparent;border-radius:14px;outline:none;width:100%}.pt-input:focus{border-color:var(--blue)}.pt-select{min-height:48px;padding:0 12px;font-size:max(16px,var(--fs-small));font-weight:700;font-family:var(--font);color:var(--navy);background:var(--blue-light);border:2px solid transparent;border-radius:14px;outline:none;flex-shrink:0}.pt-select:focus{border-color:var(--blue)}.pt-row-actions{display:flex;gap:8px;flex-shrink:0}.pt-btn-small{min-height:48px;min-width:48px;padding:0 16px;border-radius:14px;background:var(--blue-light);color:var(--navy);font-size:max(15px,var(--fs-small));font-weight:700;transition:transform .15s ease}.pt-btn-small:active{transform:scale(.94)}.pt-btn-small.primary{background:var(--teal);color:var(--white)}.pt-btn-small.danger{background:#fdeae5;color:var(--orange)}.pt-form{background:var(--blue-light);border:2px dashed var(--blue)}.pt-add-form{margin-top:10px}.pt-add-btn{width:100%;min-height:56px;margin-top:12px;border-radius:var(--radius-md);background:var(--blue-light);border:2px dashed var(--blue);color:var(--blue);font-size:var(--fs-body);font-weight:800;transition:transform .15s ease}.pt-add-btn:active{transform:scale(.98)}.pt-backup{display:flex;flex-direction:column;gap:14px;padding-top:4px}.pt-backup-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:76px;padding:14px 20px;border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-card);text-align:left;transition:transform .15s ease}.pt-backup-btn:active{transform:scale(.98)}.pt-backup-title{font-size:var(--fs-body);font-weight:800;color:var(--navy)}.pt-backup-sub{font-size:max(13px,var(--fs-small));color:var(--ink);opacity:.65}.pt-backup-btn.danger .pt-backup-title{color:var(--orange)}.pt-file{display:none}
