:root{--color-bg:#f7f5f2;--color-bg-soft:#efebe6;--color-primary:#8b3a4a;--color-primary-hover:#7a3342;--color-primary-dark:#5c2833;--color-secondary:#7a8f9c;--color-secondary-soft:#e4e8eb;--color-accent:#b86b52;--color-text:#232428;--color-muted:#5c6168;--color-muted-light:#8a9098;--color-white:#fff;--color-black:#111;--color-primary-rgb:139 58 74;--color-primary-dark-rgb:92 40 51;--color-secondary-rgb:122 143 156;--color-secondary-soft-rgb:228 232 235;--color-accent-rgb:184 107 82;--color-bg-glow-rgb:154 168 180;--bg-glow-warm:#d8d2ca;--bg-glow-cool:#9aa8b4;--shadow-x:5px;--shadow-y:5px;--shadow-x-hover:2px;--shadow-y-hover:2px;--border-brutal:2.5px;--radius-brutal:12px;--brutal-border-color:#232428;--brutal-shadow-color:#232428;--shadow-brutal:var(--shadow-x) var(--shadow-y) 0 0 var(--brutal-shadow-color);--shadow-brutal-hover:var(--shadow-x-hover) var(--shadow-y-hover) 0 0 var(--brutal-shadow-color);--shadow-brutal-sm:2px 2px 0 0 var(--brutal-shadow-color);--transition-brutal:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;--radius-hand-sm:10px 8px 12px 7px;--radius-hand-md:14px 10px 16px 9px;--radius-hand-lg:22px 16px 26px 14px;--radius-hand-xl:clamp(18px, 5vw, 28px) clamp(14px, 4vw, 22px) clamp(22px, 5.5vw, 32px) clamp(12px, 3.5vw, 20px);--tilt-left:-.55deg;--tilt-right:.45deg;--card-bg:#ffffffd1;--card-bg-strong:#fffffff0;--card-border:var(--brutal-border-color);--card-shadow:var(--shadow-brutal), 0 22px 70px rgb(var(--color-primary-dark-rgb) / .12);--card-shadow-soft:0 22px 70px rgb(var(--color-primary-dark-rgb) / .12);--button-shadow:var(--shadow-brutal), 0 12px 30px rgb(var(--color-primary-rgb) / .2);--radius-xl:var(--radius-hand-xl);--radius-lg:var(--radius-hand-lg);--radius-md:var(--radius-hand-md);--radius-sm:var(--radius-hand-sm);--radius-pill:999px;--font-heading:"Caveat", "Kalam", "Segoe Print", cursive;--font-body:"Patrick Hand", "Kalam", cursive;--font-accent:"Gloria Hallelujah", "Caveat", cursive;--font-brutal-base:var(--font-body);--font-brutal-heading:var(--font-heading);--container-width:min(540px, 100%);--container-padding-x:clamp(18px, 5vw, 36px);--container-padding-y:clamp(24px, 6vw, 36px);--container-padding:var(--container-padding-y) var(--container-padding-x);--page-padding-x:clamp(12px, 4vw, 24px);--page-padding-y:clamp(16px, 4vw, 24px);--navbar-offset:52px;--bottom-bar-offset:64px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--touch-min:44px;--transition-fast:.18s ease;--transition-base:.26s ease;--transition-slow:.42s ease}.brutal-base{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-brutal)}.brutal-shadow{box-shadow:var(--shadow-brutal);transition:var(--transition-brutal)}.brutal-shadow-soft{box-shadow:var(--card-shadow)}.brutal-shadow-sm{box-shadow:var(--shadow-brutal-sm)}.brutal-hover:hover:not(:disabled){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:var(--shadow-brutal-hover)}.brutal-surface{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brutal-surface-strong{background:var(--card-bg-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brutal-interactive{transition:var(--transition-brutal)}.brutal-interactive:hover:not(:disabled){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:var(--shadow-brutal-hover)}.brutal-interactive:active:not(:disabled){transform:translate(var(--shadow-x), var(--shadow-y));box-shadow:none}.font-brutal-base{font-family:var(--font-brutal-base);font-weight:500}.font-brutal-heading{font-family:var(--font-brutal-heading);font-weight:700}.translate-brutal{transform:translate(var(--shadow-x), var(--shadow-y))}.shadow-brutal{box-shadow:var(--shadow-brutal)}.shadow-brutal-hover{box-shadow:var(--shadow-brutal-hover)}.shadow-brutal-sm{box-shadow:var(--shadow-brutal-sm)}.brutal-card,.card-brutal{isolation:isolate;border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-xl);background:var(--card-bg);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative}.brutal-card:before,.card-brutal:before{content:"";border-radius:inherit;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.card-brutal-hover:hover{transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:var(--shadow-brutal-hover)}.brutal-btn,.btn-brutal{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-hand-md);box-shadow:var(--button-shadow);font-family:var(--font-body);letter-spacing:.02em;transition:var(--transition-brutal);font-weight:700}.btn-brutal-ghost{color:var(--color-primary-dark);background:#ffffffd1}.btn-brutal-primary{color:var(--color-white);background:linear-gradient(135deg, rgb(var(--color-brutal-primary,232 93 117)), var(--color-primary-dark))}.btn-brutal-secondary{color:var(--color-primary-dark);background:#ffffffd1}.brutal-btn:hover:not(:disabled),.btn-brutal:hover:not(:disabled){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:var(--shadow-brutal-hover), 0 10px 24px rgb(var(--color-primary-rgb) / .2)}.brutal-btn:active:not(:disabled),.btn-brutal:active:not(:disabled){transform:translate(var(--shadow-x), var(--shadow-y));box-shadow:none}.brutal-input,.input-brutal{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-brutal-sm);font-family:var(--font-body);transition:var(--transition-brutal);background:#ffffffc7}.brutal-input:focus,.input-brutal:focus{border-color:var(--color-primary-dark);box-shadow:var(--shadow-brutal-sm), 0 0 0 3px rgb(var(--color-primary-rgb) / .16);background:#fffffff5;outline:none}.textarea-brutal{resize:vertical;min-height:6rem}.hand-title{font-family:var(--font-heading);letter-spacing:.01em;font-weight:700;line-height:1.05}.hand-label{font-family:var(--font-accent);letter-spacing:.04em;font-weight:400}.hand-underline{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath d='M0 5 Q30 1 60 4 T120 3' stroke='%23B86B52' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:0 88%;background-repeat:no-repeat;background-size:100% .28em;display:inline-block}.hand-tilt-left{transform:rotate(var(--tilt-left))}.hand-tilt-right{transform:rotate(var(--tilt-right))}.hand-card{transform:rotate(var(--tilt-left));transition:transform var(--transition-base), box-shadow var(--transition-brutal)}.hand-card:hover{transform:translate(var(--shadow-x-hover), var(--shadow-y-hover)) rotate(0deg);box-shadow:var(--shadow-brutal-hover), 0 22px 70px rgb(var(--color-primary-dark-rgb) / .14)}.hand-tape{position:relative}.hand-tape:after{content:"";background:linear-gradient(180deg, rgb(var(--color-secondary-soft-rgb) / .92), rgb(var(--color-secondary-rgb) / .45));pointer-events:none;opacity:.88;border:1px solid #2324281f;border-radius:2px;width:clamp(56px,18vw,84px);height:22px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px #23242814}.hand-sketch-border{box-shadow:var(--shadow-brutal), inset 0 0 0 1px #ffffff59}@media (prefers-reduced-motion:reduce){.hand-card,.hand-card:hover{transform:none}}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100dvh;font-family:var(--font-body);letter-spacing:.015em;background:radial-gradient(circle at top left, var(--bg-glow-warm) 0, transparent 34%), radial-gradient(circle at bottom right, var(--bg-glow-cool) 0, transparent 30%), linear-gradient(135deg, var(--color-bg) 0%, var(--color-bg-soft) 100%);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;font-size:1.05rem;overflow-x:hidden}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app{min-height:100dvh;position:relative;overflow-x:hidden}.page{z-index:2;min-height:100dvh;padding:calc(var(--navbar-offset) + var(--safe-top) + var(--page-padding-y)) calc(var(--page-padding-x) + var(--safe-right)) calc(var(--page-padding-y) + var(--safe-bottom)) calc(var(--page-padding-x) + var(--safe-left));-webkit-overflow-scrolling:touch;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden auto}.page-with-corner-controls{padding-bottom:calc(var(--bottom-bar-offset) + var(--safe-bottom) + var(--page-padding-y))}.page-transition{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.page-card{isolation:isolate;width:min(100%, var(--container-width));padding:var(--container-padding);border:var(--border-brutal) solid var(--card-border);border-radius:var(--radius-xl);background:var(--card-bg);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;position:relative;overflow:hidden}.eyebrow{color:var(--color-primary-dark);text-transform:none;margin:0 0 10px;font-size:clamp(1rem,3.8vw,1.15rem)}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text)}h1{overflow-wrap:anywhere;margin:0;font-size:clamp(2.4rem,10vw,4.8rem);line-height:.98}h2{overflow-wrap:anywhere;margin:0;font-size:clamp(1.85rem,7vw,3rem);line-height:1}p{color:var(--color-muted);line-height:1.7}.page-description{max-width:440px;margin:clamp(12px,3vw,18px) auto 0;font-size:clamp(.92rem,3.5vw,1rem)}.actions{flex-flow:wrap;justify-content:center;align-items:center;gap:clamp(10px,2.5vw,14px);width:100%;margin-top:clamp(20px,5vw,28px);display:flex}.fixed-top-left{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));z-index:30;max-width:calc(50vw - 24px);position:fixed;right:auto}.fixed-top-right{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));z-index:30;max-width:calc(50vw - 24px);position:fixed;left:auto}.page-top-bar{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));z-index:30;justify-content:space-between;align-items:flex-start;gap:clamp(8px,2.5vw,12px);display:flex;position:fixed}.page-top-bar-start,.page-top-bar-end{align-items:flex-start;min-width:0;display:flex}.page-top-bar-start{flex:0 44%;max-width:44%}.page-top-bar-end{flex:0 56%;justify-content:flex-end;max-width:56%}.start-over-button{width:100%;max-width:100%;min-height:var(--touch-min);white-space:nowrap;padding-inline:clamp(10px,3vw,16px);font-size:clamp(.72rem,2.8vw,.9rem);line-height:1.2}.start-over-label-short{display:none}.page-top-bar-end .language-switcher{max-width:100%}.fixed-bottom-bar{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));z-index:30;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{text-align:center;white-space:normal;word-break:break-word;line-height:1.15;font-family:var(--font-body);letter-spacing:.02em;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.btn-primary{color:var(--color-white);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark))}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-dark))}.btn-secondary{color:var(--color-primary-dark);background:#ffffffd1}.btn-ghost{color:var(--color-text);background:#ffffff9e}.btn-locked{color:var(--color-muted);box-shadow:var(--shadow-brutal-sm);background:#ffffff8c;border-style:dashed}.btn-sm{min-height:var(--touch-min);padding:0 clamp(14px,4vw,16px);font-size:clamp(.84rem,3.2vw,.9rem)}.btn-md{min-height:var(--touch-min);padding:0 clamp(18px,5vw,24px);font-size:clamp(.92rem,3.5vw,1rem)}.btn-lg{min-height:clamp(48px,12vw,56px);padding:0 clamp(20px,6vw,32px);font-size:clamp(.95rem,3.8vw,1.05rem)}.btn:disabled{opacity:.56}.btn:focus-visible{box-shadow:var(--button-shadow), 0 0 0 4px rgb(var(--color-primary-rgb) / .28);outline:none}.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-locked:focus-visible{box-shadow:0 0 0 4px rgb(var(--color-primary-rgb) / .28)}.language-switcher{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-pill);box-shadow:var(--shadow-brutal-sm), 0 10px 28px rgb(var(--color-primary-dark-rgb) / .1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:calc(100vw - 32px - var(--safe-left) - var(--safe-right));overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#ffffffb8;flex-wrap:nowrap;align-items:center;gap:4px;padding:5px;display:inline-flex;overflow-x:auto}.language-switcher::-webkit-scrollbar{display:none}.language-option{border-radius:var(--radius-pill);min-width:36px;height:32px;min-height:32px;color:var(--color-muted);transition:var(--transition-brutal);background:0 0;border:0;flex:none;padding:0 8px;font-size:.78rem;font-weight:800}.language-option:hover{color:var(--color-primary-dark)}.language-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.language-option.active{color:var(--color-white);background:var(--color-primary);border:2px solid var(--brutal-border-color);box-shadow:1px 1px 0 0 var(--brutal-shadow-color)}@media (width<=520px){.form-stack{gap:16px}}.modal-backdrop{z-index:50;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2b2b2b38;place-items:center;display:grid;position:fixed;inset:0}.gallery-modal{width:min(100%,720px);max-height:min(720px, calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom)));border:var(--border-brutal) solid var(--card-border);border-radius:var(--radius-xl);background:var(--card-bg-strong);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-overflow-scrolling:touch;padding:clamp(18px,5vw,28px);overflow-y:auto}.gallery-modal-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.gallery-modal-header h2{margin:0}.gallery-modal-description{color:var(--color-muted);margin:6px 0 0;font-size:.92rem}.gallery-empty{border:var(--border-brutal) dashed var(--brutal-border-color);border-radius:var(--radius-md);background:linear-gradient(135deg, rgb(var(--color-secondary-rgb) / .22), #ffffffc7);text-align:center;place-items:center;gap:10px;min-height:220px;padding:26px;display:grid}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:clamp(8px,2.5vw,12px);margin:0;padding:0;list-style:none;display:grid}.gallery-grid-item{border-radius:var(--radius-md);border:var(--border-brutal) solid var(--brutal-border-color);box-shadow:var(--shadow-brutal-sm), 0 10px 24px rgb(var(--color-primary-dark-rgb) / .1);aspect-ratio:4/5;background:#ffffffb8;position:relative;overflow:hidden}.gallery-grid-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base);display:block}.gallery-grid-item:hover .gallery-grid-image{transform:scale(1.03)}.gallery-empty-emoji{font-size:2.2rem;line-height:1}.gallery-empty-text{color:var(--color-muted);margin:0;font-weight:700}@media (width<=620px){.gallery-modal-header{flex-direction:column;gap:14px}.gallery-modal-header .btn{align-self:flex-start}.gallery-empty{min-height:160px;padding:clamp(16px,4vw,22px)}}.custom-place-modal{width:min(100%,560px);max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));border:var(--border-brutal) solid var(--card-border);border-radius:var(--radius-xl);background:var(--card-bg-strong);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-overflow-scrolling:touch;padding:clamp(18px,5vw,28px);overflow-y:auto}.custom-place-form{margin-top:0}.custom-place-actions{margin-top:8px}.icon-picker-field{gap:10px;display:grid}.icon-picker-trigger{min-height:var(--touch-min);border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-md);width:100%;color:var(--color-text);box-shadow:var(--shadow-brutal-sm);transition:var(--transition-brutal);background:#ffffffc7;align-items:center;gap:12px;padding:10px 14px;font-weight:700;display:inline-flex}.icon-picker-trigger:hover{transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:1px 1px 0 0 var(--brutal-shadow-color);background:#fffffff0}.icon-picker-trigger:focus-visible{box-shadow:0 0 0 4px rgb(var(--color-primary-rgb) / .12);outline:none}.icon-picker-preview{border-radius:var(--radius-sm);background:rgb(var(--color-primary-rgb) / .1);place-items:center;width:42px;height:42px;font-size:1.5rem;line-height:1;display:grid}.icon-picker-trigger-text{font-size:.92rem}.emoji-picker-wrap{border:1px solid var(--card-border);border-radius:var(--radius-md);background:#ffffffeb;overflow:hidden}.emoji-picker-wrap .EmojiPickerReact{--epr-bg-color:#fffffffa;--epr-category-label-bg-color:rgb(var(--color-bg-glow-rgb) / .96);--epr-highlight-color:var(--color-primary);--epr-search-border-color:rgb(var(--color-primary-rgb) / .22);border:0!important}.emoji-picker-loading{min-height:120px;color:var(--color-muted);place-items:center;padding:20px;font-size:.9rem;font-weight:700;display:grid}@media (width<=400px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-stack{text-align:left;gap:18px;margin-top:28px;display:grid}.form-group{text-align:left;gap:8px;display:grid}.form-label{color:var(--color-text);font-family:var(--font-accent);text-align:left;margin:0;padding-left:4px;font-size:1.05rem;line-height:1.3;display:block}.form-input{width:100%;min-height:var(--touch-min);border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);text-align:left;box-shadow:var(--shadow-brutal-sm);transition:var(--transition-brutal);background:#ffffffc7;outline:none;padding:0 clamp(14px,4vw,18px);font-size:1.05rem}.form-input[type=date],.form-input[type=time],.form-input-date,.form-input-time{width:100%;min-height:var(--touch-min);color:var(--color-text);font-family:var(--font-body);letter-spacing:.01em;text-align:left;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;appearance:none;padding:12px clamp(14px,4vw,18px);font-size:16px;font-weight:600;line-height:1.25;display:block}.form-input-date:not(:focus):invalid,.form-input-time:not(:focus):invalid{color:var(--color-muted-light)}.form-input-date:not(:focus):invalid::-webkit-datetime-edit{color:var(--color-muted-light)}.form-input-time:not(:focus):invalid::-webkit-datetime-edit{color:var(--color-muted-light)}.form-input-date:not(:focus):invalid::-webkit-date-and-time-value{color:var(--color-muted-light)}.form-input-time:not(:focus):invalid::-webkit-date-and-time-value{color:var(--color-muted-light)}.form-input-date:valid,.form-input-time:valid,.form-input-date:focus,.form-input-time:focus{color:var(--color-text)}.form-input-date::-webkit-datetime-edit{font-family:var(--font-body);color:inherit;align-items:center;padding:0;font-size:16px;font-weight:600;line-height:1.25;display:inline-flex}.form-input-time::-webkit-datetime-edit{font-family:var(--font-body);color:inherit;align-items:center;padding:0;font-size:16px;font-weight:600;line-height:1.25;display:inline-flex}.form-input[type=date]::-webkit-datetime-edit{font-family:var(--font-body);color:inherit;align-items:center;padding:0;font-size:16px;font-weight:600;line-height:1.25;display:inline-flex}.form-input[type=time]::-webkit-datetime-edit{font-family:var(--font-body);color:inherit;align-items:center;padding:0;font-size:16px;font-weight:600;line-height:1.25;display:inline-flex}.form-input-date::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input-time::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input-date::-webkit-datetime-edit-text{color:var(--color-muted-light);padding:0 1px}.form-input-time::-webkit-datetime-edit-text{color:var(--color-muted-light);padding:0 1px}.form-input[type=date]::-webkit-datetime-edit-text{color:var(--color-muted-light);padding:0 1px}.form-input[type=time]::-webkit-datetime-edit-text{color:var(--color-muted-light);padding:0 1px}.form-input-date::-webkit-datetime-edit-year-field{color:inherit;padding:0 2px;font-weight:600}.form-input-date::-webkit-datetime-edit-month-field{color:inherit;padding:0 2px;font-weight:600}.form-input-date::-webkit-datetime-edit-day-field{color:inherit;padding:0 2px;font-weight:600}.form-input-time::-webkit-datetime-edit-hour-field{color:inherit;padding:0 2px;font-weight:600}.form-input-time::-webkit-datetime-edit-minute-field{color:inherit;padding:0 2px;font-weight:600}.form-input-time::-webkit-datetime-edit-ampm-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=date]::-webkit-datetime-edit-year-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=date]::-webkit-datetime-edit-month-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=date]::-webkit-datetime-edit-day-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=time]::-webkit-datetime-edit-hour-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=time]::-webkit-datetime-edit-minute-field{color:inherit;padding:0 2px;font-weight:600}.form-input[type=time]::-webkit-datetime-edit-ampm-field{color:inherit;padding:0 2px;font-weight:600}.form-input-date::-webkit-date-and-time-value{text-align:left;min-height:1.25em;font-family:var(--font-body);color:inherit;font-size:16px;font-weight:600;line-height:1.25}.form-input-time::-webkit-date-and-time-value{text-align:left;min-height:1.25em;font-family:var(--font-body);color:inherit;font-size:16px;font-weight:600;line-height:1.25}.form-input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.25em;font-family:var(--font-body);color:inherit;font-size:16px;font-weight:600;line-height:1.25}.form-input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.25em;font-family:var(--font-body);color:inherit;font-size:16px;font-weight:600;line-height:1.25}.form-input-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;filter:invert(28%)sepia(42%)saturate(900%)hue-rotate(320deg)brightness(88%)contrast(92%);width:20px;height:20px;margin:0 0 0 8px;padding:0}.form-input-time::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;filter:invert(28%)sepia(42%)saturate(900%)hue-rotate(320deg)brightness(88%)contrast(92%);width:20px;height:20px;margin:0 0 0 8px;padding:0}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;filter:invert(28%)sepia(42%)saturate(900%)hue-rotate(320deg)brightness(88%)contrast(92%);width:20px;height:20px;margin:0 0 0 8px;padding:0}.form-input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72;filter:invert(28%)sepia(42%)saturate(900%)hue-rotate(320deg)brightness(88%)contrast(92%);width:20px;height:20px;margin:0 0 0 8px;padding:0}.form-input-date:focus::-webkit-calendar-picker-indicator{opacity:1}.form-input-time:focus::-webkit-calendar-picker-indicator{opacity:1}.form-input[type=date]:focus::-webkit-calendar-picker-indicator{opacity:1}.form-input[type=time]:focus::-webkit-calendar-picker-indicator{opacity:1}.form-input::placeholder{color:var(--color-muted-light)}.form-input:focus{border-color:var(--color-primary-dark);box-shadow:var(--shadow-brutal-sm), 0 0 0 3px rgb(var(--color-primary-rgb) / .14);background:#fffffff5}.form-input:focus-visible{outline:none}.input-error{border-color:var(--color-primary-dark)}.form-error{color:var(--color-primary-dark);text-align:left;margin:0;padding-left:4px;font-size:.82rem;font-weight:700}.form-error-spaced{margin-top:12px}.form-hint{color:var(--color-muted-light);text-align:left;margin:0;padding-left:4px;font-size:.8rem;font-weight:600;line-height:1.45}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.country-option{min-height:var(--touch-min);border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-brutal-sm);transition:var(--transition-brutal);background:#ffffffad;justify-content:center;align-items:center;gap:clamp(6px,2vw,10px);padding:10px 12px;font-size:clamp(.88rem,3.5vw,1rem);font-weight:800;display:flex}.country-option:hover:not(.country-option-selected){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:1px 1px 0 0 var(--brutal-shadow-color);background:#ffffffeb}.country-option:focus-visible{box-shadow:var(--shadow-brutal-sm), 0 0 0 3px rgb(var(--color-primary-rgb) / .22);outline:none}.country-option-selected{color:var(--color-white);border-color:var(--brutal-border-color);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));box-shadow:var(--button-shadow)}.country-option-selected:hover{transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-dark));box-shadow:var(--shadow-brutal-hover), 0 10px 24px rgb(var(--color-primary-rgb) / .2)}.country-emoji{font-size:1.3rem}.helper-text{color:var(--color-muted-light);font-family:var(--font-accent);text-align:center;margin:14px 0 0;font-size:.95rem}.no-button-wrapper{flex-direction:column;align-items:stretch;display:inline-flex;position:relative}.no-button-message{border-radius:var(--radius-pill);width:max-content;max-width:min(220px,100vw - 48px);color:var(--color-primary-dark);box-shadow:0 10px 28px rgb(var(--color-primary-dark-rgb) / .12);text-align:center;opacity:0;pointer-events:none;transition:opacity var(--transition-base), transform var(--transition-base);background:#ffffffdb;padding:8px 12px;font-size:.78rem;font-weight:800;position:absolute;bottom:-34px;left:50%;transform:translate(-50%)}.no-button-wrapper.show-message .no-button-message{opacity:1;transform:translate(-50%)translateY(-4px)}.page-card-wide{width:min(100%,720px)}.summary-row{flex-wrap:wrap;justify-content:center;gap:clamp(6px,2vw,8px);margin-top:clamp(16px,4vw,22px);display:flex}.summary-chip{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-pill);max-width:100%;color:var(--color-text);font-family:var(--font-accent);box-shadow:var(--shadow-brutal-sm);word-break:break-word;overflow-wrap:anywhere;background:#ffffffc2;align-items:center;gap:6px;padding:6px 12px;font-size:clamp(.82rem,3vw,.9rem);display:inline-flex}.summary-chip-icon{font-size:1rem}.place-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:clamp(10px,2.5vw,12px);margin-top:clamp(18px,4vw,24px);display:grid}.place-grid .place-card:nth-child(odd){--card-tilt:var(--tilt-left)}.place-grid .place-card:nth-child(2n){--card-tilt:var(--tilt-right)}.place-card{min-height:var(--touch-min);border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer;box-shadow:var(--shadow-brutal-sm);transform:rotate(var(--card-tilt,0deg));transition:var(--transition-brutal);background:#ffffffad;flex-direction:column;align-items:flex-start;gap:clamp(6px,2vw,8px);padding:clamp(14px,4vw,18px);display:flex;position:relative}.place-card:hover:not(.place-card-selected){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover)) rotate(0deg);box-shadow:1px 1px 0 0 var(--brutal-shadow-color);background:#ffffffeb}.place-card:focus-visible{transform:translate(var(--shadow-x-hover), var(--shadow-y-hover)) rotate(0deg);box-shadow:var(--shadow-brutal-sm), 0 0 0 3px rgb(var(--color-primary-rgb) / .18);outline:none}.place-card-selected{border-color:var(--brutal-border-color);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-white);box-shadow:var(--button-shadow);transform:rotate(0)}.place-card-selected:hover,.place-card-selected.brutal-interactive:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-dark));color:var(--color-white);box-shadow:var(--shadow-brutal-hover), 0 10px 24px rgb(var(--color-primary-rgb) / .2);transform:translate(var(--shadow-x-hover), var(--shadow-y-hover)) rotate(0deg)}.place-card-icon{font-size:1.75rem;line-height:1}.place-card-title{font-family:var(--font-heading);letter-spacing:.01em;overflow-wrap:anywhere;font-size:clamp(1.05rem,4vw,1.2rem);font-weight:700}.place-card-description{color:var(--color-muted);overflow-wrap:anywhere;font-size:clamp(.8rem,3.2vw,.85rem);line-height:1.45}.place-card-selected .place-card-description{color:#ffffffe0}.place-card-name{color:var(--color-muted-light);font-size:.78rem}.place-card-selected .place-card-name{color:#ffffffc7}.place-card-badge{border-radius:var(--radius-pill);background:rgb(var(--color-primary-rgb) / .1);color:var(--color-primary-dark);font-family:var(--font-accent);text-transform:none;align-self:flex-start;margin-top:auto;padding:4px 10px;font-size:.82rem}.place-card-selected .place-card-badge{color:var(--color-white);background:#fff3}.place-card-check{background:var(--color-white);width:26px;height:26px;color:var(--color-primary);box-shadow:0 6px 16px rgb(var(--color-primary-dark-rgb) / .18);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;display:grid;position:absolute;top:12px;right:12px}@media (prefers-reduced-motion:reduce){.place-card,.place-card:hover:not(.place-card-selected),.place-card:focus-visible,.place-card-selected{transform:none}}@media (width<=520px){.place-grid{grid-template-columns:1fr}}.you-pick-section{text-align:left;margin-top:clamp(14px,3.5vw,18px)}.you-pick-button{width:100%;min-height:var(--touch-min);border:var(--border-brutal) dashed var(--brutal-border-color);border-radius:var(--radius-md);background:linear-gradient(135deg, rgb(var(--color-secondary-soft-rgb) / .62), #ffffffd1);color:var(--color-text);text-align:left;cursor:pointer;box-shadow:var(--shadow-brutal-sm);transition:var(--transition-brutal);align-items:center;gap:clamp(12px,3vw,16px);padding:clamp(14px,4vw,18px);display:flex;position:relative}.you-pick-button:hover{background:linear-gradient(135deg, rgb(var(--color-secondary-soft-rgb) / .78), #fffffff0);transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));box-shadow:1px 1px 0 0 var(--brutal-shadow-color)}.you-pick-button:focus-visible{box-shadow:var(--shadow-brutal-sm), 0 0 0 3px rgb(var(--color-primary-rgb) / .18);outline:none}.you-pick-button-selected{border-style:solid;border-color:var(--brutal-border-color);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:var(--color-white);box-shadow:var(--button-shadow)}.you-pick-button-selected:hover,.you-pick-button-selected.brutal-interactive:hover:not(:disabled){transform:translate(var(--shadow-x-hover), var(--shadow-y-hover));background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-dark));color:var(--color-white);box-shadow:var(--shadow-brutal-hover), 0 10px 24px rgb(var(--color-primary-rgb) / .2)}.you-pick-button-icon{border-radius:var(--radius-sm);background:#ffffffb8;flex:none;place-items:center;width:46px;height:46px;font-size:1.5rem;line-height:1;display:grid}.you-pick-button-selected .you-pick-button-icon{background:#ffffff38}.you-pick-button-content{flex:1;gap:4px;min-width:0;display:grid}.you-pick-button-title{font-family:var(--font-heading);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(.95rem,3.8vw,1.05rem);font-weight:800}.you-pick-button-description{color:var(--color-muted);overflow-wrap:anywhere;font-size:clamp(.8rem,3.2vw,.85rem);line-height:1.45}.you-pick-button-selected .you-pick-button-description{color:#ffffffe0}.you-pick-button-check{background:var(--color-white);width:28px;height:28px;color:var(--color-primary);box-shadow:0 6px 16px rgb(var(--color-primary-dark-rgb) / .18);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.summary-card{border:var(--border-brutal) solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg-strong);box-shadow:var(--shadow-brutal-sm), 0 14px 36px rgb(var(--color-primary-dark-rgb) / .1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:clamp(16px,4vw,22px) 0 0;padding:8px 4px;list-style:none}.summary-card-row{border-bottom:1px solid rgb(var(--color-primary-rgb) / .1);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(8px,2.5vw,14px);padding:clamp(10px,3vw,12px) clamp(14px,4vw,18px);display:grid}.summary-card-row:last-child{border-bottom:0}.summary-card-label{color:var(--color-muted);font-family:var(--font-accent);align-items:center;gap:8px;margin:0;font-size:.95rem;display:inline-flex}.summary-card-icon{font-size:1rem;line-height:1}.summary-card-value{color:var(--color-text);text-align:right;word-break:break-word;overflow-wrap:anywhere;margin:0;font-size:clamp(.88rem,3.5vw,.95rem);font-weight:800}.form-textarea{resize:vertical;min-height:clamp(88px,24vw,96px);padding:clamp(12px,3.5vw,14px) clamp(14px,4vw,18px);line-height:1.5}.privacy-note{color:var(--color-muted-light);text-align:center;margin:clamp(12px,3vw,16px) 0 0;font-size:clamp(.72rem,3vw,.78rem);line-height:1.55}.status-message{border-radius:var(--radius-md);text-align:center;margin:16px 0 0;padding:12px 16px;font-size:.9rem;font-weight:700}.status-message-error{color:var(--color-primary-dark);background:rgb(var(--color-primary-rgb) / .12);border:1px solid rgb(var(--color-primary-rgb) / .28)}.success-section{border:var(--border-brutal) solid var(--brutal-border-color);border-radius:var(--radius-lg);background:linear-gradient(135deg, rgb(var(--color-secondary-rgb) / .28), #ffffffe0);box-shadow:var(--shadow-brutal-sm);text-align:center;margin-top:clamp(18px,4vw,24px);padding:clamp(16px,4vw,22px)}.success-section-emoji{margin:0 0 8px;font-size:clamp(1.6rem,6vw,2rem);line-height:1}.success-section-line{color:var(--color-text);font-family:var(--font-heading);margin:0;font-size:clamp(1rem,3.8vw,1.15rem);font-weight:700}@media (width<=640px){:root{--navbar-offset:64px}.page-top-bar{align-items:center;gap:8px}.page-top-bar-start{flex:none;max-width:none}.page-top-bar-end{flex:1 1 0;min-width:0;max-width:none}.page-top-bar-end .language-switcher{gap:2px;width:100%;padding:5px;overflow:hidden}.page-top-bar-end .language-option{white-space:nowrap;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:32px;min-height:32px;padding:0 2px;font-size:clamp(.64rem,2.6vw,.76rem);display:inline-flex}.start-over-button{width:auto;min-height:34px;padding-inline:10px;font-size:.78rem}.form-row{grid-template-columns:1fr}.summary-card-row{grid-template-columns:1fr;gap:4px}.summary-card-value{text-align:left}}@media (width<=430px){.start-over-label-full{display:none}.start-over-label-short{display:inline}}@media (width<=400px){:root{--navbar-offset:64px}.start-over-button{padding-inline:10px;font-size:.76rem}.no-button-message{max-width:min(220px,100vw - 48px);bottom:calc(100% + 8px)}}@media (width<=360px){.eyebrow{font-size:clamp(.82rem,3.2vw,.95rem)}.place-card-check{width:24px;height:24px;font-size:.82rem;top:10px;right:10px}}@media (hover:none) and (pointer:coarse){.btn:hover:not(:disabled),.country-option:hover:not(.country-option-selected),.place-card:hover:not(.place-card-selected),.language-option:hover,.start-over-button:hover,.icon-picker-trigger:hover,.you-pick-button:hover,.you-pick-button-selected:hover,.gallery-grid-item:hover .gallery-grid-image{transform:none}}@keyframes floatHeart{0%{opacity:0;transform:translateY(0)rotate(0)scale(1)}18%{opacity:var(--heart-opacity,.35)}to{opacity:0;transform:translateY(-120vh)rotate(24deg)scale(1.35)}}@keyframes softPulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.heart-background{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-heart{color:rgb(var(--color-primary-rgb) / .38);will-change:transform, opacity;animation-name:floatHeart;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-44px}.background-glow{filter:blur(42px);opacity:.35;border-radius:50%;width:clamp(180px,42vw,280px);height:clamp(180px,42vw,280px);animation:8s ease-in-out infinite softPulse;position:absolute}.background-glow-one{background:var(--bg-glow-warm);top:8%;left:4%}.background-glow-two{background:var(--bg-glow-cool);animation-delay:2s;bottom:6%;right:4%}@media (width<=480px){.floating-heart{bottom:-32px}}
