:root{--ink:#3D2F22;--ink-soft:#7A6A57;--ink-type:#5A4030;--terracotta:#C96342;--terracotta-dark:#A34A2E;--mustard:#E3A857;--line:rgba(74,59,44,0.18);--danger:#B4553F;--goal-w:140px;--cell:52px;--font-print:"Bricolage Grotesque",sans-serif;--font-mag:"Fraunces",Georgia,"Times New Roman",serif;--font-goal:"Courier Prime",Courier,monospace;--font-dek:"Instrument Serif",Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{height:100%}body,html{background-color:#DBD7CE}body{margin:0;position:relative;isolation:isolate;min-height:100%;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;color:var(--ink);font-family:var(--font-print);padding:36px 16px max(72px,env(safe-area-inset-bottom));cursor:url(/stickers/wand-cursor.png?v=7) 10 2,url(/stickers/wand-cursor-32.png?v=7) 8 2,auto;overscroll-behavior-y:none}.wall-bg{right:0;bottom:0;z-index:0;overflow:hidden;pointer-events:none;background-color:#DBD7CE}.wall-bg,.wall-bg img{position:absolute;top:0;left:0}.wall-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.wall-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.22),transparent 42%),radial-gradient(ellipse at 82% 88%,rgba(120,95,70,.08),transparent 48%);pointer-events:none}.cell,.chip,.day-chip,.icon-btn,.tray-sticker,a,button{cursor:url(/stickers/wand-cursor.png?v=7) 10 2,url(/stickers/wand-cursor-32.png?v=7) 8 2,pointer}input,textarea{cursor:text}button{font-family:inherit}.wrap{max-width:1280px;margin:0 auto;position:relative;z-index:1}.corner-add{position:absolute;top:41px;right:36px;z-index:5;width:44px;height:44px;border-radius:50%;background:var(--terracotta);color:#fff;border:none;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 var(--terracotta-dark)}.corner-add:active{transform:translateY(2px);box-shadow:0 2px 0 var(--terracotta-dark)}.corner-close{position:absolute;top:36px;right:36px;z-index:5;width:44px;height:44px;border:none;background:transparent;box-shadow:none;color:var(--terracotta);font-size:32px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.corner-close:hover{color:var(--terracotta-dark)}.corner-close:active{transform:translateY(1px);box-shadow:none}.poster{position:relative;width:min(100%,760px);margin:28px auto 0;padding:64px 44px 48px;overflow:visible}.poster .paper-bg{position:absolute;top:-10px;left:-14px;width:calc(100% + 28px);height:calc(100% + 24px);object-fit:fill;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 14px 22px rgba(60,40,20,.22))}.poster>:not(.paper-bg):not(.tape):not(.corner-add):not(.corner-close):not(.create-decor-layer){position:relative;z-index:1}.tape{position:absolute;z-index:2;width:152px;height:auto;background:none;border:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px rgba(60,40,20,.2))}.tape.top{top:1px;left:50%;transform:translate(-50%,-22%) rotate(-3deg)}.poster-header{text-align:center;margin-bottom:28px}.poster-header .mark{display:inline-block;margin-bottom:4px;transform:rotate(-8deg)}.poster-header .mark img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(60,40,20,.15))}.poster-header h1{font-family:var(--font-print);font-weight:800;font-size:clamp(40px,7.5vw,58px);margin:0;line-height:.98;color:var(--terracotta-dark);letter-spacing:-.03em;font-optical-sizing:auto}.poster-header p{margin:12px 0 0;font-family:var(--font-dek);font-style:italic;font-weight:400;font-size:clamp(18px,2.5vw,22px);color:var(--ink-soft);letter-spacing:.01em}.board-block,.create-block{width:100%;max-width:100%}.field{margin-bottom:16px;text-align:left;width:100%}.field label{display:block;font-family:var(--font-dek);font-style:italic;font-weight:400;font-size:15px;color:var(--ink-soft);margin-bottom:8px;letter-spacing:.01em}.field input[type=text]{display:block;width:100%;max-width:100%;padding:6px 2px 8px;border:none;border-radius:0;background:transparent;font-family:var(--font-goal);font-style:normal;font-weight:400;font-size:16px;color:var(--ink-type);letter-spacing:.015em;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field input[type=text]:focus{outline:none;box-shadow:inset 0 -1px 0 rgba(74,59,44,.28)}.field input[type=text]::placeholder{color:#B5A390;font-size:16px;font-style:normal;font-weight:400;letter-spacing:.02em;opacity:.85}.create-block .field:first-child{text-align:center;max-width:none;width:100%;margin-left:auto;margin-right:auto}.create-block #name-input{text-align:center;font-size:clamp(21px,3.4vw,28px);padding:10px 8px 12px;letter-spacing:.02em}.create-block #name-input::placeholder{font-size:clamp(19px,3.1vw,24px);text-align:center}.chip-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn,.chip,.day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:0;background-color:transparent!important;background-image:var(--washi);background-size:100% 100%;background-repeat:no-repeat;background-position:50%;-webkit-mask-image:var(--washi);mask-image:var(--washi);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;filter:drop-shadow(0 2px 3px rgba(60,40,20,.18))}.chip{--washi:url(/stickers/washi-cream.png?v=mask2);padding:9px 16px;font-size:13px;font-weight:600;color:var(--ink-soft);font-family:var(--font-print);transform:rotate(-.8deg);letter-spacing:-.01em}.chip:nth-child(2){transform:rotate(.6deg)}.chip:nth-child(3){transform:rotate(-1.2deg)}.chip.active{color:var(--ink);text-shadow:0 1px 0 rgba(255,252,247,.35);filter:drop-shadow(0 2px 4px rgba(60,40,20,.2))}.chip.chip-daily.active{--washi:url(/stickers/washi-daily.png?v=cohesive);color:#5A4030}.chip.chip-weekdays.active{--washi:url(/stickers/washi-weekdays.png?v=cohesive);color:#F7F2EA}.chip.chip-custom.active{--washi:url(/stickers/washi-custom.png?v=cohesive);color:#4A3B55}.chip:active{transform:translateY(1px)}.day-chip-row{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.day-chip{--washi:url(/stickers/washi-cream.png?v=mask2);min-width:36px;height:32px;padding:0 8px;font-size:11px;font-weight:700;font-family:var(--font-goal);letter-spacing:.02em;color:var(--ink-soft);transform:rotate(-1deg)}.day-chip:nth-child(2n){transform:rotate(1deg)}.day-chip.active{--washi:url(/stickers/washi-custom.png?v=cohesive);color:#4A3B55;filter:drop-shadow(0 2px 3px rgba(60,40,20,.16))}.day-chip:active{transform:translateY(1px)}.btn{--washi:url(/stickers/washi-poster.png?v=terra);display:inline-block;font-family:var(--font-print);font-weight:700;font-size:14px;color:#4A2A22;padding:13px 28px;letter-spacing:-.01em;transform:rotate(-.6deg);text-shadow:0 1px 0 rgba(255,248,240,.4)}.btn:active{transform:rotate(-.6deg) translateY(1px);filter:drop-shadow(0 1px 2px rgba(60,40,20,.16))}.btn.btn-poster{--washi:url(/stickers/washi-poster.png?v=terra);color:#4A2A22;text-shadow:0 1px 0 rgba(255,248,240,.45)}.btn.btn-save{--washi:url(/stickers/washi-save.png?v=mask2);transform:rotate(.5deg)}.btn.btn-save:active{transform:rotate(.5deg) translateY(1px)}.btn.btn-cancel,.btn.ghost{--washi:url(/stickers/washi-coral.png?v=cohesive);color:#6A4038;transform:rotate(.5deg);text-shadow:0 1px 0 rgba(255,248,245,.35)}.btn.btn-cancel:active,.btn.ghost:active{transform:rotate(.5deg) translateY(1px)}.btn.btn-close{--washi:url(/stickers/washi-close.png?v=mask2);color:var(--ink-soft);transform:rotate(-.4deg);text-shadow:none}.btn.btn-close:active{transform:rotate(-.4deg) translateY(1px)}.btn.btn-delete,.btn.danger{--washi:url(/stickers/washi-delete.png?v=mask2);color:#4A2A2A;transform:rotate(.8deg)}.btn.btn-delete:active,.btn.danger:active{transform:rotate(.8deg) translateY(1px)}.btn-row{text-align:center;margin-top:16px;display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;width:100%}.btn.small{padding:9px 18px;font-size:13px}.btn.linky{--washi:none;background:none!important;background-image:none!important;-webkit-mask-image:none;mask-image:none;filter:none;box-shadow:none;color:var(--ink-soft);font-family:var(--font-mag);font-style:italic;font-size:18px;padding:4px 8px;transform:none;text-shadow:none}.btn.linky:hover{color:var(--terracotta-dark)}.btn.linky:active{transform:none;filter:none}.icon-btn{background:transparent;border:none;width:28px;height:28px;font-size:14px;color:var(--ink-soft);flex-shrink:0;opacity:.55}.icon-btn:hover{opacity:1}.edit-panel{background:rgba(255,248,236,.7);border:1px dashed var(--line);border-radius:12px;padding:14px;margin:8px 0 4px}.edit-panel .btn-row{justify-content:flex-start;margin-top:12px}.create-block h2{font-family:var(--font-print);font-size:28px;margin:0 0 6px;color:var(--ink);font-weight:700;text-align:center;letter-spacing:-.02em}.create-block .sub{text-align:center;font-family:var(--font-mag);font-style:italic;font-weight:300;font-size:18px;color:var(--ink-soft);margin-bottom:22px}.create-decor-layer{position:absolute;inset:18px 22px 24px;z-index:2;pointer-events:none}.create-decor{position:absolute;border:none;background:transparent;padding:0;width:48px;height:48px;pointer-events:auto;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,-webkit-grab;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,grab;touch-action:none;filter:drop-shadow(0 2px 3px rgba(60,40,20,.18));z-index:4}.create-decor.is-dragging,.create-decor:active{cursor:url(/stickers/wand-cursor.png?v=7) 10 2,-webkit-grabbing;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,grabbing;z-index:8}.create-decor img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.create-decor.pop-in img{animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}.create-tray .tray-label-mobile{display:none}@media (max-width:1024px){.create-tray .tray-label-desk{display:none}.create-tray .tray-label-mobile{display:block}}.create-tray .tray-sticker{cursor:url(/stickers/wand-cursor.png?v=7) 10 2,-webkit-grab;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,grab;touch-action:pan-x}.create-tray .tray-sticker:active{cursor:url(/stickers/wand-cursor.png?v=7) 10 2,-webkit-grabbing;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,grabbing}body.is-decor-dragging,body.is-decor-dragging .create-tray .tray-scroll{overflow:hidden;touch-action:none;overscroll-behavior:none}body.is-decor-dragging .create-tray .tray-sticker{touch-action:none}.poster.is-create .create-block,.poster.is-create .create-tray,.poster.is-create .poster-header{position:relative;z-index:3}.decor-ghost{position:fixed;width:48px;height:48px;pointer-events:none;z-index:1000;opacity:.92;filter:drop-shadow(0 4px 8px rgba(60,40,20,.25));transform:translate(-50%,-50%) rotate(-6deg) scale(1.08)}.decor-ghost img{width:100%;height:100%;object-fit:contain;display:block}.tray{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:8px 0 22px;padding:10px 0 12px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.tray.create-tray{margin-top:30px;padding-top:20px}.tray .tray-label{font-family:var(--font-mag);font-style:italic;font-weight:400;font-size:18px;color:var(--ink-soft);width:100%;text-align:center;padding:0 8px}.tray-scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:8px 12px 10px;scrollbar-width:thin;scrollbar-color:rgba(74,59,44,.28) transparent}.tray-scroll::-webkit-scrollbar{height:6px}.tray-scroll::-webkit-scrollbar-thumb{background:rgba(74,59,44,.25);border-radius:3px}.scene{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:20px;width:100%;max-width:1280px;margin:0 auto}.scene .poster{flex:1 1 auto;width:min(100%,760px);max-width:760px;min-width:0;margin:28px 0 0}.wall-tray{border:none;margin:36px 0 8px;padding:0;gap:2px;width:min(40vw,480px);flex:0 1 480px;min-width:300px;max-width:480px;position:-webkit-sticky;position:sticky;top:24px;align-self:flex-start;z-index:4;filter:drop-shadow(0 10px 16px rgba(40,28,16,.28))}.wall-tray .tray-label{display:block;width:100%;text-align:center;font-family:var(--font-goal);font-style:normal;font-weight:400;color:rgba(90,70,50,.72);padding:0 8px;margin:0 0 4px;line-height:1.15}.wall-tray .tray-metal{position:relative;width:100%;line-height:0;overflow:visible}.wall-tray .tray-head{margin-bottom:2px}.wall-tray .tray-metal-img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.wall-tray .tray-bed{inset:16% 9% 15% 9%;z-index:2}.wall-tray .tray-bed,.wall-tray .tray-bed-inner{position:absolute;overflow:visible;pointer-events:none}.wall-tray .tray-bed-inner{inset:15px;z-index:3}.wall-tray .tray-sticker{position:absolute;left:var(--tx);top:var(--ty);width:calc(var(--tsz, 12) * 1%)!important;height:auto!important;aspect-ratio:1;transform:rotate(var(--trot,0deg));scroll-snap-align:unset;filter:drop-shadow(0 2px 2px rgba(20,20,20,.28));z-index:4;touch-action:none;pointer-events:auto;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,-webkit-grab;cursor:url(/stickers/wand-cursor.png?v=7) 10 2,grab}.wall-tray .tray-sticker.is-dragging{opacity:.35}.cell.drop-target{border:1.5px solid rgba(201,99,66,.55)!important;background:rgba(201,99,66,.06)!important}.wall-tray .tray-sticker:hover{transform:translateY(-4px) rotate(var(--trot,0deg)) scale(1.06);z-index:5}.wall-tray .tray-sticker:active{transform:translateY(-1px) rotate(var(--trot,0deg)) scale(1.02)}.wall-tray .tray-sticker.selected{border-color:transparent;background:transparent;z-index:6;transform:translateY(-8px) rotate(var(--trot,0deg)) scale(1.1);filter:drop-shadow(0 1px 0 rgba(20,12,6,.45)) drop-shadow(0 4px 3px rgba(20,12,6,.4)) drop-shadow(0 12px 14px rgba(20,12,6,.55)) drop-shadow(0 22px 28px rgba(20,12,6,.4))}.wall-tray .tray-sticker.selected:hover{transform:translateY(-10px) rotate(var(--trot,0deg)) scale(1.12);filter:drop-shadow(0 1px 0 rgba(20,12,6,.5)) drop-shadow(0 5px 4px rgba(20,12,6,.45)) drop-shadow(0 14px 16px rgba(20,12,6,.58)) drop-shadow(0 26px 32px rgba(20,12,6,.42))}.tray-sticker{width:36px;height:36px;border-radius:10px;border:2px solid transparent;display:flex;align-items:center;justify-content:center;background:transparent;padding:2px;flex-shrink:0;transition:transform .18s ease,opacity .18s ease,filter .18s ease;scroll-snap-align:center}.tray-sticker:hover{transform:translateY(-3px) rotate(-4deg)}.tray-sticker:active{transform:translateY(-1px) rotate(-2deg)}.tray-sticker img{width:100%;height:100%;object-fit:contain}.tray-sticker.selected{border-color:transparent;background:transparent}@media (prefers-reduced-motion:reduce){.tray-sticker,.tray-sticker:active,.tray-sticker:hover,.wall-tray .tray-sticker.selected,.wall-tray .tray-sticker.selected:hover,.wall-tray .tray-sticker:active,.wall-tray .tray-sticker:hover{transition:none;transform:none}.wall-tray .tray-sticker,.wall-tray .tray-sticker.selected{transform:rotate(var(--trot,0deg))}}.tray-collapse,.tray-fab{display:none}.wall-tray .tray-head{display:contents}@media (max-width:1024px){.scene{flex-direction:column;align-items:center;gap:8px;max-width:100%}.scene .poster{flex:none;width:100%;max-width:760px;margin:12px 0 0}.wall-tray{order:0;width:min(88vw,560px);flex:none;margin:0;position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:40;gap:0;touch-action:none}.wall-tray.is-closed{display:none}.wall-tray .tray-head{display:block;position:absolute;top:6px;right:6px;left:auto;z-index:6;min-height:0;width:auto;margin:0;pointer-events:none}.wall-tray .tray-label{display:none}.wall-tray .tray-collapse{display:flex;position:relative;right:auto;top:auto;transform:none;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border:none;background:rgba(255,248,240,.92);color:var(--ink-soft);font-size:20px;line-height:1;border-radius:50%;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(40,28,16,.18);cursor:pointer;z-index:5;touch-action:manipulation}.wall-tray .tray-collapse:active{transform:scale(.94)}.wall-tray.is-tray-dragging .tray-collapse{visibility:hidden}.wall-tray.is-tray-dragging{opacity:.94;filter:drop-shadow(0 14px 22px rgba(40,28,16,.36))}.wall-tray .tray-metal{pointer-events:auto;touch-action:none;position:relative}.wall-tray .tray-metal-img{pointer-events:none}.wall-tray .tray-bed{inset:15% 8% 14% 8%;pointer-events:none}.wall-tray .tray-bed-inner{inset:12px;pointer-events:none}.wall-tray .tray-sticker{pointer-events:auto;touch-action:none}.tray-fab{display:none;position:fixed;right:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:41;align-items:center;gap:8px;padding:12px 16px 12px 12px;border:none;border-radius:999px;background:rgba(255,248,240,.96);color:var(--ink);font-family:var(--font-mag);font-style:italic;font-size:17px;box-shadow:0 6px 18px rgba(40,28,16,.28);cursor:pointer;touch-action:manipulation}.tray-fab.is-on{display:inline-flex}.tray-fab img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(40,28,16,.25))}.tray-fab:active{transform:scale(.96)}}@media (max-width:560px){.wall-tray{width:min(94vw,420px);top:8px}.wall-tray .tray-bed-inner{inset:10px}}.week-nav{display:flex;align-items:center;justify-content:center;margin:10px 0 8px;gap:16px;padding:6px 4px}.week-nav .range-label{font-family:var(--font-mag);font-style:italic;font-weight:400;font-size:20px;color:var(--ink);min-width:150px;text-align:center;letter-spacing:.01em}.week-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;height:auto;min-width:28px;padding:4px 6px;border:none;border-radius:0;background:transparent;font-size:26px;line-height:1;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;box-shadow:none;transition:transform .15s ease,color .15s ease}.week-nav button:hover:not(:disabled){color:var(--terracotta-dark);transform:scale(1.12)}.week-nav button:active:not(:disabled){transform:scale(.96)}.week-nav button:disabled{opacity:.28;cursor:default}.week-caption{font-family:var(--font-mag);font-style:italic;font-weight:300;font-size:15px;color:var(--ink-soft);text-align:center;margin:0 0 14px;opacity:.9}@media (prefers-reduced-motion:reduce){.week-nav button,.week-nav button:active:not(:disabled),.week-nav button:hover:not(:disabled){transition:none;transform:none}}.board-scroll{overflow-x:visible;margin:0;padding:0}.goal-board{display:grid;grid-template-columns:minmax(0,var(--goal-w)) repeat(7,minmax(0,1fr));grid-column-gap:6px;column-gap:6px;grid-row-gap:30px;row-gap:30px;width:100%;align-items:center}.board-head{font-family:var(--font-mag);font-style:italic;font-weight:400;font-size:15px;color:var(--ink-soft);text-align:center;line-height:1.1;justify-self:center;width:100%;margin-bottom:14px}.board-head .dow{display:block}.board-head .dom{display:block;font-size:17px;font-style:normal;font-weight:600;color:var(--ink);margin-top:1px}.board-head.today .dom{color:var(--terracotta-dark)}.board-corner{grid-column:1;margin-bottom:14px}.goal-label{display:flex;align-items:center;gap:4px;width:100%;max-width:var(--goal-w);min-height:var(--cell);padding-right:10px;box-sizing:border-box;border-bottom:1px solid rgba(74,59,44,.08);align-self:stretch}.goal-label .meta{flex:1 1;min-width:0;padding:6px 0}.goal-label .name{font-family:var(--font-goal);font-weight:400;font-style:normal;font-size:14px;line-height:1.4;letter-spacing:.015em;overflow-wrap:break-word;word-break:break-word;color:var(--ink-type)}.goal-label .streak{font-family:var(--font-print);font-size:11px;font-weight:500;font-style:normal;color:var(--ink-soft);margin-top:3px;letter-spacing:.01em}.cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:min(var(--cell),100%);height:auto;aspect-ratio:1/1;max-width:100%;border-radius:50%;background:transparent!important;border:1.5px dashed rgba(74,59,44,.16);display:flex;align-items:center;justify-content:center;position:relative;padding:0;justify-self:center;align-self:center;overflow:visible;box-shadow:none;transform-origin:center;flex-shrink:0}.cell.inactive{border-style:dotted;opacity:.42}.cell.future{opacity:.4}.cell.today{border:1px solid rgba(201,99,66,.38);opacity:1}.cell.has-sticker{border-color:transparent;background:transparent!important;opacity:1}.cell.indent{animation:cellIndent .12s ease-out}@keyframes cellIndent{0%{transform:scale(1);box-shadow:none}55%{transform:scale(.82);box-shadow:inset 0 3px 8px rgba(60,40,20,.22)}to{transform:scale(.94);box-shadow:inset 0 1px 3px rgba(60,40,20,.12)}}.cell.warp{animation:paperWarp .2s ease-out}.cell .paper-ripple{position:absolute;inset:-12%;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(74,59,44,.1) 0,rgba(74,59,44,.04) 42%,transparent 70%);animation:paperRipple .2s ease-out forwards}@keyframes paperWarp{0%{transform:scale(1)}40%{transform:scale(.985)}to{transform:scale(1)}}@keyframes paperRipple{0%{transform:scale(.72);opacity:.7}55%{transform:scale(1.06);opacity:.35}to{transform:scale(1.22);opacity:0}}.sticker{position:absolute;inset:-8%;display:flex;align-items:center;justify-content:center;pointer-events:none;transform-style:preserve-3d;z-index:1}.sticker img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1.5px rgba(74,59,44,.2));transform-origin:center center;will-change:transform,opacity,filter}.sticker.pop img{animation:pop .55s cubic-bezier(.34,1.56,.64,1) both}.sticker.settle img{animation:settle .22s ease-out both}.sticker.wink img{animation:wink .42s ease-in-out both}.sticker.pop-away img{transform-origin:center center;animation:popAway .42s cubic-bezier(.34,1.4,.45,1) forwards}@keyframes pop{0%{transform:scale(.22);opacity:0}40%{transform:scale(1.34);opacity:1}62%{transform:scale(.88)}78%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes settle{0%{transform:scale(1)}45%{transform:scale(.97)}to{transform:scale(1)}}@keyframes wink{0%{transform:scale(1) rotate(0deg);filter:drop-shadow(0 1px 1.5px rgba(74,59,44,.2)) brightness(1)}35%{transform:scale(1.18) rotate(-4deg);filter:drop-shadow(0 3px 5px rgba(74,59,44,.28)) brightness(1.18)}65%{transform:scale(.94) rotate(3deg);filter:drop-shadow(0 1px 2px rgba(74,59,44,.2)) brightness(1.06)}to{transform:scale(1) rotate(0deg);filter:drop-shadow(0 1px 1.5px rgba(74,59,44,.2)) brightness(1)}}@keyframes popAway{0%{transform:scale(1) rotate(0deg);opacity:1;filter:drop-shadow(0 1px 1.5px rgba(74,59,44,.2)) brightness(1)}22%{transform:scale(1.22) rotate(-8deg);opacity:1;filter:drop-shadow(0 4px 6px rgba(74,59,44,.28)) brightness(1.12)}48%{transform:scale(.78) rotate(6deg);opacity:1;filter:drop-shadow(0 2px 3px rgba(74,59,44,.22)) brightness(1.05)}to{transform:scale(.08) rotate(28deg) translate(18%,-42%);opacity:0;filter:drop-shadow(0 8px 10px rgba(74,59,44,.12)) brightness(1.25)}}.sparkle-fleck{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;pointer-events:none;z-index:4;background:var(--fleck,#F2E6A8);-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 1px rgba(255,255,255,.7));animation:fleckDrift .72s ease-out forwards;animation-delay:var(--delay,0s)}@keyframes fleckDrift{0%{transform:translate(0) scale(.35) rotate(0deg);opacity:0}18%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.15) rotate(40deg);opacity:0}}@media (prefers-reduced-motion:reduce){.cell.indent,.cell.warp{animation:none}.cell .paper-ripple{display:none}.sticker.pop img{animation:none;opacity:1;transform:none}.sticker.settle img,.sticker.wink img{animation:none}.sticker.pop-away img{animation:none;opacity:0}.sparkle-fleck{display:none}}.goal-edit-wrap{grid-column:1/-1}.poster-foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:36px}.foot-cheer{font-family:var(--font-dek);font-style:italic;font-size:clamp(17px,2.2vw,21px);color:var(--terracotta-dark);letter-spacing:.01em;line-height:1.35}.foot-cheer,.hint{font-weight:400;text-align:center;margin:0}.hint{font-family:var(--font-goal);font-style:normal;font-size:11px;color:rgba(90,70,50,.55);letter-spacing:.02em}.confirm-scrim{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:rgba(55,40,28,.28);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:confirmFade .22s ease-out both}.confirm-card{position:relative;width:min(100%,340px);padding:28px 26px 24px;background:linear-gradient(165deg,rgba(255,252,245,.98),rgba(244,232,214,.96));border:1px solid rgba(90,70,50,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 18px 36px rgba(40,28,16,.28);transform:rotate(-1.2deg);text-align:center;animation:confirmPop .34s cubic-bezier(.34,1.45,.64,1) both}.confirm-card:before{content:"";position:absolute;top:-10px;left:50%;width:72px;height:18px;transform:translateX(-50%) rotate(-2deg);background:rgba(196,150,110,.55);box-shadow:0 1px 2px rgba(60,40,20,.15)}.confirm-card .confirm-star{display:block;width:42px;height:42px;margin:0 auto 10px;filter:drop-shadow(0 2px 2px rgba(60,40,20,.16));transform:rotate(-8deg)}.confirm-card .confirm-star img{width:100%;height:100%;object-fit:contain;display:block}.confirm-card h2{margin:0;font-family:var(--font-mag);font-style:italic;font-weight:400;font-size:26px;color:var(--ink);line-height:1.15}.confirm-card p{margin:10px 0 0;font-family:var(--font-dek);font-style:italic;font-size:17px;color:var(--ink-soft);line-height:1.35}.confirm-card .confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}@keyframes confirmFade{0%{opacity:0}to{opacity:1}}@keyframes confirmPop{0%{opacity:0;transform:rotate(-1.2deg) scale(.86) translateY(10px)}to{opacity:1;transform:rotate(-1.2deg) scale(1) translateY(0)}}@media (prefers-reduced-motion:reduce){.confirm-card,.confirm-scrim{animation:none}}.empty-goals{grid-column:1/-1;text-align:center;font-family:var(--font-mag);font-style:italic;font-weight:300;font-size:20px;color:var(--ink-soft);padding:28px 10px}@media (max-width:560px){:root{--cell:48px;--goal-w:112px}.poster{width:100%;padding:52px 28px 36px}.corner-add{top:33px;font-size:20px}.corner-add,.corner-close{right:24px;width:40px;height:40px}.corner-close{top:28px;font-size:28px}.goal-label .name{font-size:12.5px}.goal-label{padding-right:12px}.poster-header h1{letter-spacing:-.02em}.goal-board{column-gap:6px;row-gap:26px}.board-corner,.board-head{margin-bottom:12px}}.starsheet-loading{text-align:center;padding:80px 16px;font-family:var(--font-dek);font-style:italic;color:var(--ink-soft);font-size:20px}.starsheet-save-error{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:40;max-width:min(92vw,420px);padding:10px 14px;background:#fff8f0;border:1px solid rgba(180,85,63,.35);color:var(--danger);font-family:var(--font-print);font-size:14px;box-shadow:0 8px 20px rgba(60,40,20,.12)}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}