@font-face{font-family:"Permanent Marker";src:url(fonts/PermanentMarker.woff2) format("woff2");font-display:swap}
:root{--bg:#ffe6f0;--card:rgba(255,255,255,.92);--ink:#4a1d34;--mut:#8f5a74;--ac:#e8387c;--acd:#c21e62;--line:#f6c6da;--ok:#dff5e6;--bad:#ffe0e0;--chip:#fff3f8;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;min-height:100vh;min-height:100dvh;color:var(--ink);font:16px/1.45 -apple-system,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 background:var(--bg) url(doodles.svg) 0 0/300px;background-attachment:fixed;overscroll-behavior-y:none;touch-action:manipulation}
.graf{font-family:"Permanent Marker","Marker Felt","Bradley Hand",cursive;font-weight:400;letter-spacing:.02em;line-height:1.05}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:calc(8px + var(--sat)) 14px 8px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:2px dashed var(--line)}
.brand{text-decoration:none;color:var(--ac);font-size:23px;transform:rotate(-2.5deg);display:inline-block;text-shadow:2px 2px 0 #fff,3px 3px 0 #ffc94a66}
nav{display:flex;gap:6px;align-items:center}nav form{margin:0}
nav a,.link{color:var(--ac);background:none;border:0;padding:10px 8px;font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
main{max-width:760px;margin:0 auto;padding:14px 14px calc(104px + var(--sab))}
.card{background:var(--card);border:2px solid var(--line);border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 6px 0 var(--line)}
.card.narrow{max-width:400px;margin:3vh auto}
h1{margin:0 0 4px;font-size:22px}h2{margin:0 0 12px;font-size:18px;color:var(--ac)}
h3{margin:14px 0 2px;font-size:12px;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.muted{color:var(--mut)}.small{font-size:13px}
.hero{text-align:center;padding:6px 0 14px}
.hero .big1{font-size:clamp(40px,14vw,68px);color:var(--ac);transform:rotate(-4deg);display:block;
 text-shadow:3px 3px 0 #fff,5px 5px 0 #ffc94a,-2px -2px 0 #fff;-webkit-text-stroke:1px #fff}
.hero .big2{font-size:clamp(26px,9vw,40px);color:#7a4dff;transform:rotate(3deg);display:block;margin-top:8px;text-shadow:2px 2px 0 #fff,4px 4px 0 #ff8fbf}
.hero .drip{display:flex;justify-content:center;gap:18px;margin-top:-4px}.hero .drip i{width:5px;border-radius:0 0 5px 5px;background:var(--ac);display:block}
.hero .drip i:nth-child(1){height:22px}.hero .drip i:nth-child(2){height:12px}.hero .drip i:nth-child(3){height:30px}.hero .drip i:nth-child(4){height:16px}
.banner{white-space:nowrap;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 4px 14px;font-size:20px}
.banner .a{color:var(--ac);transform:rotate(-3deg);text-shadow:2px 2px 0 #fff,4px 4px 0 #ffc94a}
.banner .b{color:#7a4dff;font-size:20px;transform:rotate(4deg);text-shadow:2px 2px 0 #fff}
label{display:block;font-size:13px;color:var(--mut);margin-bottom:10px;font-weight:600}
input,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--chip);border:2px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:4px;min-height:48px;-webkit-appearance:none;appearance:none}
input[type=date]{min-width:0}
input:focus,textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px #e8387c33}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}@media(max-width:560px){.grid{grid-template-columns:minmax(0,1fr)}}
.presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:640px){.presets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pbtn{min-width:0;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;padding:12px 4px;min-height:62px;border-radius:18px;border:2px solid var(--line);background:var(--chip);color:var(--ink);font:inherit;font-weight:700;font-size:13.5px;line-height:1.2;cursor:pointer;box-shadow:0 4px 0 var(--line);transition:transform .08s}
.pbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line)}
.pbtn.on{border-color:var(--acd);background:var(--ac);color:#fff;box-shadow:0 4px 0 var(--acd)}
details{margin-top:6px}summary{cursor:pointer;color:var(--ac);font-weight:700;font-size:15px;padding:10px 0;min-height:44px;list-style:none}
summary::-webkit-details-marker{display:none}summary::before{content:"✿ "}
.head{display:flex;justify-content:space-between;align-items:center;gap:8px}.head h2{margin:0}
.inline{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:16px;margin:0;min-height:44px}
.it{display:flex;align-items:center;gap:14px;padding:10px 6px;margin:0;min-height:50px;color:var(--ink);font-size:16px;font-weight:500;border-bottom:1.5px dotted var(--line);cursor:pointer}
.it{color:var(--mut)}.it:has(input:checked){background:#ffe0ee;color:var(--ink);border-radius:12px}
.it:not(:has(input:checked)) span{font-weight:400}.it.hide,.grp.hide{display:none}
.it:has(input:checked) span{font-weight:700}
button{font:inherit;cursor:pointer;-webkit-appearance:none}
.primary{background:var(--ac);color:#fff;border:0;border-radius:16px;padding:14px 20px;font-weight:700;min-height:50px;box-shadow:0 4px 0 var(--acd)}
.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--acd)}
.big{width:100%;font-size:18px}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + var(--sab));background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:2px dashed var(--line)}
.bar .big{max-width:760px;display:block;margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:46px;border:2px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;background:var(--chip);font-weight:600}
.wa{background:#1fa855;box-shadow:0 4px 0 #14793c}
.alert{background:var(--bad);border-radius:14px;padding:12px 14px;margin-bottom:12px;font-weight:600}.ok{background:var(--ok);border-radius:14px;padding:12px 14px;margin-bottom:12px}
.files{list-style:none;padding:0;margin:8px 0 18px}.files li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0;border-bottom:1.5px dotted var(--line)}.files span{flex:1 1 100%;font-weight:700}
.files .btn{flex:1}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 220px}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--sab));transform:translateX(-50%);background:var(--acd);color:#fff;padding:12px 18px;border-radius:14px;font-weight:700;z-index:50;max-width:90vw}
@media(display-mode:standalone){body{user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}}

select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--chip);border:2px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:4px;min-height:48px}
input[type=checkbox]{width:28px;height:28px;min-height:0;margin:0;flex:none;padding:0;border:2.5px solid #c9a3b5;border-radius:9px;background:#fff;position:relative;cursor:pointer}
input[type=checkbox]:checked{background:var(--ac);border-color:var(--acd)}
input[type=checkbox]:checked::after{content:"";position:absolute;left:8px;top:2px;width:7px;height:14px;border:solid #fff;border-width:0 3.5px 3.5px 0;transform:rotate(45deg)}
.inline{padding:6px 0;cursor:pointer}.inline input{margin:0}
.pbtn.cu{border-style:dashed}
.savebox{margin-top:12px;padding:12px;border:2px dashed var(--line);border-radius:16px;background:var(--chip)}
.mine{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1.5px dotted var(--line)}
.mine .del{color:#b3261e;flex:none}
.top{gap:6px}.brand{font-size:20px;flex:none}
nav{gap:0;min-width:0}nav a,.link{font-size:14px;padding:10px 6px}
@media(max-width:400px){nav a,.link{padding:10px 4px;font-size:13.5px}.brand{font-size:18px}}
main,.card,form{min-width:0;max-width:100%}
/* ---- bottom tab bar (manager) ---- */
:root{--tab:64px}
.who{font-size:13px;color:var(--mut);font-weight:600}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:2px solid var(--line);padding:6px 4px calc(6px + var(--sab))}
.tabs a{display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;color:var(--mut);font-size:11.5px;font-weight:700;padding:4px 0;border-radius:14px;min-height:48px}
.tabs a i{font-style:normal;font-size:21px;line-height:1.1;filter:grayscale(.7);opacity:.75}
.tabs a.on{color:var(--ac);background:#ffe0ee}.tabs a.on i{filter:none;opacity:1}
main{padding-bottom:calc(var(--tab) + 110px + var(--sab))}
.bar{bottom:calc(var(--tab) + var(--sab));padding-bottom:10px;z-index:30}
.toast{bottom:calc(var(--tab) + 90px + var(--sab))}
