:root{--ink:#192a37;--muted:#71808a;--line:#d7e0e4;--page:#f3f6f6;--surface:#fff;--navy:#182a38;--teal:#2e766f;--yellow:#f4c95d;--pink:#ed8d83;--blue:#77b4d5;--purple:#9282c4;--green:#75a984;--shadow:0 14px 35px rgba(24,42,56,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--page)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:var(--page)}body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-bar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94)}.brand-lockup,.app-bar-actions,.storage-status,.top-nav,.draw-page-heading,.theme-picker,.draw-workspace,.stage-header,.calendar-toolbar,.date-controls,.quantity-row,.manager-toolbar,.settings-status,.settings-actions,.modal-header,.modal-actions{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#fff;background:var(--teal);font-size:18px;font-weight:800;transform:rotate(-8deg)}.app-bar h1{margin:0;font-size:17px;letter-spacing:-.05em}.brand-subtitle{display:block;margin-top:1px;color:var(--muted);font-size:10px}.top-nav{gap:4px;margin-left:60px}.nav-link{min-height:36px;padding:7px 17px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:13px;font-weight:800}.nav-link.active{color:var(--ink);background:#edf2f1}.app-bar-actions{gap:14px}.storage-status{gap:7px;color:var(--teal);font-size:11px;font-weight:750}.storage-status i,.settings-status>i{width:7px;height:7px;border-radius:50%;background:#70a77c;box-shadow:0 0 0 4px #e0ede3}.button{min-height:38px;border:0;border-radius:9px;padding:8px 14px;color:var(--ink);font-size:12px;font-weight:800;transition:.18s}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--teal);box-shadow:0 6px 13px rgba(46,118,111,.2)}.button-primary:hover{background:#245f5a}.button-quiet{background:#e5ecea}.button-ghost{min-height:29px;padding:5px 8px;color:var(--teal);background:transparent}.button-light{color:var(--navy);background:#fff;box-shadow:0 4px 14px rgba(24,42,56,.1)}.button-accent{color:#5d4a16;background:#f7d779}.button-danger{color:#9a4a39;background:#faeae5}.app-main{min-height:calc(100vh - 58px)}.page{max-width:1420px;margin:0 auto;padding:31px 42px 45px}.draw-page-heading{justify-content:space-between;gap:24px;margin-bottom:25px}.eyebrow{margin:0;color:var(--muted);font-size:10px;letter-spacing:.15em;font-weight:850}.draw-page-heading h2,.page-heading h2,.date-block h2{margin:7px 0 5px;font-size:30px;letter-spacing:-.065em}.draw-page-heading p,.page-heading p,.date-block p{margin:0;color:var(--muted);font-size:13px}.theme-picker{gap:12px;padding:8px 10px 8px 15px;border:1px solid var(--line);border-radius:11px;background:#fff}.theme-picker span{color:var(--muted);font-size:10px}.theme-picker strong{font-size:12px}.draw-workspace{align-items:stretch;gap:18px;min-height:calc(100vh - 185px)}.draw-stage{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:590px;overflow:hidden;padding:27px;border-radius:20px;color:#fff;background:var(--navy);box-shadow:var(--shadow)}.stage-header{position:relative;z-index:3;justify-content:space-between;align-items:flex-start}.stage-kicker{font-size:10px;letter-spacing:.15em;opacity:.64}.stage-header h3{margin:8px 0 0;font-size:23px;letter-spacing:-.055em}.stage-date{padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:rgba(255,255,255,.7);font-size:11px}.theme-scene{position:absolute;inset:0;overflow:hidden}.animation-status{position:relative;z-index:3;margin-top:auto;color:rgba(255,255,255,.73);font-size:13px}.skip-animation{position:absolute;z-index:5;right:25px;bottom:26px;min-height:32px;font-size:11px}.draw-result{position:relative;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;max-height:190px;margin:14px 0 3px;overflow:auto}.draw-result:empty{display:none}.draw-result-card{padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);animation:reveal-card .45s both}.draw-result-card:nth-child(2){animation-delay:.08s}.draw-result-card:nth-child(3){animation-delay:.16s}.draw-result-card:nth-child(4){animation-delay:.24s}.draw-result-card strong{display:block;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.draw-result-card small{display:block;margin-top:5px;color:rgba(255,255,255,.66);font-size:10px}.result-actions{display:flex;gap:5px;margin-top:10px}.result-actions button{min-height:29px;padding:5px 8px;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;background:rgba(255,255,255,.12);font-size:10px;font-weight:750}.result-actions button:hover{background:rgba(255,255,255,.25)}.result-actions button.primary{color:var(--navy);background:#fff}.result-status{display:inline-block;margin-top:9px;padding:4px 6px;border-radius:5px;color:var(--navy);background:#fff;font-size:10px;font-weight:850}.draw-controls-panel{width:260px;align-self:stretch;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.control-heading{display:flex;align-items:flex-start;justify-content:space-between}.pool-count{color:var(--teal);font-size:11px;font-weight:800}.pool-tabs{display:flex;gap:3px;margin:22px 0 16px;padding:3px;border-radius:9px;background:#e8efed}.pool-tab{flex:1;min-height:37px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:12px;font-weight:800}.pool-tab.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px rgba(24,42,56,.11)}.quantity-row{justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.quantity-row label{display:flex;align-items:center;gap:5px;color:var(--ink)}select,input,textarea{border:1px solid var(--line);border-radius:7px;outline:0;color:var(--ink);background:#fff}select:focus,input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,118,111,.11)}.quantity-row select{min-width:53px;min-height:34px;padding:5px 7px;font-weight:800}.quantity-row b{font-size:11px}.draw-button{width:100%;margin-top:18px;min-height:47px;font-size:13px}.helper-text{min-height:35px;margin:11px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.manage-link{display:inline-flex;gap:8px;margin-top:28px;color:var(--teal);font-size:11px;font-weight:800;text-decoration:none}.manage-link:hover{text-decoration:underline}.manage-link span{font-size:16px;line-height:10px}.theme-scene:before,.theme-scene:after{content:"";position:absolute}.theme-orbit{background:radial-gradient(circle at 53% 51%,rgba(244,201,93,.2),transparent 24%),linear-gradient(135deg,#192f42,#244e5c)}.orbit-ring{position:absolute;top:50%;left:51%;width:min(52vw,550px);height:min(52vw,550px);border:1px solid rgba(244,201,93,.3);border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg)}.orbit-ring:before,.orbit-ring:after{content:"";position:absolute;inset:13%;border:1px solid rgba(119,180,213,.23);border-radius:50%;transform:rotate(65deg)}.orbit-ring:after{inset:29%;border-color:rgba(237,141,131,.28);transform:rotate(-43deg)}.orbit-ball{position:absolute;top:50%;left:51%;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 32% 27%,#fff8cf 0 6%,#f4c95d 8% 30%,#db835e 69%,#c65762);box-shadow:0 0 50px rgba(244,201,93,.33);transform:translate(-50%,-50%)}.orbit-mini{position:absolute;width:29px;height:29px;border-radius:50%;background:var(--blue);box-shadow:0 0 22px rgba(119,180,213,.52);animation:orbit 5s linear infinite}.orbit-mini.one{top:18%;left:47%}.orbit-mini.two{top:67%;left:75%;background:var(--pink);animation-duration:6.3s;animation-direction:reverse}.orbit-mini.three{top:72%;left:27%;background:var(--yellow);animation-duration:7.2s}.theme-orbit.is-drawing .orbit-ball{animation:orbital-pulse 1s ease-in-out infinite}.theme-orbit.is-drawing .orbit-mini{animation-duration:1.2s}.theme-stars{background:radial-gradient(circle at 53% 46%,rgba(146,130,196,.32),transparent 27%),linear-gradient(145deg,#171e3c,#3b376b)}.star-field{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 2px),radial-gradient(circle,#f4c95d 0 1px,transparent 2px);background-size:83px 71px,127px 113px;background-position:12px 15px,42px 31px;opacity:.75;animation:star-drift 13s linear infinite}.constellation{position:absolute;top:20%;left:50%;width:310px;height:280px;transform:translateX(-50%);opacity:.7}.constellation:before{content:"";position:absolute;inset:25px;background:linear-gradient(27deg,transparent 48%,rgba(255,255,255,.25) 49% 50%,transparent 51%),linear-gradient(130deg,transparent 47%,rgba(255,255,255,.2) 48% 49%,transparent 50%)}.constellation i{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 15px #fff}.constellation i:nth-child(1){top:35px;left:42px}.constellation i:nth-child(2){top:103px;left:120px}.constellation i:nth-child(3){top:40px;right:45px}.constellation i:nth-child(4){bottom:36px;left:76px}.constellation i:nth-child(5){bottom:76px;right:70px}.comet{position:absolute;top:26%;left:-15%;width:145px;height:2px;background:linear-gradient(90deg,transparent,#f4c95d);transform:rotate(-17deg);animation:comet 4.5s ease-in-out infinite}.theme-stars.is-drawing .comet{animation:comet-fast 1.2s ease-in-out infinite}.theme-paper{background:linear-gradient(145deg,#70463e,#bd7057)}.paper-confetti{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,240,205,.7) 0 2px,transparent 3px),linear-gradient(120deg,transparent 48%,rgba(255,255,255,.15) 49% 50%,transparent 51%);background-size:76px 65px,110px 90px;opacity:.65}.paper-stack{position:absolute;top:50%;left:50%;width:190px;height:230px;transform:translate(-50%,-45%) rotate(-5deg)}.paper-slip{position:absolute;left:17px;top:24px;width:155px;height:190px;border-radius:5px;background:#fff9e8;box-shadow:0 14px 20px rgba(61,33,27,.21);transform:rotate(-7deg)}.paper-slip:after{content:"✦";position:absolute;right:18px;bottom:18px;color:#ed8d83;font-size:28px}.paper-slip:nth-child(2){left:7px;top:13px;background:#f9e0a4;transform:rotate(7deg)}.paper-slip:nth-child(3){left:28px;top:30px;background:#fffdf4;transform:rotate(1deg)}.paper-stack:after{content:"抽一张";position:absolute;z-index:2;top:92px;left:56px;color:#70463e;font-size:17px;font-weight:900;letter-spacing:.08em;transform:rotate(1deg)}.paper-flying{position:absolute;top:15%;right:19%;width:78px;height:104px;border-radius:5px;background:#fff9e8;box-shadow:0 10px 23px rgba(61,33,27,.15);transform:rotate(17deg);animation:paper-fly 5s ease-in-out infinite}.theme-paper.is-drawing .paper-flying{animation:paper-flip .85s ease-in-out infinite}.theme-paper.is-drawing .paper-stack{animation:stack-shake .28s ease-in-out infinite}.theme-bubbles{background:linear-gradient(160deg,#163b55,#2a7f80 55%,#f0bb63)}.bubble-field{position:absolute;inset:0;overflow:hidden}.bubble{position:absolute;bottom:-90px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:radial-gradient(circle at 29% 25%,rgba(255,255,255,.74),rgba(119,180,213,.18) 36%,rgba(255,255,255,.04) 70%);box-shadow:inset -8px -8px 18px rgba(255,255,255,.1);animation:bubble-rise 7s ease-in infinite}.bubble:nth-child(1){left:17%;width:66px;height:66px;animation-delay:-1s}.bubble:nth-child(2){left:66%;width:105px;height:105px;animation-delay:-4s;animation-duration:9s}.bubble:nth-child(3){left:44%;width:34px;height:34px;animation-delay:-6s;animation-duration:5s}.bubble:nth-child(4){left:80%;width:46px;height:46px;animation-delay:-2.5s;animation-duration:6.5s}.bubble-core{position:absolute;top:50%;left:50%;width:128px;height:128px;border:1px solid rgba(255,255,255,.5);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 16px rgba(255,255,255,.05),0 0 0 32px rgba(255,255,255,.04);animation:core-breathe 3s ease-in-out infinite}.theme-bubbles.is-drawing .bubble-core{animation:core-pop .9s ease-in-out infinite}.theme-bubbles.is-drawing .bubble{animation-duration:1.2s}.stage-theme-stars .stage-header{}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.project-total{padding:9px 12px;border-radius:9px;color:var(--teal);background:#e4efec;font-size:12px;font-weight:800}.project-manager-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(250px,390px);gap:20px;align-items:start}.project-manager-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.project-manager-card .pool-tabs{margin:0 0 19px}.manager-toolbar{justify-content:space-between;gap:16px}.manager-toolbar strong{display:block;font-size:14px}.manager-toolbar span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.add-project-form{display:flex;gap:7px}.add-project-form input{width:190px;min-height:36px;padding:8px 10px;font-size:14px}.project-list{display:grid;gap:7px;margin-top:18px}.project-row{display:flex;align-items:center;gap:10px;padding:11px;border-radius:8px;background:#f4f7f6}.project-row.archived{opacity:.47}.project-color{width:9px;height:9px;border-radius:50%;background:var(--card-color,var(--blue))}.project-name{overflow:hidden;flex:1;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.archive-button{padding:4px;border:0;color:var(--muted);background:transparent;font-size:11px}.project-tip{padding:28px;border-radius:15px;color:#fff;background:var(--navy);box-shadow:var(--shadow)}.tip-mark{color:var(--yellow);font-size:26px}.project-tip h3{margin:25px 0 8px;font-size:20px;letter-spacing:-.04em}.project-tip p{margin:0;color:rgba(255,255,255,.7);font-size:13px;line-height:1.75}.tip-rule{height:1px;margin:24px 0 15px;background:rgba(255,255,255,.19)}.project-tip>span:last-child{color:rgba(255,255,255,.62);font-size:11px}.empty-state{color:var(--muted);text-align:center}.empty-state.small{padding:26px 0;font-size:12px;line-height:1.7}
.records-page{display:flex;flex-direction:column;height:calc(100vh - 58px);min-height:0;padding-bottom:14px}.calendar-toolbar{justify-content:space-between;gap:18px;min-height:55px}.date-controls{gap:6px}.date-controls input{width:132px;min-height:35px;padding:6px 8px;font-size:12px;font-weight:800}.today-button{min-height:35px;padding:7px 10px}.calendar-summary{min-height:21px;margin-top:13px;color:var(--muted);font-size:11px}.calendar-headings{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line)}.time-heading,.lane-heading{padding:0 9px 9px}.time-heading{color:var(--muted);font-size:10px}.lane-heading{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-left:1px solid var(--line);font-size:12px;font-weight:850}.lane-heading small{display:block;width:100%;padding-left:14px;color:var(--muted);font-size:10px;font-weight:500}.lane-dot{width:7px;height:7px;border-radius:50%;background:var(--yellow)}.actual-heading .lane-dot{background:var(--pink)}.calendar-scroll{position:relative;flex:1;min-height:0;overflow:auto;border-bottom:1px solid var(--line);scroll-behavior:smooth}.calendar-board{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);height:1440px;min-width:0;background:#fff}.time-rail{position:relative;border-right:1px solid var(--line);background:#fbfcfa}.time-label{position:absolute;right:8px;transform:translateY(-50%);color:#71808a;font-size:10px}.lane{position:relative;border-right:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,rgba(215,224,228,.78) 60px)}.actual-lane{border-right:0;background-color:#fdfdfb}.event-card{position:absolute;z-index:1;min-height:46px;overflow:hidden;padding:7px 8px;border:0;border-left:3px solid var(--card-color,var(--blue));border-radius:7px;color:var(--ink);text-align:left;background:color-mix(in srgb,var(--card-color,var(--blue)) 13%,white);box-shadow:0 2px 7px rgba(29,52,40,.08);cursor:pointer}.event-card:hover,.event-card.is-linked{z-index:2;box-shadow:0 5px 15px rgba(29,52,40,.17);transform:translateY(-1px)}.event-card.manual{border-left-style:dashed}.event-time{color:var(--card-color,var(--blue));font-size:10px;font-weight:850}.event-name{overflow:hidden;margin-top:3px;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.event-meta{overflow:hidden;margin-top:3px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.calendar-footer{display:flex;justify-content:space-between;gap:10px;padding-top:9px;color:var(--muted);font-size:10px}.legend-line{display:inline-block;width:15px;height:1px;margin-right:5px;vertical-align:middle;background:var(--muted)}.mobile-nav{display:none}.modal-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:20px;background:rgba(28,40,33,.46);backdrop-filter:blur(4px)}.modal-backdrop[hidden]{display:none}.modal{width:min(600px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:23px;border-radius:13px;background:#fff;box-shadow:0 20px 60px rgba(22,35,27,.22)}.modal-header{justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:6px 0 0;font-size:25px;letter-spacing:-.06em}.close-button{color:var(--muted);background:#edf1ed;font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 11px}.form-field{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:38px;padding:8px 10px;font-size:14px;font-weight:500;resize:vertical}.form-field.wide{grid-column:1/-1}.optional{color:#a0aaa3;font-weight:500}.modal-actions{justify-content:space-between;gap:12px;margin-top:22px}.modal-actions>div{display:flex;gap:7px}.settings-status{gap:13px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#f7faf7}.settings-status>i{flex:0 0 auto}.settings-status strong{display:block;font-size:13px}.settings-status span{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.55}.settings-actions{gap:8px;margin-top:16px}.settings-note{margin:16px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.toast{position:fixed;z-index:20;left:50%;bottom:23px;padding:10px 15px;border-radius:8px;color:#fff;background:var(--ink);box-shadow:0 7px 20px rgba(0,0,0,.17);font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes orbit{from{transform:rotate(0deg) translateX(145px) rotate(0deg)}to{transform:rotate(360deg) translateX(145px) rotate(-360deg)}}@keyframes orbital-pulse{50%{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 85px rgba(244,201,93,.65)}}@keyframes star-drift{to{background-position:95px 72px,0 0}}@keyframes comet{0%,100%{left:-15%;opacity:0}25%,60%{left:110%;opacity:1}70%{opacity:0}}@keyframes comet-fast{0%{left:-20%;opacity:0}50%{left:115%;opacity:1}100%{left:130%;opacity:0}}@keyframes paper-fly{0%,100%{transform:translate(0,0) rotate(17deg)}50%{transform:translate(-25px,22px) rotate(28deg)}}@keyframes paper-flip{50%{transform:translate(-45px,80px) rotate(180deg)}}@keyframes stack-shake{50%{transform:translate(-50%,-45%) rotate(4deg)}}@keyframes bubble-rise{0%{transform:translateY(0) scale(.9);opacity:0}12%{opacity:1}100%{transform:translateY(-700px) scale(1.12);opacity:0}}@keyframes core-breathe{50%{transform:translate(-50%,-50%) scale(1.13);opacity:.7}}@keyframes core-pop{50%{transform:translate(-50%,-50%) scale(1.7);opacity:.4}}@keyframes reveal-card{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:900px){.app-bar{padding:0 18px}.top-nav{margin-left:15px}.page{padding-inline:24px}.draw-workspace{gap:12px}.draw-controls-panel{width:230px}.project-manager-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:700px){body{padding-bottom:65px}.app-bar{height:54px}.brand-subtitle,.storage-status span,.top-nav{display:none}.app-bar h1{font-size:16px}.app-bar-actions{gap:0}.settings-button{min-height:34px;padding:7px 10px}.app-main{min-height:calc(100vh - 54px)}.page{padding:21px 13px 28px}.draw-page-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:15px}.draw-page-heading h2,.page-heading h2,.date-block h2{font-size:27px}.draw-page-heading p,.page-heading p,.date-block p{font-size:13px}.theme-picker{width:100%;justify-content:space-between}.draw-workspace{display:flex;flex-direction:column;min-height:0;gap:12px}.draw-stage{min-height:500px;padding:19px;border-radius:15px}.stage-header h3{font-size:19px}.stage-date{font-size:10px}.draw-controls-panel{width:100%;padding:14px;border-radius:13px}.draw-controls-panel .pool-tabs{margin:11px 0 12px}.quantity-row{padding:10px 0}.draw-button{min-height:48px;margin-top:13px}.helper-text{min-height:18px;margin-top:7px}.manage-link{margin-top:14px}.draw-result{grid-template-columns:1fr;max-height:170px}.draw-result-card{padding:10px}.mobile-nav{position:fixed;z-index:9;right:0;bottom:0;left:0;display:flex;justify-content:space-around;min-height:65px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -5px 18px rgba(29,52,40,.08)}.mobile-nav-link{display:grid;place-items:center;min-width:64px;min-height:48px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:11px;font-weight:800}.mobile-nav-link span{font-size:17px;line-height:19px}.mobile-nav-link.active{color:var(--teal);background:#eaf3ef}.records-page{height:calc(100vh - 54px);padding-bottom:0}.calendar-toolbar{align-items:flex-start;flex-wrap:wrap;gap:11px}.date-controls{width:100%;justify-content:flex-end;flex-wrap:wrap}.date-controls input{flex:1;min-width:118px;min-height:40px;font-size:16px}.date-controls .icon-button,.today-button{min-height:40px}.calendar-summary{font-size:11px}.calendar-headings{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)}.calendar-board{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)}.time-heading,.lane-heading{padding-inline:6px}.lane-heading{gap:4px;font-size:11px}.lane-heading small{padding-left:11px;font-size:9px}.time-label{right:5px;font-size:9px}.event-card{padding-inline:5px}.event-name{font-size:11px}.event-meta{font-size:9px}.calendar-footer{display:none}.page-heading{align-items:flex-start;flex-direction:column;gap:10px}.project-manager-layout{display:block}.project-manager-card{padding:14px}.manager-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.add-project-form,.add-project-form input{width:100%}.add-project-form input{min-height:42px;font-size:16px}.project-manager-card .icon-button{width:42px;height:42px}.project-tip{margin-top:12px;padding:20px}.modal{padding:18px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.modal-actions{align-items:stretch;flex-direction:column}.modal-actions>div{justify-content:flex-end}.settings-actions{align-items:stretch;flex-direction:column}.settings-actions .button{width:100%;min-height:43px}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:42px}}
@media(max-width:360px){.page{padding-inline:9px}.draw-stage{min-height:465px}.stage-header h3{font-size:17px}.stage-kicker{font-size:9px}.stage-date{padding:6px 7px}.event-name{font-size:10px}.event-meta{font-size:8px}}
