:root{--text:#cabb9e;--text-h:#f4ecda;--bg:#15110c;--border:#3a3024;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}body:before{content:"";z-index:-2;pointer-events:none;filter:blur(6px)brightness(.62)saturate(1.06)contrast(1.02);background:#15110c url(/cabin-bg.jpg) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.08)}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(125% 105% at 52% 30%,#15110c1a 0%,#15110c66 60%,#0c0906bd 100%),linear-gradient(#15110c3d 0%,#15110c24 36%,#0d0a068c 100%);position:fixed;inset:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{margin:0 0 .5em;font-size:2rem}:root{--mk-accent:#b5813b;--mk-accent-deep:#a8742c;--mk-accent-ink:#1a130a;--mk-accent-hover:#b5813b2e;--mk-accent-hover-deep:#b5813b42;--mk-env-sky:#f6ecd9;--mk-env-gold:#e7c277;--mk-env-sage:#7f8a52;--mk-env-pine:#46512f;--mk-env-grass:#9aae7e;--mk-env-timber:#b98f53;--mk-env-timber-deep:#5c3f26;--mk-env-lake:#a7bbb0;--mk-env-ember:#b5612d;--mk-env-stone:#9a8a64;--mk-surface:var(--bg);--mk-surface-warm:#785c3033;--mk-surface-panel:#211a11f7;--mk-surface-input:#16120cf0;--mk-surface-btn:#3a2e1c9e;--mk-surface-hover:#503f24b8;--mk-text:var(--text);--mk-text-h:var(--text-h);--mk-border:var(--border);--mk-border-warm:#b0864242;--mk-border-control:#ba904a80;--mk-sp-1:4px;--mk-sp-2:8px;--mk-sp-3:12px;--mk-sp-4:16px;--mk-sp-5:24px;--mk-r-sm:4px;--mk-r-md:6px;--mk-r-lg:8px;--mk-r-pill:20px;--mk-shadow-panel:0 6px 22px #0000007a, 0 0 0 1px #7858243d;--mk-shadow-input:inset 0 1px 2px #0000004d;--mk-shadow-btn:0 1px 2px #0006, inset 0 1px 0 #fff4dc0d;--mk-shadow-accent:0 1px 3px #00000073;--mk-focus-ring:2px solid var(--mk-accent);--mk-focus-ring-offset:2px;--mk-t-fast:.1s ease;--mk-t-normal:.15s ease;--mk-err-inline:#e0905a;--mk-err-action:#e2685a;--accent:#b5813b;--accent-warm:#c8a050;--accent-warm-dark:#c8a050}.planner-shell__add-place,.planner-shell__edit-terrain,.planner-shell__lens-toggle,.planner-shell__invite-btn,.place-detail__close,.place-detail__edit,.place-detail__area-action,.task-form__add-btn,.mk-btn{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-md);cursor:pointer;background:var(--mk-surface-btn);min-height:32px;color:var(--mk-text-h);box-shadow:var(--mk-shadow-btn);transition:background var(--mk-t-fast), border-color var(--mk-t-fast), box-shadow var(--mk-t-fast), transform var(--mk-t-fast);padding:.35rem .7rem;font-size:.78rem;font-weight:500}.planner-shell__add-place:hover:not(:disabled),.planner-shell__edit-terrain:hover:not(:disabled),.planner-shell__lens-toggle:hover:not(:disabled),.planner-shell__invite-btn:hover:not(:disabled),.place-detail__close:hover,.place-detail__edit:hover,.place-detail__area-action:hover:not(:disabled),.task-form__add-btn:hover,.mk-btn:hover:not(:disabled){background:var(--mk-surface-hover);border-color:var(--mk-accent)}.planner-shell__add-place:active:not(:disabled),.planner-shell__edit-terrain:active:not(:disabled),.planner-shell__lens-toggle:active:not(:disabled),.planner-shell__invite-btn:active:not(:disabled),.place-detail__close:active,.place-detail__edit:active,.place-detail__area-action:active:not(:disabled),.task-form__add-btn:active,.mk-btn:active:not(:disabled){transform:translateY(.5px);box-shadow:inset 0 1px 2px #583a0e24}.planner-shell__add-place:focus-visible,.planner-shell__edit-terrain:focus-visible,.planner-shell__lens-toggle:focus-visible,.planner-shell__invite-btn:focus-visible,.place-detail__close:focus-visible,.place-detail__edit:focus-visible,.place-detail__area-action:focus-visible,.task-form__add-btn:focus-visible,.mk-btn:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.place-detail__area-action:disabled,.mk-btn:disabled{cursor:not-allowed;opacity:.5}.planner-shell__edit-terrain--active,.mk-btn--toggle-active{border-color:var(--mk-accent);color:var(--mk-accent);background:var(--mk-accent-hover)}.planner-shell__edit-terrain--active:hover,.mk-btn--toggle-active:hover:not(:disabled){background:var(--mk-accent-hover-deep)}.role-intent-cta,.planner-start__cta,.day-strip__form-save,form.setup-form .setup-form__submit,.mk-btn--primary{font:inherit;border:1px solid var(--mk-accent-deep);border-radius:var(--mk-r-md);color:var(--mk-accent-ink);background:var(--mk-accent);box-shadow:var(--mk-shadow-accent);cursor:pointer;transition:background var(--mk-t-fast), border-color var(--mk-t-fast), box-shadow var(--mk-t-fast), transform var(--mk-t-fast);font-weight:600;text-decoration:none}.role-intent-cta:hover,.role-intent-cta:focus-visible,.planner-start__cta:hover,.planner-start__cta:focus-visible,.day-strip__form-save:hover:not(:disabled),.day-strip__form-save:focus-visible,form.setup-form .setup-form__submit:hover:not(:disabled),form.setup-form .setup-form__submit:focus-visible,.mk-btn--primary:hover:not(:disabled),.mk-btn--primary:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink);outline:none}.role-intent-cta:active,.planner-start__cta:active,.day-strip__form-save:active:not(:disabled),form.setup-form .setup-form__submit:active:not(:disabled),.mk-btn--primary:active:not(:disabled){transform:translateY(.5px);box-shadow:inset 0 1px 2px #3c280847}.role-intent-cta:focus-visible,.planner-start__cta:focus-visible,.day-strip__form-save:focus-visible,form.setup-form .setup-form__submit:focus-visible,.mk-btn--primary:focus-visible{outline:var(--mk-focus-ring);outline-offset:3px}.day-strip__form-save:disabled,.mk-btn--primary:disabled{opacity:.55;cursor:not-allowed}.task-item__delete,.goal-item__delete,.mk-btn--destructive{font:inherit;border-radius:var(--mk-r-sm);color:var(--mk-err-action);opacity:.65;cursor:pointer;transition:opacity var(--mk-t-fast), background var(--mk-t-fast);background:0 0;border:none;padding:2px 6px;font-size:.7rem;line-height:1.5}.task-item__delete:hover:not(:disabled),.goal-item__delete:hover:not(:disabled),.mk-btn--destructive:hover:not(:disabled){opacity:1;background:#c0392b1a}.task-item__delete:focus-visible,.goal-item__delete:focus-visible,.mk-btn--destructive:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.task-item__delete:disabled,.goal-item__delete:disabled,.mk-btn--destructive:disabled{cursor:not-allowed;opacity:.4}.setup-form__input:focus,.setup-form__textarea:focus,.area-edit-form__input:focus,.area-edit-form__select:focus,.day-strip__form-input:focus,.task-form__input:focus,.task-form__textarea:focus,.task-form__select:focus,.mk-input:focus{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset);border-color:var(--mk-accent)}.setup-form__input:disabled,.setup-form__textarea:disabled,.area-edit-form__input:disabled,.area-edit-form__select:disabled,.day-strip__form-input:disabled,.mk-input:disabled{opacity:.55;cursor:not-allowed}.task-form__error,.area-edit-form__error,.day-strip__form-error,.terrain-drag-error,.setup-form__error,.mk-form-error{color:var(--mk-err-inline);margin:0;font-size:.76rem}.task-status-error,.goal-status-error,.mk-action-error{color:var(--mk-err-action);font-size:.7rem}.mk-input{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-md);background:var(--mk-surface-input);color:var(--mk-text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);transition:border-color var(--mk-t-fast), box-shadow var(--mk-t-fast);padding:.42rem .7rem;font-size:.85rem}.mk-segmented{border:1px solid var(--mk-border-control);border-radius:var(--mk-r-pill);background:var(--mk-surface-input);box-shadow:var(--mk-shadow-input);align-items:stretch;gap:2px;padding:2px;display:inline-flex}.mk-segmented__seg{font:inherit;border-radius:var(--mk-r-pill);color:var(--mk-text);cursor:pointer;transition:background var(--mk-t-fast), color var(--mk-t-fast);background:0 0;border:none;padding:3px 11px;font-size:.74rem;font-weight:500;line-height:1.4}.mk-segmented__seg:hover:not(:disabled):not(.mk-segmented__seg--active){background:var(--mk-surface-hover);color:var(--mk-text-h)}.mk-segmented__seg--active{background:var(--mk-accent);color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent);font-weight:600}.mk-segmented__seg:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.mk-segmented__seg:disabled{cursor:not-allowed;opacity:.45}.mk-form-row{gap:var(--mk-sp-1);flex-direction:column;display:flex}.mk-form-row>label{color:var(--mk-text);font-size:.76rem}.mk-panel{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);box-shadow:var(--mk-shadow-panel);padding:14px 16px}.mk-notice{color:var(--mk-text);background:var(--mk-surface-warm);border-radius:var(--mk-r-md);border:1px solid #9e763447;padding:6px 9px;font-size:.8rem}.mk-notice--warn{color:var(--mk-err-inline)}.mk-notice--error{color:var(--mk-err-action);background:#c0392b0f;border-color:#c0392b38}.app-shell{text-align:center;max-width:720px;margin:0 auto;padding:48px 24px}.app-shell h1{margin:0 0 .5rem}.app-shell h2{color:var(--text-h);margin:1.5rem 0 .5rem;font-size:1.25rem;font-weight:500}.app-shell p{color:var(--text);margin:.5rem 0}.app-shell form{flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.app-shell label{text-align:left;flex-direction:column;gap:.25rem;display:flex}.app-shell input[type=email]{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);min-width:16rem;color:var(--text-h);box-shadow:var(--mk-shadow-input);padding:.5rem .75rem}.app-shell button{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);cursor:pointer;background:var(--mk-surface-btn);color:var(--text-h);transition:background var(--mk-t-fast);padding:.5rem 1rem}.app-shell button:hover:not(:disabled){background:var(--mk-surface-hover)}.app-shell button:disabled{cursor:wait;opacity:.6}.app-shell a{color:var(--text-h)}.landing-tagline{color:var(--text);margin:.75rem 0 2.5rem;font-size:1.05rem;line-height:1.6}.role-intent{flex-direction:column;align-items:center;gap:1rem;display:flex}.role-intent-cta{padding:.55rem 1.4rem;font-size:1rem;display:inline-block}.role-intent-secondary{color:var(--text);opacity:.65;margin:0;font-size:.82rem}.mock-notice{color:var(--accent-warm);margin:0;font-size:.78rem}@media (prefers-color-scheme:dark){.mock-notice{color:var(--accent-warm-dark)}}.planner-start{flex-direction:column;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.planner-start__role{color:var(--text-h);margin:0;font-size:.9rem;font-weight:500}.planner-start p{color:var(--text);max-width:36ch;margin:0}.planner-start__cta{margin-top:.5rem;padding:.6rem 1.6rem;font-size:1rem;display:inline-block}.planner-start--setup{gap:1.25rem;width:100%;max-width:480px;margin-left:auto;margin-right:auto}.planner-start__divider{width:100%;color:var(--mk-text);opacity:.7;align-items:center;gap:.75rem;font-size:.78rem;display:flex}.planner-start__divider:before,.planner-start__divider:after{content:"";background:var(--mk-border-warm);flex:1;height:1px}.invite-panel{text-align:left;background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);width:100%;max-width:480px;box-shadow:var(--mk-shadow-panel);margin:1.5rem auto 0;padding:16px 18px}.planner-start .invite-panel__title{color:var(--mk-text-h);margin:0 0 .4rem;font-size:1.05rem;font-weight:600}.planner-start .invite-panel__lead{color:var(--mk-text);max-width:none;margin:0 0 1rem;font-size:.82rem;line-height:1.5}.planner-start .invite-panel__action,.planner-start .invite-redeem__submit{border:1px solid var(--mk-accent-deep);border-radius:var(--mk-r-md);background:var(--mk-accent);min-height:32px;color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent)}.planner-start .invite-panel__action:hover:not(:disabled),.planner-start .invite-redeem__submit:hover:not(:disabled),.planner-start .invite-panel__action:focus-visible,.planner-start .invite-redeem__submit:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink)}.planner-start .invite-panel__action:disabled,.planner-start .invite-redeem__submit:disabled{cursor:not-allowed;opacity:.55}.planner-start .invite-token__copy{border:1px solid var(--mk-border-control);border-radius:var(--mk-r-md);background:var(--mk-surface-btn);min-height:32px;color:var(--mk-text-h)}.planner-start .invite-token__copy:hover:not(:disabled){background:var(--mk-surface-hover);border-color:var(--mk-accent)}.planner-start .invite-panel__action{padding:.5rem 1.2rem;font-size:.9rem}.planner-start .invite-panel__error{color:var(--mk-err-action);margin:.75rem 0 0}.invite-token{margin-top:.5rem}.invite-token__label{color:var(--mk-text);margin-bottom:.3rem;font-size:.76rem;display:block}.invite-token__row{align-items:stretch;gap:.5rem;display:flex}.invite-token__field{letter-spacing:.02em;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.invite-token__copy{white-space:nowrap;flex:none}.planner-start .invite-token__hint{color:var(--mk-err-inline);max-width:none;margin:.5rem 0 0;font-size:.76rem;line-height:1.45}.planner-start .invite-token__regenerate{min-height:0;box-shadow:none;font:inherit;color:var(--mk-text);opacity:.75;text-underline-offset:2px;cursor:pointer;transition:opacity var(--mk-t-fast);background:0 0;border:none;margin-top:.6rem;padding:0;font-size:.76rem;text-decoration:underline;display:inline-block}.planner-start .invite-token__regenerate:hover{opacity:1;background:0 0}.planner-start .invite-token__regenerate:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.invite-redeem{text-align:left;width:100%;max-width:480px}.invite-redeem--primary{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);box-shadow:var(--mk-shadow-panel);margin:0 auto;padding:16px 18px}.invite-redeem--secondary{border-top:1px solid var(--mk-border-warm);margin:1.5rem auto 0;padding-top:1.25rem}.planner-start .invite-redeem__title{color:var(--mk-text-h);margin:0 0 .4rem;font-weight:600}.planner-start .invite-redeem--primary .invite-redeem__title{font-size:1.05rem}.planner-start .invite-redeem--secondary .invite-redeem__title{font-size:.9rem}.planner-start .invite-redeem__lead{color:var(--mk-text);max-width:none;margin:0 0 1rem;font-size:.82rem;line-height:1.5}.planner-start .invite-redeem__form{flex-direction:row;align-items:stretch;gap:.5rem;margin:0;display:flex}.invite-redeem__field{flex:1;min-width:0}.planner-start .invite-redeem__submit{white-space:nowrap;flex:none;padding:.45rem 1.1rem}.planner-start .invite-redeem__error{color:var(--mk-err-action);margin:.75rem 0 0}.planner-shell{max-width:1200px;margin:0 auto;padding:20px 16px 32px}.planner-shell__header{border-bottom:1px solid var(--mk-border-warm);justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:10px;display:flex}.planner-shell__title{color:var(--text-h);font-size:1rem;font-weight:500}.planner-shell__role{color:var(--text);font-size:.82rem}.planner-shell>.mock-notice{margin-bottom:14px}.planner-shell__terrain{flex-flow:column wrap;gap:14px;display:flex;position:relative}@media (width>=600px){.planner-shell__terrain{flex-direction:row;align-items:flex-start}.zone-palette{flex:0 0 100%}}@media (width>=900px){.terrain-view{max-width:560px}}@media (width>=900px) and (width<=1199px){.planner-shell__terrain{flex-direction:column;align-items:center}.place-detail{flex-shrink:1;width:100%;max-width:560px}}@media (width>=1200px){.planner-shell__terrain{justify-content:center;position:relative}.place-detail{width:256px;position:absolute;top:0;left:calc(50% + 294px)}.zone-palette{width:244px;max-width:none;max-height:100%;margin:0;position:absolute;top:0;right:calc(50% + 294px);overflow-y:auto}}.terrain-view{aspect-ratio:4/5;-webkit-backdrop-filter:blur(7px)saturate(1.04);background:radial-gradient(72% 62% at 28% 20%,#ffeec41f 0%,#0000 56%),radial-gradient(82% 72% at 80% 88%,#0e120c57 0%,#0000 62%),radial-gradient(120% 120% at 50% 62%,#68785029 0%,#0000 72%),linear-gradient(168deg,#5660449e 0%,#4a543ca8 48%,#3e4632b8 82%,#363e2cbd 100%);border:1px solid #7488a84d;border-radius:16px;width:100%;max-width:480px;position:relative;overflow:hidden;box-shadow:inset 0 1px #d6e2f029,inset 0 0 64px #080c0a66,0 10px 32px #0000006b}.terrain-view:before{content:"";pointer-events:none;z-index:0;background:url("data:image/svg+xml,%3Csvg width='256' height='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='0.05'/%3E%3C/svg%3E") 0 0/256px 256px,url("data:image/svg+xml,%3Csvg width='600' height='600' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='0.05'/%3E%3C/svg%3E") 0 0/600px 600px,radial-gradient(58% 50% at 22% 30%,#70845014 0%,#0000 60%),radial-gradient(56% 50% at 80% 70%,#7e824e12 0%,#0000 60%),radial-gradient(60% 55% at 70% 24%,#6e804e0f 0%,#0000 60%);position:absolute;inset:0}.terrain-view:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(96% 96% at 50% 44%,#0000 34%,#12161229 66%,#0a0d0b66 100%);position:absolute;inset:0}.terrain-view__path-layer{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.terrain-view__zones{z-index:0;pointer-events:none;position:absolute;inset:0}.terrain-zone{pointer-events:none;border-radius:46% 54% 52% 48%/52% 46% 54% 48%;position:absolute;transform:translate(-50%,-50%)}.terrain-zone__fill{border-radius:inherit;background:radial-gradient(ellipse 100% 100% at 50% 46%, var(--zone-fill) 0%, var(--zone-fill) 44%, transparent 78%);filter:blur(1.5px);position:absolute;inset:0}.terrain-zone--rock .terrain-zone__fill{background:radial-gradient(ellipse 42% 38% at 38% 36%, #605e584d 0%, transparent 60%), radial-gradient(ellipse 40% 36% at 66% 64%, #6e6c6442 0%, transparent 58%), radial-gradient(ellipse 100% 100% at 50% 46%, var(--zone-fill) 0%, var(--zone-fill) 46%, transparent 78%)}.terrain-zone--cabin_yard{border-radius:44% 56% 50% 50%/50% 48% 52% 50%}.terrain-zone--cabin_yard .terrain-zone__fill{background:url("data:image/svg+xml,%3Csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.42' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.10'/%3E%3C/svg%3E") 0 0 / 120px 120px, radial-gradient(ellipse 100% 100% at 50% 50%, var(--zone-fill) 0%, var(--zone-fill) 62%, transparent 88%);background-blend-mode:soft-light, normal}.terrain-zone--square{border-radius:12%}.terrain-zone--square .terrain-zone__fill{background:radial-gradient(ellipse 120% 120% at 50% 48%, var(--zone-fill) 0%, var(--zone-fill) 70%, transparent 92%)}.terrain-zone--square.terrain-zone--cabin_yard .terrain-zone__fill{background:url("data:image/svg+xml,%3Csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.42' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.10'/%3E%3C/svg%3E") 0 0 / 120px 120px, radial-gradient(ellipse 120% 120% at 50% 50%, var(--zone-fill) 0%, var(--zone-fill) 76%, transparent 96%);background-blend-mode:soft-light, normal}.terrain-view__lines{z-index:0;pointer-events:none;position:absolute;inset:0}.terrain-view__lines--drawing{z-index:3}.terrain-view__lines-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.terrain-line{pointer-events:none}.terrain-view__lines--edit .terrain-line__hit{pointer-events:stroke;cursor:pointer}.terrain-line--selected{filter:drop-shadow(0 0 1.5px #ffffffe6)}.terrain-line__delete{background:var(--mk-err-action);color:#fff;cursor:pointer;pointer-events:auto;z-index:1;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0006}.terrain-view__line-draw{pointer-events:auto;cursor:crosshair;z-index:1;position:absolute;inset:0}.line-draw-controls{align-items:center;gap:var(--mk-sp-2);border-radius:var(--mk-r-pill);background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);box-shadow:var(--mk-shadow-panel);pointer-events:auto;z-index:2;padding:6px 10px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.line-draw-controls__hint{color:var(--mk-text);white-space:nowrap;font-size:.74rem}.line-draw-controls__btn{border-radius:var(--mk-r-pill);border:1px solid var(--mk-accent);background:var(--mk-accent);color:#fff;font:inherit;cursor:pointer;padding:4px 12px;font-size:.78rem}.line-draw-controls__btn:disabled{opacity:.5;cursor:default}.line-draw-controls__btn--ghost{background:var(--mk-surface-btn);border-color:var(--mk-border-control);color:var(--mk-text)}.terrain-view__zones--edit .terrain-zone{pointer-events:auto;cursor:grab;touch-action:none}.terrain-view__zones--edit .terrain-zone:active{cursor:grabbing}.terrain-zone--selected{box-shadow:0 0 0 2px #140f0833, 0 0 0 4px var(--mk-accent)}.terrain-zone__handle,.terrain-zone__delete{touch-action:none;z-index:1;border:2px solid #fff;border-radius:50%;padding:0;position:absolute;box-shadow:0 2px 6px #0006}.terrain-zone__handle{background:var(--mk-accent);cursor:nwse-resize;width:16px;height:16px;bottom:-8px;right:-8px}.terrain-zone__delete{background:var(--mk-err-action);color:#fff;cursor:pointer;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex;top:-9px;right:-9px}.zone-palette{box-sizing:border-box;gap:var(--mk-sp-4);width:100%;max-width:260px;margin:0 0 var(--mk-sp-3);padding:var(--mk-sp-4);background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);box-shadow:var(--mk-shadow-panel);border-radius:14px;flex-direction:column;display:flex}.zone-palette__section{gap:var(--mk-sp-2);flex-direction:column;display:flex}.zone-palette__items{gap:var(--mk-sp-1);flex-direction:column;display:flex}.zone-palette__label{letter-spacing:.04em;text-transform:uppercase;color:var(--mk-text-h);border-bottom:1px solid var(--mk-border-warm);padding-bottom:4px;font-size:.82rem;font-weight:600}.zone-palette__group,.zone-palette__line-btn{box-sizing:border-box;border-radius:var(--mk-r-md);border:1px solid var(--mk-border-control);background:var(--mk-surface-btn);width:100%;color:var(--mk-text);transition:background var(--mk-t-fast), border-color var(--mk-t-fast);justify-content:flex-start;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;display:flex}.zone-palette__group:hover,.zone-palette__line-btn:hover{background:var(--mk-surface-hover)}.zone-palette__group-swatches{align-items:center;gap:2px;display:inline-flex}.zone-palette__group-label{color:var(--mk-text)}.zone-palette__swatch-btn{cursor:grab;touch-action:none;transition:transform var(--mk-t-fast), background var(--mk-t-fast);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:4px;display:inline-flex}.zone-palette__swatch-btn:hover{background:var(--mk-surface-hover)}.zone-palette__swatch-btn:active{cursor:grabbing;transform:scale(.92)}.zone-palette__swatch-btn:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.zone-palette__swatch{background:var(--zone-fill);border:1px solid #00000047;width:16px;height:16px}.zone-palette__swatch--round{border-radius:50%}.zone-palette__swatch--square{border-radius:3px}.zone-palette__line-btn{cursor:pointer;font-family:inherit;line-height:1.2}.zone-palette__line-btn:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.zone-palette__line-btn--active{border-color:var(--mk-accent);background:var(--mk-surface-hover);box-shadow:0 0 0 1px var(--mk-accent)}.zone-palette__line-swatch{width:18px;color:var(--line-stroke);justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:inline-flex}.zone-palette__ghost{z-index:50;pointer-events:none;background:var(--zone-fill);color:#1a130a;opacity:.94;padding:4px 11px;font-size:.8rem;font-weight:600;position:fixed;transform:translate(-50%,-50%);box-shadow:0 5px 16px #00000073}.zone-palette__ghost--round{border-radius:var(--mk-r-pill)}.zone-palette__ghost--square{border-radius:4px}.place-card{cursor:pointer;min-width:44px;min-height:54px;font:inherit;z-index:1;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.place-card:hover .place-card__symbol{box-shadow:inset 0 1px 1.5px #ffffff80, inset 0 -2px 4px #281a082e, 0 5px 11px #281a084d, 0 0 0 3px var(--place-ring,transparent);transform:translateY(-2px)}.place-card:hover:after{opacity:.8;width:38px}.place-card:focus-visible{outline:none}.place-card:focus-visible .place-card__symbol{box-shadow:0 0 0 3px var(--accent), 0 2px 8px #4e300a42}.place-card--selected{z-index:2}.place-card--selected .place-card__symbol{box-shadow:inset 0 1px 1.5px #ffffff80, inset 0 -2px 4px #281a0829, 0 6px 13px #281a084d, 0 0 0 3px var(--place-ring,transparent), 0 0 0 4px #503c1426;border-color:#fffcf4f2;transform:translateY(-2px)}.place-card--selected:after{opacity:.82;width:40px}.place-card--selected .place-card__name{color:#f6e6c6;background:#2a2113cc;border-color:#be924e8c;font-weight:600}.place-card--zone .place-card__symbol{border-radius:9px;width:56px;height:32px}.place-card--forest .place-card__symbol{color:#e2efd5;background:#324e3085;border-color:#78aa6c66}.place-card--forest:hover .place-card__symbol{background:#3c5c3a9e}.place-card--forest.place-card--selected .place-card__symbol{background:#3a5a38a8;border-color:#82b8749e;box-shadow:0 2px 10px #10241066,0 0 0 3px #78b06829}.place-card--forest.place-card--selected .place-card__name{color:#cfe6bf;border-color:#78b06873}.place-card--water .place-card__symbol{color:#d4e8f6;background:#2c4a6885;border-color:#6e98c06b}.place-card--water:hover .place-card__symbol{background:#3456789e}.place-card--water.place-card--selected .place-card__symbol{background:#325476a8;border-color:#78a6ce9e;box-shadow:0 2px 10px #0c1e2e66,0 0 0 3px #6e9ec829}.place-card--water.place-card--selected .place-card__name{color:#cfe4f6;border-color:#78a2ca73}.place-card__symbol{background:var(--place-colour,#96825cd1);color:#fbf4e6;width:34px;height:34px;box-shadow:inset 0 1px 1.5px #fff6, inset 0 -2px 4px #281a0829, 0 2px 5px #281a0838, 0 0 0 2px var(--place-ring,transparent);border:2px solid #faf5e8d1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;transition:box-shadow .14s,border-color .14s,background .14s,transform .14s;display:flex}.place-card:after{content:"";filter:blur(2px);z-index:-1;pointer-events:none;background:radial-gradient(#2618064d 0%,#2618061f 55%,#0000 76%);border-radius:50%;width:30px;height:8px;transition:width .14s,opacity .14s;position:absolute;top:31px;left:50%;transform:translate(-50%)}.place-card__symbol svg{width:1em;height:1em;display:block}.place-card__name{letter-spacing:.02em;color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;background:#18150f8f;border:1px solid #96845c38;border-radius:6px;max-width:88px;padding:1px 5px;font-size:.64rem;font-weight:500;line-height:1.5;transition:background .12s,border-color .12s,color .12s;overflow:hidden}.place-card--retired .place-card__symbol{opacity:.5;filter:grayscale(.35)}.place-card--retired .place-card__name,.place-card--retired.place-card--selected .place-card__symbol{opacity:.72}.place-card--retired:after{opacity:.45}.place-card__badge{letter-spacing:.03em;text-transform:uppercase;color:#e0b878;white-space:nowrap;background:#261e12b3;border:1px solid #96743852;border-radius:5px;padding:0 4px;font-size:.55rem;font-weight:600;line-height:1.5}.place-detail{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);box-shadow:var(--mk-shadow-panel);border-radius:14px;padding:16px 16px 14px}@media (width>=600px){.place-detail{flex-shrink:0;width:256px}}.place-detail__header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.place-detail__title{color:var(--text-h);align-items:center;gap:6px;margin:0;font-size:.95rem;font-weight:500;display:flex}.place-detail__title-icon{flex-shrink:0;align-items:center;display:flex}.place-detail__title-icon svg{width:1rem;height:1rem;display:block}.place-detail__close{flex-shrink:0}.place-detail__description{color:var(--text);margin:0 0 10px;font-size:.88rem;line-height:1.5}.place-detail__empty{color:var(--text);opacity:.6;margin:0 0 10px;font-size:.82rem}.place-detail__mock-notice{color:var(--accent-warm);margin:0;font-size:.73rem}.row-icon-btn{border-radius:var(--mk-r-md);width:26px;height:26px;color:var(--mk-text);cursor:pointer;transition:background var(--mk-t-fast), color var(--mk-t-fast), border-color var(--mk-t-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.row-icon-btn:hover:not(:disabled){background:var(--mk-surface-hover);border-color:var(--mk-border-control);color:var(--mk-text-h)}.row-icon-btn:focus-visible{outline:var(--mk-focus-ring);outline-offset:1px}.row-icon-btn:disabled{cursor:not-allowed;opacity:.4}.row-icon-btn--accent{color:var(--mk-accent);border-color:var(--mk-border-control)}.row-icon-btn--accent:hover:not(:disabled){background:var(--mk-accent);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink)}.row-icon{width:16px;height:16px;display:block}.row-menu{display:inline-flex;position:relative}.row-menu__pop{z-index:20;background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-md);min-width:150px;box-shadow:var(--mk-shadow-panel);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.row-menu__item{font:inherit;text-align:left;border-radius:var(--mk-r-sm);color:var(--mk-text-h);cursor:pointer;transition:background var(--mk-t-fast);background:0 0;border:none;padding:6px 9px;font-size:.78rem}.row-menu__item:hover:not(:disabled){background:var(--mk-surface-hover)}.row-menu__item:focus-visible{outline:var(--mk-focus-ring);outline-offset:-2px}.row-menu__item--danger{color:var(--mk-err-action)}.row-menu__item--danger:hover:not(:disabled){background:#c0392b1a}.row-menu__item:disabled{cursor:not-allowed;opacity:.5}.task-groups{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.task-group__header{box-sizing:border-box;letter-spacing:.01em;max-width:100%;color:var(--mk-text);opacity:.78;border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-pill);background:var(--mk-surface-warm);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;margin:0 0 3px;padding:1px 8px 1px 6px;font-size:.68rem;font-weight:500;display:inline-flex;overflow:hidden}.task-group__header:before{content:"↳";opacity:.55;flex-shrink:0}.task-list{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.task-row{border-radius:var(--mk-r-md);overflow-wrap:anywhere;transition:background var(--mk-t-fast)}.task-row:hover{background:var(--mk-surface-hover)}.task-row__main{align-items:center;gap:8px;min-height:34px;padding:3px 4px 3px 6px;display:flex}.task-row__status{color:var(--mk-border-control);flex-shrink:0;display:inline-flex}.task-row__status-icon{width:16px;height:16px;display:block}.task-row__status-icon--active,.task-row__status-icon--done{color:var(--mk-accent)}.task-row__body{flex-direction:column;flex:auto;gap:0;min-width:0;line-height:1.3;display:flex}.task-row__title{color:var(--text-h);font-size:.83rem;font-weight:500}.task-row__meta{color:var(--text);opacity:.72;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:.72rem;display:flex}.task-row__time{font-variant-numeric:tabular-nums}.task-row__note{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.task-row__actions{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.task-row__status-label{color:var(--text);opacity:.6;flex-shrink:0;font-size:.72rem}.task-row__errors,.goal-row__errors{padding:0 6px 4px 30px}.task-status-error{width:100%;margin-top:2px;display:block}.task-row__owner-line{flex-wrap:wrap;align-items:center;gap:6px;padding:0 6px 3px 30px;display:flex}.task-row__owner{letter-spacing:.01em;border-radius:var(--mk-r-pill);border:1px solid var(--mk-border-warm);background:var(--mk-surface-warm);color:var(--mk-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:22ch;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-flex;overflow:hidden}.task-row__owner-action,.goal-row__owner-action{font:inherit;color:var(--mk-accent);cursor:pointer;border-radius:var(--mk-r-sm);background:0 0;border:none;padding:1px 6px;font-size:.68rem;font-weight:500}.task-row__owner-action:hover:not(:disabled),.goal-row__owner-action:hover:not(:disabled){text-decoration:underline}.task-row__owner-action:disabled,.goal-row__owner-action:disabled{cursor:not-allowed;opacity:.5}.task-row__assign,.task-row__note-edit{flex-direction:column;gap:4px;padding:0 6px 4px 30px;display:flex}.task-row__assign{flex-direction:row;align-items:flex-end}.task-row__assign-label,.goal-row__assign-label{min-width:0;color:var(--text);opacity:.75;flex-direction:column;flex:auto;gap:2px;font-size:.68rem;display:flex}.task-form__add-btn{display:block}.task-form{flex-direction:column;gap:5px;margin-top:6px;display:flex}.task-form__input,.task-form__textarea{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);color:var(--text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);padding:4px 7px;font-size:.82rem}.task-form__textarea{resize:vertical}.task-form__label{color:var(--text);flex-direction:column;gap:3px;font-size:.76rem;display:flex}.task-form__actions{gap:6px;display:flex}.task-form__submit{font:inherit;border:1px solid var(--mk-accent);border-radius:var(--mk-r-sm);cursor:pointer;min-height:28px;color:var(--mk-accent);transition:background var(--mk-t-fast), color var(--mk-t-fast);background:0 0;padding:3px 10px;font-size:.78rem;font-weight:500}.task-form__submit:hover:not(:disabled){background:var(--mk-accent);color:#fff}.task-form__submit:disabled{opacity:.5;cursor:default}.task-form__submit:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.planner-shell__lens-toggle--active{border-color:var(--mk-accent);color:var(--mk-accent);background:var(--mk-accent-hover)}.planner-shell__lens-toggle--active:hover{background:var(--mk-accent-hover-deep)}.place-card--dimmed{opacity:.3;transition:opacity var(--mk-t-fast)}.place-card--dimmed:hover,.place-card--dimmed:focus-visible{opacity:.6}.place-card--highlighted .place-card__symbol{box-shadow:0 0 0 2px var(--mk-accent), 0 0 10px #b5813b59}.task-row--other,.goal-row--other{opacity:.38}.task-row--mine,.goal-row--mine{border-radius:var(--mk-r-md);background:#b5813b12}.omat-vastuut-drawer{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);width:260px;max-height:calc(100% - 16px);box-shadow:var(--mk-shadow-panel);z-index:10;margin:8px;padding:10px 12px 12px;position:absolute;top:0;right:0;overflow-y:auto}.omat-vastuut-drawer__heading{color:var(--mk-accent);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:.72rem;font-weight:700}.omat-vastuut-drawer__empty{color:var(--mk-text);opacity:.6;margin:0;font-size:.82rem}.omat-vastuut-drawer__groups{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.omat-vastuut-drawer__place-btn{font:inherit;color:var(--mk-text-h);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;margin-bottom:4px;padding:0;font-size:.76rem;font-weight:600}.omat-vastuut-drawer__place-btn:hover,.omat-vastuut-drawer__place-btn--active{color:var(--mk-accent)}.omat-vastuut-drawer__items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.omat-vastuut-drawer__item{font:inherit;border-radius:var(--mk-r-sm);cursor:pointer;width:100%;color:var(--mk-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:3px 6px;font-size:.75rem;display:flex}.omat-vastuut-drawer__item:hover{background:var(--mk-surface-hover);color:var(--mk-text-h)}.omat-vastuut-drawer__item--goal{font-style:italic}.omat-vastuut-drawer__item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.omat-vastuut-drawer__item-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.omat-vastuut-drawer__item-time{color:var(--mk-text);opacity:.7;font-size:.68rem}.omat-vastuut-drawer__status{border-radius:var(--mk-r-pill);background:var(--mk-surface-warm);border:1px solid var(--mk-border-warm);padding:1px 5px;font-size:.68rem;font-weight:500}.omat-vastuut-drawer__status--done,.omat-vastuut-drawer__status--achieved{color:var(--mk-accent)}.omat-vastuut-drawer__status--in_progress{color:var(--mk-accent);opacity:.8}form.setup-form{text-align:left;align-items:flex-start;gap:0;width:100%;max-width:480px;margin:1.5rem 0 0}.setup-form__title{color:var(--text-h);margin:0 0 1.25rem;font-size:1.25rem;font-weight:500}.setup-form__group{flex-direction:column;gap:4px;width:100%;margin-bottom:12px;display:flex}.setup-form__label{color:var(--text);font-size:.78rem}.setup-form__input,.setup-form__textarea{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);color:var(--text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);padding:.5rem .75rem}.setup-form__textarea{resize:vertical;min-height:80px}.setup-form__error{margin:.25rem 0 .5rem}form.setup-form .setup-form__submit{margin-top:.5rem;padding:.6rem 1.6rem;font-size:1rem;display:inline-block}form.setup-form .setup-form__submit:disabled{cursor:wait;opacity:.6}.mock-notice__cta{color:var(--accent-warm);border-bottom:1px solid #a07a3066;font-size:.78rem;text-decoration:none;transition:color .1s,border-color .1s;display:inline-block}.mock-notice__cta:hover{color:#7a5a18;border-bottom-color:#7a5a1899}.mock-notice__cta:focus-visible{outline:var(--mk-focus-ring);outline-offset:3px}.planner-shell>.mock-notice__cta{margin-bottom:14px;display:block}@media (prefers-color-scheme:dark){.mock-notice__cta{color:var(--accent-warm-dark);border-bottom-color:#c8a05066}.mock-notice__cta:hover{color:#e0b870;border-bottom-color:#e0b87099}}.planner-shell__header-right{align-items:center;gap:10px;display:flex}.btn-label-short{display:none}@media (width<=639px){.planner-shell__header{flex-wrap:wrap;align-items:center;gap:4px 0;margin-bottom:8px;padding-bottom:8px}.planner-shell__title{flex:auto}.planner-shell__role{flex:none;order:1}.planner-shell__header-right{flex:0 0 100%;order:2;justify-content:flex-start;gap:6px}.planner-shell__add-place,.planner-shell__edit-terrain,.planner-shell__lens-toggle,.planner-shell__invite-btn,.planner-shell__suunnitelma-toggle{min-height:30px;padding:.28rem .55rem;font-size:.72rem}.btn-label-full{display:none}.btn-label-short{display:inline}}.place-detail__header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.place-detail__retired-badge{letter-spacing:.03em;text-transform:uppercase;color:#7a4a08;background:#eee0c6eb;border:1px solid #9e763457;border-radius:5px;padding:1px 6px;font-size:.6rem;font-weight:600}.place-detail__retired-note{color:var(--text);border-radius:var(--mk-r-md);background:#eee0c673;border:1px solid #9e763447;margin:0 0 10px;padding:6px 9px;font-size:.78rem}.place-detail__area-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.day-strip{margin-bottom:12px}.day-strip__row{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.day-strip__empty{color:var(--text);opacity:.55;font-size:.8rem}.day-strip__pill{font:inherit;border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-pill);cursor:pointer;background:var(--mk-surface-btn);color:var(--text);white-space:nowrap;transition:background var(--mk-t-fast), border-color var(--mk-t-fast);align-items:center;gap:5px;padding:3px 10px;font-size:.78rem;display:flex}.day-strip__pill:hover{background:var(--mk-surface-hover);border-color:var(--mk-border-control)}.day-strip__pill:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.day-strip__pill--selected{border-color:var(--accent);color:var(--text-h);background:var(--mk-accent-hover);font-weight:500}.day-strip__pill--selected:hover{background:var(--mk-accent-hover-deep)}.day-strip__pill-date{font-weight:500}.day-strip__pill-title{opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:.73rem;overflow:hidden}.day-strip__add{font:inherit;border:1px dashed var(--mk-border-control);border-radius:var(--mk-r-pill);cursor:pointer;min-height:32px;color:var(--text);transition:background var(--mk-t-fast);background:0 0;padding:.3rem 10px;font-size:.76rem}.day-strip__add:hover{background:var(--mk-surface-hover)}.day-strip__add:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.day-strip__form{border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);background:var(--mk-surface-panel);box-shadow:var(--mk-shadow-panel);flex-direction:column;gap:8px;max-width:320px;margin-top:10px;padding:12px 14px;display:flex}.day-strip__form-group{flex-direction:column;gap:3px;display:flex}.day-strip__form-label{color:var(--text);font-size:.75rem}.day-strip__form-optional{opacity:.6}.day-strip__form-input{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);color:var(--text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);padding:.35rem .6rem;font-size:.88rem}.day-strip__form-actions{gap:8px;display:flex}.day-strip__form-save{padding:.3rem .8rem;font-size:.82rem}.day-strip__form-cancel{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);cursor:pointer;background:var(--mk-surface-btn);color:var(--text-h);transition:background var(--mk-t-fast);padding:.3rem .8rem;font-size:.82rem}.day-strip__form-cancel:hover:not(:disabled){background:var(--mk-surface-hover)}.day-strip__form-save:disabled,.day-strip__form-cancel:disabled{opacity:.55;cursor:not-allowed}.area-edit-form{flex-direction:column;gap:10px;margin:0;display:flex}.area-edit-form__group{flex-direction:column;gap:3px;display:flex}.area-edit-form__label{color:var(--text);font-size:.75rem}.area-edit-form__input,.area-edit-form__select{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);color:var(--text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);padding:.35rem .6rem;font-size:.88rem}.area-edit-form__input--short{width:80px}.area-edit-form__row{gap:12px;display:flex}.area-edit-form__row .area-edit-form__group{flex:none}.area-edit-form__actions{gap:8px;margin-top:2px;display:flex}.area-edit-form__cancel{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);cursor:pointer;background:var(--mk-surface-btn);color:var(--text-h);transition:background var(--mk-t-fast);padding:.35rem .9rem;font-size:.82rem}.area-edit-form__cancel:hover:not(:disabled){background:var(--mk-surface-hover)}.area-edit-form__cancel:disabled{opacity:.55;cursor:not-allowed}.area-edit-form__save{font:inherit;border:1px solid var(--text-h);border-radius:var(--mk-r-sm);cursor:pointer;color:var(--text-h);transition:background var(--mk-t-fast), color var(--mk-t-fast);background:0 0;padding:.35rem .9rem;font-size:.82rem}.area-edit-form__save:hover:not(:disabled),.area-edit-form__save:focus-visible{background:var(--text-h);color:var(--bg);outline:none}.area-edit-form__save:focus-visible{outline:var(--mk-focus-ring);outline-offset:2px}.area-edit-form__save:disabled{opacity:.55;cursor:not-allowed}.area-edit-form__colour-current{color:var(--text);opacity:.7;margin-left:6px;font-size:.72rem;font-weight:400}.area-edit-form__colour-swatches{flex-wrap:wrap;gap:5px;padding:2px 0;display:flex}.area-edit-form__colour-swatch{cursor:pointer;background:var(--swatch-colour,transparent);border:2px solid #0000;border-radius:50%;outline:none;flex-shrink:0;width:26px;height:26px;padding:0;transition:box-shadow .1s}.area-edit-form__colour-swatch:hover:not(:disabled),.area-edit-form__colour-swatch:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.area-edit-form__colour-swatch--selected{box-shadow:0 0 0 2.5px var(--bg), 0 0 0 4.5px var(--accent)}.area-edit-form__colour-swatch--auto{background:var(--bg);border:2px dashed var(--border);color:var(--text);letter-spacing:0;justify-content:center;align-items:center;font-family:inherit;font-size:.6rem;font-weight:600;display:flex}.area-edit-form__colour-swatch--auto.area-edit-form__colour-swatch--selected{border-style:solid;border-color:var(--accent)}.area-edit-form__colour-swatch:disabled{opacity:.45;cursor:not-allowed}.place-detail__section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text);opacity:.55;margin:6px 0 4px;font-size:.72rem;font-weight:500}.place-detail__section-divider{background:var(--mk-border-warm);height:1px;margin:8px 0}.goal-list{flex-direction:column;gap:3px;min-width:0;margin:0 0 8px;padding:0;list-style:none;display:flex}.goal-row{border-radius:var(--mk-r-md);transition:background var(--mk-t-fast);padding:3px 0 4px}.goal-row:hover{background:var(--mk-surface-hover)}.goal-row__line{align-items:baseline;gap:6px;padding:3px 6px 2px;line-height:1.3;display:flex}.goal-row__title{min-width:0;color:var(--text-h);overflow-wrap:break-word;flex:auto;font-size:.83rem;font-weight:500}.goal-row__time{color:var(--text);opacity:.7;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem}.goal-row__chip{letter-spacing:.01em;border-radius:var(--mk-r-pill);border:1px solid var(--mk-border-warm);background:var(--mk-surface-warm);color:var(--mk-text);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:.66rem;font-weight:600;display:inline-flex}.goal-row__dot{border:1.5px solid var(--mk-border-control);box-sizing:border-box;background:0 0;border-radius:50%;flex-shrink:0;width:9px;height:9px}.goal-row__chip--in_progress{border-color:var(--mk-border-control);color:var(--mk-accent)}.goal-row__chip--in_progress .goal-row__dot{border-color:var(--mk-accent);background:linear-gradient(90deg, var(--mk-accent) 0 50%, transparent 50% 100%)}.goal-row__chip--ready_for_confirmation{border-color:var(--mk-accent);color:var(--mk-accent);background:var(--mk-accent-hover)}.goal-row__chip--ready_for_confirmation .goal-row__dot{border-color:var(--mk-accent);background:var(--mk-accent)}.goal-row__chip--achieved{border-color:var(--mk-accent-deep);background:var(--mk-accent);color:var(--mk-accent-ink)}.goal-row__chip--achieved .goal-row__dot{border-color:var(--mk-accent-ink);background:var(--mk-accent-ink)}.goal-row__actions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;padding:0 6px;display:flex}.goal-row__advance{font:inherit;border:1px solid var(--mk-accent);border-radius:var(--mk-r-pill);color:var(--mk-accent);cursor:pointer;white-space:nowrap;transition:background var(--mk-t-fast), color var(--mk-t-fast);background:0 0;padding:3px 9px;font-size:.72rem;font-weight:500;line-height:1.3}.goal-row__advance:hover:not(:disabled){background:var(--mk-accent);color:var(--mk-accent-ink)}.goal-row__advance:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.goal-row__advance:disabled{cursor:not-allowed;opacity:.45}.goal-row__hint{color:var(--text);opacity:.6;margin:3px 0 2px 6px;font-size:.7rem;font-style:italic}.goal-row__errors{padding-left:6px}.goal-status-error{width:100%;margin-top:2px;display:block}.goal-row__owner-line{flex-wrap:wrap;align-items:center;gap:6px;padding:0 6px 2px;display:flex}.goal-row__owner{letter-spacing:.01em;border-radius:var(--mk-r-pill);border:1px solid var(--mk-border-warm);background:var(--mk-surface-warm);color:var(--mk-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:22ch;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-flex;overflow:hidden}.goal-row__owner--none{color:var(--text);opacity:.7;background:0 0;border-style:dashed;font-weight:500}.goal-row__assign{align-items:flex-end;gap:4px;padding:0 6px 4px;display:flex}.task-form__select{font:inherit;border:1px solid var(--mk-border-control);border-radius:var(--mk-r-sm);background:var(--mk-surface-input);color:var(--text-h);box-sizing:border-box;width:100%;box-shadow:var(--mk-shadow-input);padding:4px 7px;font-size:.82rem}.terrain-drag-error{margin:0 0 6px}.terrain-view--edit-mode .place-card{touch-action:none}.terrain-view--edit-mode .place-card__symbol{cursor:grab}.terrain-view--edit-mode .place-card__symbol:active{cursor:grabbing}.day-healthbar{flex-direction:column;align-items:flex-start;gap:3px;width:100%;margin-bottom:10px;padding:0 2px;display:flex}.day-healthbar__track-row{align-items:center;gap:5px;width:100%;display:flex}.day-healthbar__band-container{flex:1;position:relative}.day-healthbar__endpoint{color:var(--text);opacity:.52;text-align:center;letter-spacing:.03em;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:18px;font-size:.64rem;font-weight:500}.day-healthbar__untimed{color:var(--text);opacity:.65;white-space:nowrap;letter-spacing:.01em;-webkit-user-select:none;user-select:none;background:#9e763417;border:1px solid #9e76343d;border-radius:3px;margin-left:23px;padding:1px 6px;font-size:.58rem}.day-healthbar__band{background:linear-gradient(#4e64906b 0%,#3c507880 100%);border:1px solid #566c9c80;border-radius:100px;width:100%;height:38px;position:relative;overflow:hidden;box-shadow:inset 0 1px 5px #00000073,0 1px 3px #00000059}.day-healthbar__hour-tick{pointer-events:none;background:#b0c0e424;width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.day-healthbar__hour-label{color:#ced8f0b8;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.57rem;line-height:1;position:absolute;top:2px;left:0;transform:translate(-50%)}.day-healthbar__goal-mark{--mark:color-mix(in srgb, var(--goal-colour) 80%, #e9eff7);background:var(--mark);filter:drop-shadow(0 1px 1.5px #00000073);pointer-events:none;border-radius:2px;width:9px;height:9px;transition:opacity .15s;position:absolute;transform:translate(-50%,-50%)rotate(45deg)}.day-healthbar__goal-mark--planned{background:color-mix(in srgb, var(--mark) 20%, transparent);box-shadow:inset 0 0 0 1.5px var(--mark), inset 0 1px .5px #ffffff38}.day-healthbar__goal-mark--in-progress{background:var(--mark);box-shadow:inset 0 1px .5px #ffffff8c}.day-healthbar__goal-mark--in-progress:after{content:"";pointer-events:none;background:#ffffffd1;border-radius:50%;width:2.5px;height:2.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.day-healthbar__goal-mark--ready-for-confirmation{background:var(--mark);box-shadow:0 0 0 1px #fff6, 0 0 0 2.5px color-mix(in srgb, var(--mark) 55%, transparent)}.day-healthbar__goal-mark--achieved{background:var(--mark);box-shadow:inset 0 0 0 1.25px color-mix(in srgb, var(--mark) 55%, #0009)}.day-healthbar__task-mark{--mark:color-mix(in srgb, var(--task-colour) 80%, #e9eff7);filter:drop-shadow(0 1px 1.5px #0000006b);pointer-events:none;border-radius:50%;width:7.5px;height:7.5px;transition:opacity .15s;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.day-healthbar__task-mark--not-started{background:color-mix(in srgb, var(--mark) 20%, transparent);box-shadow:inset 0 0 0 1.5px var(--mark)}.day-healthbar__task-mark--in-progress{background:var(--mark);box-shadow:inset 0 1px .5px #ffffff80}.day-healthbar__task-mark--in-progress:after{content:"";pointer-events:none;background:#ffffffd1;border-radius:50%;width:2.5px;height:2.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.day-healthbar__task-mark--done{background:var(--mark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mark) 60%, #00000080)}.day-healthbar__now-dot{pointer-events:none;background:#d2941ceb;border-radius:50%;width:7px;height:7px;position:absolute;bottom:-3px;transform:translate(-50%)}.start-page__hero{margin:0 0 2rem}.start-page__headline{color:var(--mk-text-h);margin:0 0 .75rem;font-size:1.15rem;font-weight:600;line-height:1.45}.start-page__tagline{color:var(--mk-text);margin:0 0 .35rem;font-size:.88rem;line-height:1.6}.continue-card{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);max-width:400px;box-shadow:var(--mk-shadow-panel);text-align:left;flex-direction:column;gap:6px;margin:0 auto 1.75rem;padding:14px 18px;display:flex}.continue-card__label{letter-spacing:.05em;text-transform:uppercase;color:var(--mk-accent);margin:0;font-size:.7rem;font-weight:700}.continue-card__meta{flex-direction:column;gap:1px;display:flex}.continue-card__trip{color:var(--mk-text-h);font-size:.97rem;font-weight:600}.continue-card__cabin{color:var(--mk-text);font-size:.8rem}.continue-card__cta{align-self:flex-start;margin-top:4px;padding:.45rem 1.1rem;font-size:.88rem}.continue-card__secondary{align-self:flex-start;font-size:.82rem}.start-page__actions{flex-direction:column;gap:.7rem;max-width:400px;margin:0 auto;display:flex}.start-action{text-align:left;border-radius:var(--mk-r-lg);cursor:pointer;width:100%;font:inherit;transition:background var(--mk-t-fast), border-color var(--mk-t-fast), box-shadow var(--mk-t-fast);flex-direction:column;align-items:flex-start;padding:14px 18px;display:flex}.start-action:focus-visible{outline:var(--mk-focus-ring);outline-offset:var(--mk-focus-ring-offset)}.start-action__title{font-size:.97rem;font-weight:600;line-height:1.3;display:block}.start-action__desc{margin-top:3px;font-size:.78rem;line-height:1.45;display:block}.start-page .start-action--primary{background:var(--mk-accent);border:1px solid var(--mk-accent-deep);color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent)}.start-page .start-action--primary:hover,.start-page .start-action--primary:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink)}.start-page .start-action--secondary{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);color:var(--mk-text-h);box-shadow:var(--mk-shadow-panel)}.start-page .start-action--secondary:hover,.start-page .start-action--secondary:focus-visible{background:var(--mk-surface-hover);border-color:var(--mk-accent)}.start-action--primary .start-action__desc{opacity:.82}.start-action--secondary .start-action__desc{opacity:.7;color:var(--mk-text)}.start-page__invite{text-align:left;max-width:400px;margin:1.25rem auto 0}.start-page .invite-redeem__form{flex-direction:row;align-items:stretch;gap:.5rem;margin:0;display:flex}.start-page .invite-redeem__submit{white-space:nowrap;border:1px solid var(--mk-accent-deep);border-radius:var(--mk-r-md);background:var(--mk-accent);min-height:32px;color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent);flex:none;padding:.45rem 1.1rem}.start-page .invite-redeem__submit:hover:not(:disabled),.start-page .invite-redeem__submit:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink)}.start-page .invite-redeem__submit:disabled{cursor:not-allowed;opacity:.55}.start-page .continue-card__cta{border:1px solid var(--mk-accent-deep);border-radius:var(--mk-r-md);background:var(--mk-accent);min-height:32px;color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent)}.start-page .continue-card__cta:hover:not(:disabled),.start-page .continue-card__cta:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink)}.start-page .continue-card__secondary{padding:.35rem .9rem;font-size:.82rem}.profile-card{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);max-width:400px;box-shadow:var(--mk-shadow-panel);text-align:left;margin:1.5rem auto 0;padding:20px 20px 16px}.profile-card__title{color:var(--mk-text-h);margin:0 0 1.1rem;font-size:1.05rem;font-weight:600}.profile-card__form{flex-direction:column;align-items:flex-start;gap:8px;margin:0;display:flex}.profile-card__label{color:var(--mk-text);font-size:.78rem;font-weight:500}.profile-card__input{width:100%}.profile-card__helper{color:var(--mk-text);opacity:.68;margin:0;font-size:.74rem;line-height:1.45}.profile-card__submit{margin-top:6px;padding:.5rem 1.25rem;font-size:.9rem}.profile-card__error{margin:6px 0 0}.app-shell .profile-card__submit{border:1px solid var(--mk-accent-deep);border-radius:var(--mk-r-md);background:var(--mk-accent);min-height:32px;color:var(--mk-accent-ink);box-shadow:var(--mk-shadow-accent);font-weight:600}.app-shell .profile-card__submit:hover:not(:disabled),.app-shell .profile-card__submit:focus-visible{background:var(--mk-accent-deep);border-color:var(--mk-accent-deep);color:var(--mk-accent-ink);outline:none}.app-shell .profile-card__submit:disabled{cursor:not-allowed;opacity:.55}@media (width<=479px){.continue-card,.start-page__actions,.start-page__invite,.profile-card{max-width:100%}.start-action{padding:12px 14px}.start-page__headline{font-size:1.05rem}}.planner-shell__suunnitelma-toggle--active{border-color:var(--mk-accent);color:var(--mk-accent);background:var(--mk-accent-hover)}.planner-shell__suunnitelma-toggle--active:hover{background:var(--mk-accent-hover-deep)}.place-card__cues{flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;min-height:11px;display:flex}.place-card__cue-count{color:#e6d2b2c7;background:#18150f66;border:1px solid #96845c29;border-radius:4px;flex-shrink:0;padding:0 3px;font-size:.56rem;font-weight:600;line-height:1.4}.place-card__cue-owner{color:#f0e1c3e0;letter-spacing:-.02em;background:#503e20b8;border:1px solid #c8af7847;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:10px;height:10px;font-size:.44rem;font-weight:700;line-height:1;display:flex;overflow:hidden}.place-card__cue-overflow{color:#c8af78ad;flex-shrink:0;font-size:.5rem;font-weight:600;line-height:1}.place-card__cue-missing{background:#c36e2db8;border-radius:50%;flex-shrink:0;width:5px;height:5px}@media (width<=599px){.place-card__cue-owner--3rd{display:none}}.koko-suunnitelma-drawer{background:var(--mk-surface-panel);border:1px solid var(--mk-border-warm);border-radius:var(--mk-r-lg);width:268px;max-height:calc(100% - 16px);box-shadow:var(--mk-shadow-panel);z-index:10;margin:8px;padding:10px 12px 12px;position:absolute;top:0;right:0;overflow-y:auto}.koko-suunnitelma-drawer__heading{color:var(--mk-accent);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:.72rem;font-weight:700}.koko-suunnitelma-drawer__empty{color:var(--mk-text);opacity:.6;margin:0;font-size:.82rem}.koko-suunnitelma-drawer__groups{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.koko-suunnitelma-drawer__place-btn{font:inherit;color:var(--mk-text-h);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;margin-bottom:4px;padding:0;font-size:.76rem;font-weight:600}.koko-suunnitelma-drawer__place-btn:hover,.koko-suunnitelma-drawer__place-btn--active{color:var(--mk-accent)}.koko-suunnitelma-drawer__items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.koko-suunnitelma-drawer__item{font:inherit;border-radius:var(--mk-r-sm);cursor:pointer;width:100%;color:var(--mk-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:3px 6px;font-size:.75rem;display:flex}.koko-suunnitelma-drawer__item:hover{background:var(--mk-surface-hover);color:var(--mk-text-h)}.koko-suunnitelma-drawer__item--goal{font-style:italic}.koko-suunnitelma-drawer__item--unassigned{opacity:.75}.koko-suunnitelma-drawer__item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.koko-suunnitelma-drawer__item-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.koko-suunnitelma-drawer__item-time{color:var(--mk-text);opacity:.7;font-size:.68rem}.koko-suunnitelma-drawer__item-owner{color:var(--mk-text);opacity:.72;white-space:nowrap;font-size:.65rem;font-weight:600}.koko-suunnitelma-drawer__item-unassigned{color:#c36e2dcc;white-space:nowrap;font-size:.63rem;font-weight:500}.koko-suunnitelma-drawer__status{border-radius:var(--mk-r-pill);background:var(--mk-surface-warm);border:1px solid var(--mk-border-warm);white-space:nowrap;padding:1px 5px;font-size:.68rem;font-weight:500}.koko-suunnitelma-drawer__status--done,.koko-suunnitelma-drawer__status--achieved{color:var(--mk-accent)}.koko-suunnitelma-drawer__status--in_progress{color:var(--mk-accent);opacity:.8}
