@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-2{margin:calc(var(--spacing) * 2)}.m-8{margin:calc(var(--spacing) * 8)}.m-10{margin:calc(var(--spacing) * 10)}.m-12{margin:calc(var(--spacing) * 12)}.m-13{margin:calc(var(--spacing) * 13)}.m-22{margin:calc(var(--spacing) * 22)}.m-58{margin:calc(var(--spacing) * 58)}.m-59{margin:calc(var(--spacing) * 59)}.m-63{margin:calc(var(--spacing) * 63)}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#f7f1e5;--surface:#fbf7ed;--surface-strong:#fffaf0;--surface-muted:#eee7d9;--terracotta:#df8974;--terracotta-dark:#995340;--sage:#91ad79;--sage-dark:#536e50;--blue:#7fa9b2;--ochre:#e8bd68;--text:#403b32;--text-soft:#736858;--line:#e2d7c3;--shadow:0 18px 45px #473a2e1a;--shadow-soft:0 10px 28px #473a2e14;--radius-xl:32px;--radius-lg:24px;--radius-md:17px}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;min-width:320px}body{background:radial-gradient(circle at 15% 3%, #e5b75b1c, transparent 24rem), radial-gradient(circle at 91% 18%, #7698a71c, transparent 25rem), var(--background);min-height:100vh;color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Avenir Next,Avenir,Segoe UI,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}button,input,textarea,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}::selection{background:#d9785f3d}:focus-visible{outline-offset:3px;outline:3px solid #55767ab8}.app-frame{min-height:100vh}.app-content{min-width:0}.page-shell{width:min(100% - 1.25rem,82rem);padding-block:1rem calc(7rem + env(safe-area-inset-bottom));margin-inline:auto}.desktop-rail{display:none}.brand-lockup{align-items:center;gap:.75rem;display:flex}.brand-lockup>span{gap:.08rem;display:grid}.brand-lockup strong{letter-spacing:-.02em;font-size:1rem}.brand-lockup small{color:var(--text-soft);font-size:.72rem}.logo-mark{flex:none;width:43px;height:43px}.bottom-navigation{z-index:80;right:.7rem;bottom:calc(.65rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf7f0;border:1px solid #463c331f;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:.25rem;max-width:31rem;min-height:68px;margin-inline:auto;padding:.38rem;display:grid;position:fixed;left:.7rem;box-shadow:0 14px 38px #3d31292e}.nav-link{color:#777168;border-radius:17px;justify-content:center;align-items:center;gap:.35rem;min-width:0;min-height:56px;font-size:.76rem;font-weight:700;transition:color .18s,background-color .18s,transform .18s;display:flex;position:relative}.nav-link svg{flex:none}.nav-link-active{color:var(--terracotta-dark);background:#f1e2d2;box-shadow:inset 0 0 0 1px #ad7e580f}.nav-link-active svg{animation:.28s ease-out nav-settle}.nav-link:active{transform:scale(.97)}.storage-banner{z-index:30;color:#5d4d2e;width:min(100% - 1.25rem,82rem);min-height:44px;box-shadow:var(--shadow-soft);background:#fff6d9;border:1px solid #dccb9f;border-radius:15px;justify-content:space-between;align-items:center;gap:1rem;margin:.75rem auto 0;padding:.65rem .8rem .65rem 1rem;font-size:.82rem;display:flex;position:relative}.storage-banner p{margin:0}.storage-banner button{background:#5d4d2e17;border:0;border-radius:10px;min-height:34px;padding-inline:.7rem;font-size:.75rem;font-weight:800}.storage-banner-loading{border-color:var(--line);color:var(--text-soft);background:#faf8f2e6;justify-content:flex-start}.storage-pulse{background:var(--sage);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite storage-pulse}.eyebrow{color:var(--terracotta-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .33rem;font-size:.7rem;font-weight:900;line-height:1.2}.page-header{justify-content:space-between;align-items:flex-end;gap:1rem;padding:.65rem .25rem 1.4rem;display:flex}.page-header h1,.profile-identity h1,.friend-island-profile h1,.invalid-route-state h1{letter-spacing:-.065em;margin:0;font-size:clamp(2rem,8vw,4.7rem);font-weight:750;line-height:.98}.page-header-copy{max-width:42rem;color:var(--text-soft);margin:.75rem 0 0;font-size:.94rem;line-height:1.65}.panel-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fffdf7db;border:1px solid #5143371a}.button{border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.45rem;min-height:46px;padding:.72rem 1rem;font-size:.82rem;font-weight:850;line-height:1;transition:transform .17s,box-shadow .17s,background-color .17s,opacity .17s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-2px)}.button:not(:disabled):active{transform:translateY(0)scale(.98)}.button:disabled{opacity:.46}.button-primary{background:var(--terracotta-dark);color:#fffaf1;box-shadow:0 9px 18px #a9534433}.button-primary:not(:disabled):hover{background:#844731;box-shadow:0 12px 24px #a953443d}.button-secondary{border-color:var(--line);color:var(--text);background:#fffdf8}.button-saved{color:var(--sage-dark);background:#e5eee1;border-color:#58765f38}.button-compact{white-space:nowrap;min-height:42px;padding:.65rem .8rem}.button-large{min-height:54px;padding-inline:1.25rem}.text-button{min-height:44px;color:var(--terracotta-dark);text-align:left;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:850}.empty-state{border-radius:var(--radius-md);text-align:center;background:#faf8f2bd;border:1px dashed #d2c9ba;justify-items:center;padding:2rem 1.25rem;display:grid}.empty-state strong{font-size:1rem}.empty-state p{max-width:25rem;color:var(--text-soft);margin:.5rem 0 0;font-size:.82rem;line-height:1.55}.compact-empty-state{padding:1.2rem 1rem}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.tag-list span{color:#625d55;background:#eee8dc;border-radius:999px;align-items:center;min-height:31px;padding:.35rem .65rem;font-size:.72rem;font-weight:750;display:inline-flex}.island-dashboard{padding-top:.7rem}.profile-overview{background:linear-gradient(135deg, #fffdf7eb, #f4ebdae0), var(--surface);box-shadow:var(--shadow-soft);border:1px solid #4e433a1a;border-radius:25px;gap:1rem;padding:1rem;display:grid;position:relative;overflow:hidden}.profile-overview:after{content:"";border:24px solid #d9785f14;border-radius:50%;width:130px;height:130px;position:absolute;top:-36px;right:-30px}.profile-identity{z-index:1;align-items:center;gap:.85rem;min-width:0;display:flex;position:relative}.profile-avatar,.friend-avatar{--avatar-color:#765d55;--avatar-accent:#d9785f;background:radial-gradient(circle at 50% 32%, #dbad89 0 24%, transparent 25%), linear-gradient(145deg, var(--avatar-accent), var(--avatar-color));border:3px solid #fff9ee;border-radius:19px 19px 22px 22px;flex:none;place-items:center;width:54px;height:54px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #4a3a3229}.profile-avatar:before,.friend-avatar:before{background:var(--avatar-color);content:"";border-radius:55% 55% 30% 30%;width:27px;height:17px;position:absolute;top:5px}.profile-avatar span,.friend-avatar{color:#fff9ef;letter-spacing:.06em;font-size:.7rem;font-weight:900}.profile-avatar span{z-index:1;margin-top:30px;position:relative}.profile-identity h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.65rem,8vw,3rem);overflow:hidden}.level-row{color:var(--text-soft);grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:.5rem;margin-top:.55rem;font-size:.68rem;font-weight:750;display:grid}.level-track{background:#ddd6c9;border-radius:99px;width:100%;height:6px;overflow:hidden}.level-track span{border-radius:inherit;background:linear-gradient(90deg, var(--terracotta), var(--ochre));height:100%;display:block}.profile-stats{z-index:1;border-top:1px solid #54483e1a;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.profile-stats>div{text-align:center;gap:.08rem;padding:.8rem .4rem .15rem;display:grid}.profile-stats>div+div{border-left:1px solid #54483e1a}.profile-stats strong{letter-spacing:-.03em;font-size:1.18rem}.profile-stats span{color:var(--text-soft);font-size:.64rem}.dashboard-grid{gap:.8rem;margin-top:.8rem;display:grid}.island-hero-card{border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow);background:radial-gradient(at 80% 12%,#fff8de 0%,#0000 40%),radial-gradient(at 12% 23%,#fffdedcc,#0000 38%),linear-gradient(#f3f1dc 0%,#e6eddc 43%,#dbe9dc 80%,#eaf0df 100%);border:1px solid #d7dfcb;position:relative;overflow:hidden}.island-toolbar{z-index:5;justify-content:space-between;align-items:center;gap:.7rem;padding:1rem 1rem 0;display:flex;position:relative}.island-toolbar h2,.section-heading h2,.choice-card h2,.reset-card h2,.form-sidecar h2,.form-section-heading h2,.friend-card h2,.friend-scene-heading h2,.friend-insight-grid h2,.latest-memories-section h2{letter-spacing:-.035em;margin:0;font-size:1.1rem;font-weight:800;line-height:1.15}.island-scene{width:100%;position:relative}.island-scene-svg{aspect-ratio:852/555;filter:drop-shadow(0 12px 12px #5859390f);width:100%;height:auto;display:block;overflow:visible}.island-interactive{cursor:pointer;transform-box:fill-box;transform-origin:50%;outline:none;transition:filter .17s,opacity .17s}.island-interactive:hover{filter:brightness(1.04)drop-shadow(0 7px 6px #48362d29)}.island-interactive:focus-visible{filter:drop-shadow(0 0 2px #fff)drop-shadow(0 0 7px #385d67)drop-shadow(0 8px 7px #48362d29)}.restaurant-art{transform-box:fill-box;transform-origin:bottom;transition:transform .2s cubic-bezier(.2,.7,.3,1)}.restaurant-building.island-interactive:hover .restaurant-art,.restaurant-building.island-interactive:focus-visible .restaurant-art{transform:translateY(-2px)scale(1.025)}.restaurant-building.island-interactive:active .restaurant-art{transform:scale(.985)}.tree-crown{transform-box:fill-box;transform-origin:50% 100%;animation:6s ease-in-out infinite tree-sway;animation-delay:var(--sway-delay,0s)}.collectible-halo{fill:#fff6cb8c;stroke:#fff6d7;stroke-width:2px;opacity:0;transition:opacity .17s}.food-memory-token:hover .collectible-halo,.food-memory-token:focus-visible .collectible-halo,.food-memory-token-selected .collectible-halo{opacity:1}.food-memory-float{transform-box:fill-box;transform-origin:bottom;animation:4.4s ease-in-out infinite memory-float;animation-delay:var(--float-delay,0s)}.food-memory-token-selected .food-memory-float{filter:drop-shadow(0 0 8px #fff4bbf2);animation:.9s ease-in-out infinite alternate selected-memory}.token-sparkles{transform-box:fill-box;transform-origin:50%;animation:4.8s ease-in-out infinite sparkle}.decoration-slot{pointer-events:none}.decoration-slot ellipse{fill:#fffdef45;stroke:#4c594666;stroke-width:2px;stroke-dasharray:5 5}.decoration-slot path{fill:none;stroke:#434f408c;stroke-width:2.5px;stroke-linecap:round}.decoration-slot-available{pointer-events:auto;cursor:pointer;outline:none}.decoration-slot-available ellipse{fill:#fff6bcb8;stroke:#9c7433;animation:1.4s ease-in-out infinite alternate slot-glow}.decoration-slot-available path{stroke:#76551f}.decoration-slot-available:focus-visible ellipse{stroke:#315d68;stroke-width:4px}.decoration-slot-occupied ellipse{fill:#0000;stroke:#594d422e}.decoration-slot-selected ellipse{fill:#7698a752;stroke:#4f7783;stroke-width:3px;stroke-dasharray:none}.decoration-slot-selected circle{fill:#4f7783}.island-hint{z-index:4;color:#65716a;text-align:center;margin:-.15rem 1rem 1rem;font-size:.72rem;line-height:1.45;position:relative}.decorate-status{z-index:4;color:#4d6264;background:#f9faf2c7;border:1px solid #4a68702e;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;margin:-.25rem .8rem .8rem;padding:.55rem .75rem;font-size:.72rem;display:flex;position:relative}.decorate-status p{margin:0}.decorate-status-dot{background:var(--ochre);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 5px #e5b75b2e}.island-empty-state{z-index:7;position:absolute;bottom:2.4rem;left:1rem;right:1rem}.dashboard-sidebar{gap:.8rem;display:grid}.choice-card{padding:1.05rem}.section-heading{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.choice-round,.section-heading>span,.friend-scene-heading>span{color:var(--text-soft);background:#eee7da;border-radius:999px;flex:none;padding:.38rem .58rem;font-size:.65rem;font-weight:800}.choice-options{gap:.55rem;margin-top:.9rem;display:grid}.choice-option{border:1px solid var(--line);text-align:left;background:#fffdf7;border-radius:16px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:82px;padding:.65rem .7rem;transition:transform .18s,opacity .18s,border-color .18s,background-color .18s;display:grid;position:relative}.choice-option:not(:disabled):hover{border-color:#c5bba9;transform:translate(3px)}.choice-option>span:nth-child(2){gap:.1rem;min-width:0;display:grid}.choice-option small{color:var(--text-soft);font-size:.63rem}.choice-option strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.choice-restaurant-art{width:54px;display:block;overflow:visible}.choice-score{color:var(--text-soft);font-size:.64rem;font-weight:750}.choice-or{z-index:2;border:1px solid var(--line);background:var(--surface);width:1.6rem;height:1.6rem;color:var(--text-soft);border-radius:50%;place-items:center;font-size:.58rem;font-style:normal;font-weight:800;display:grid;position:absolute;bottom:-.8rem;right:50%;transform:translate(50%)}.choice-option-winner{background:#edf3e8;border-color:#58765f73;animation:.48s choice-win}.choice-option-muted{opacity:.48}.choice-footnote{color:var(--text-soft);margin:.85rem 0 0;font-size:.66rem;line-height:1.5}.reset-card{box-shadow:none;background:#fffaf07a;grid-template-columns:auto 1fr;gap:.75rem;margin-top:1.5rem;padding:1rem;display:grid}.reset-card p:not(.eyebrow){color:var(--text-soft);margin:.35rem 0 0;font-size:.74rem;line-height:1.5}.reset-card .text-button{grid-column:2}.reset-icon{width:44px;height:44px;color:var(--terracotta-dark);background:#eee7da;border-radius:14px;place-items:center;display:grid}.memory-artwork{width:100%;height:auto;display:block;overflow:visible}.rarity-badge{color:#73634e;letter-spacing:.055em;text-transform:uppercase;background:#f5efdf;border:1px solid #dfd7c2;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;min-height:24px;padding:.25rem .6rem;font-size:.59rem;font-weight:850;line-height:1.2;display:inline-flex}.rarity-badge:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.rarity-special{color:#536d4c;background:#eef3e5;border-color:#cbd8c2}.rarity-treasured{color:#88632e;background:#fff1cc;border-color:#e7cc92}.rarity-treasured:before{clip-path:polygon(50% 0,63% 34%,100% 50%,63% 63%,50% 100%,36% 63%,0 50%,36% 34%);border-radius:0;width:7px;height:7px}.featured-memory{background:radial-gradient(ellipse at 50% 30%, var(--memory-accent), transparent 65%), #fffaf0;justify-items:center;width:100%;padding:1.2rem;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.featured-memory{background:radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--memory-accent) 14%, transparent), transparent 65%), #fffaf0}}.featured-memory{text-align:center}.featured-memory>.eyebrow{justify-self:start}.featured-memory-art{place-items:center;width:100%;height:180px;margin:.3rem 0 .6rem;display:grid;position:relative}.featured-memory-art:before{content:"";background:#fffae88c;border:1px solid #e4d6bb;border-radius:90px 90px 30px 30px;width:157px;height:166px;position:absolute;box-shadow:inset 0 0 0 6px #fffcf0b3}.featured-memory-art .memory-artwork{filter:drop-shadow(0 9px 6px #7a5e361c);width:156px;transition:transform .25s;position:relative}.featured-memory:hover .memory-artwork,.featured-memory:focus-visible .memory-artwork{transform:translateY(-4px)rotate(-3deg)}.featured-memory>strong{overflow-wrap:anywhere;letter-spacing:-.025em;max-width:100%;margin-top:.65rem;font-size:1.08rem;line-height:1.3}.featured-memory>small{overflow-wrap:anywhere;max-width:100%;color:var(--text-soft);margin-top:.22rem;font-size:.74rem}.featured-memory-link{color:var(--terracotta-dark);align-items:center;gap:.45rem;margin-top:.9rem;font-size:.7rem;font-weight:800;display:flex}.memory-collection{margin-top:1.8rem}.collection-description{max-width:30rem;color:var(--text-soft);margin:.4rem 0 0;font-size:.76rem;line-height:1.5}.collection-art-link{min-height:44px;color:var(--terracotta-dark);flex:none;align-items:center;gap:.45rem;font-size:.7rem;font-weight:800;display:inline-flex}.collection-art-link span{font-size:1rem}.memory-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.memory-card{text-align:center;background:#fffaf0;border:1px solid #e4dac6;border-radius:24px;flex-direction:column;align-items:center;min-width:0;padding:.5rem .5rem 1.1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 5px #e3d6bc40}.memory-card:hover,.memory-card:focus-visible{border-color:var(--memory-accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.memory-card:hover,.memory-card:focus-visible{border-color:color-mix(in srgb, var(--memory-accent) 60%, #e4dac6)}}.memory-card:hover,.memory-card:focus-visible{box-shadow:0 10px 24px #6a56341a}.memory-card-selected{outline:3px solid var(--sage-dark);outline-offset:2px}.memory-card-art{background:radial-gradient(ellipse at 50% 44%, #fff9e7, transparent 70%), var(--memory-accent);border-radius:18px;place-items:center;width:100%;height:153px;margin-bottom:.55rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.memory-card-art{background:radial-gradient(ellipse at 50% 44%, #fff9e7, transparent 70%), color-mix(in srgb, var(--memory-accent) 11%, #faf4e7)}}.memory-card-art .memory-artwork{filter:drop-shadow(0 7px 5px #6e5a391a);width:min(90%,138px);transition:transform .24s;position:relative}.memory-card:hover .memory-artwork{transform:rotate(-3deg)}.memory-card-orbit{border:1px solid var(--memory-accent);width:114px;height:114px;position:absolute}@supports (color:color-mix(in lab, red, red)){.memory-card-orbit{border:1px solid color-mix(in srgb, var(--memory-accent) 23%, transparent)}}.memory-card-orbit{border-radius:50%}.memory-card>strong{overflow-wrap:anywhere;letter-spacing:-.02em;max-width:100%;margin:.6rem .35rem 0;font-size:.84rem;line-height:1.3}.memory-card>small{overflow-wrap:anywhere;max-width:100%;color:var(--text-soft);margin:.3rem .2rem 0;font-size:.65rem;line-height:1.4}.unplaced-label{color:#866438;background:#fff8e8;border-radius:8px;padding:.25rem .4rem;font-size:.55rem;font-weight:750;position:absolute;bottom:.25rem;right:.3rem}.memory-collection .empty-state,.memory-collection .empty-state .button{margin-top:1rem}.sheet-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2c272375;justify-content:center;align-items:flex-end;padding-top:2rem;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet-panel{width:min(100%,38rem);max-height:min(88vh,56rem);padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--surface);border:1px solid #ffffff6b;border-radius:28px 28px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) sheet-in;overflow-y:auto;box-shadow:0 -18px 55px #29231f38}.sheet-grabber{background:#d6cfc3;border-radius:99px;width:3rem;height:4px;margin:.2rem auto .85rem}.sheet-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.85rem;display:flex}.sheet-header h2{letter-spacing:-.045em;margin:0;font-size:1.48rem;font-weight:800;line-height:1.05}.icon-button{border:1px solid var(--line);background:#fffdf7;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px}.sheet-body{padding-block:1rem .25rem}.memory-detail{gap:1rem;display:grid}.memory-detail-collectible{--memory-accent:var(--terracotta);background:radial-gradient(ellipse at 50% 42%, var(--memory-accent), transparent 70%), #f8efdb;border:1px solid #e6d8bc;border-radius:22px;justify-items:center;padding:1rem 1rem 1.25rem;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.memory-detail-collectible{background:radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--memory-accent) 16%, transparent), transparent 70%), #f8efdb}}.memory-detail-collectible{box-shadow:inset 0 0 0 5px #fffcee99}.collectible-case-heading{color:#8a7455;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.8rem;width:100%;font-size:.53rem;font-weight:800;display:flex}.memory-display-stage{place-items:center;width:100%;height:224px;margin-block:.5rem .7rem;display:grid;position:relative}.memory-display-stage:before{content:"";background:#fff8e380;border:1px solid #b99c7059;border-radius:110px 110px 50px 50px;width:200px;height:210px;position:absolute;box-shadow:0 0 0 7px #fffae973}.memory-display-stage .memory-artwork{filter:drop-shadow(0 10px 8px #73552b1f);width:198px;animation:4.4s ease-in-out infinite memory-float;position:relative}.collectible-collection-name{color:#786344;margin:.6rem 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.15rem;font-style:italic}.memory-detail-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.memory-detail-heading h3{overflow-wrap:anywhere;margin:0;font-size:1.1rem}.memory-detail-heading>div{min-width:0}.detail-kicker{color:var(--text-soft);margin:0 0 .18rem;font-size:.7rem}.rating-dots{flex:none;gap:.22rem;display:inline-flex}.rating-dots>span{background:#e8e1d6;border:1px solid #c9bfae;border-radius:50%;width:9px;height:9px;display:block}.rating-dots .rating-dot-filled{background:var(--ochre);border-color:#d59d42}.memory-detail blockquote,.restaurant-detail blockquote{border-left:3px solid var(--terracotta);color:#504b44;background:#f0e9dd;border-radius:0 13px 13px 0;margin:0;padding:.9rem 1rem;font-size:.88rem;font-style:italic;line-height:1.6}.detail-list{border-block:1px solid var(--line);margin:0;display:grid}.detail-list>div{justify-content:space-between;align-items:center;gap:1rem;min-height:48px;display:flex}.detail-list>div+div{border-top:1px solid var(--line)}.detail-list dt{color:var(--text-soft);font-size:.72rem}.detail-list dd{text-align:right;margin:0;font-size:.76rem;font-weight:750}.restaurant-detail{gap:1rem;display:grid}.restaurant-detail-banner{--restaurant-roof:#789b7a;--restaurant-wall:#eadabf;--restaurant-accent:#d9785f;background:radial-gradient(circle at 80% 15%, #ffffffa6, transparent 8rem), var(--restaurant-accent);border-radius:22px;align-items:center;gap:1.25rem;min-height:128px;padding:1rem 1.2rem;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.restaurant-detail-banner{background:radial-gradient(circle at 80% 15%, #ffffffa6, transparent 8rem), color-mix(in srgb, var(--restaurant-accent) 15%, #f4eee2)}}.restaurant-detail-banner>div{gap:.22rem;display:grid}.restaurant-detail-banner p{color:var(--text-soft);margin:0;font-size:.72rem}.restaurant-detail-banner strong{font-size:.83rem;line-height:1.4}.restaurant-detail-art{flex:none;width:124px;display:block;overflow:visible}.restaurant-rating-row{align-items:center;gap:.65rem;display:flex}.restaurant-rating-row>span:last-child{color:var(--text-soft);font-size:.72rem}.stat-grid{border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.stat-grid>div{text-align:center;gap:.18rem;min-width:0;padding:.75rem .4rem;display:grid}.stat-grid>div+div{border-left:1px solid var(--line)}.stat-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.stat-grid span{color:var(--text-soft);font-size:.62rem}.sheet-actions{gap:.55rem;display:grid}.restaurant-memory-list{gap:.45rem;padding-top:.1rem;display:grid}.restaurant-memory-list button{border:1px solid var(--line);text-align:left;background:#fffdf8;border-radius:13px;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;min-height:54px;padding:.55rem .65rem;display:grid}.restaurant-memory-list .memory-artwork{width:60px}.restaurant-memory-list button>span:nth-child(2){gap:.08rem;min-width:0;display:grid}.restaurant-memory-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.restaurant-memory-list small{color:var(--text-soft);font-size:.62rem}.restaurant-memory-list button>svg:last-child{fill:none;width:18px;stroke:var(--text-soft);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.memory-preview{background:linear-gradient(120deg,#f1ebd7,#faf4e7);border:1px solid #e5d9bf;border-radius:20px;align-items:center;gap:.7rem;margin:1.1rem 0 0;padding:.65rem .85rem;display:flex}.memory-preview .memory-artwork{flex:none;width:85px}.memory-preview figcaption{min-width:0}.memory-preview .eyebrow{font-size:.57rem;line-height:1.4}.memory-preview strong{overflow-wrap:anywhere;font-size:.85rem;line-height:1.35;display:block}.memory-preview figcaption>p:last-child{color:var(--text-soft);margin:.3rem 0 0;font-size:.69rem;line-height:1.5}.add-memory-grid{gap:.8rem;display:grid}.memory-form{padding:1rem}.form-section-heading{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.form-section-heading>span{width:40px;height:40px;color:var(--terracotta-dark);background:#efe5d7;border-radius:13px;flex:none;place-items:center;font-size:.68rem;font-weight:900;display:grid}.form-section-heading-spaced{margin-top:1.7rem}.form-grid{gap:.85rem;display:grid}.field{gap:.42rem;margin-top:.85rem;display:grid}.form-grid .field{margin-top:0}.field>span,.rating-field legend{color:#504b44;font-size:.75rem;font-weight:800}.field input,.field textarea{background:#fffdf8;border:1px solid #d8d0c3;border-radius:14px;outline:none;width:100%;min-height:48px;padding:.75rem .82rem;font-size:.82rem;transition:border-color .16s,box-shadow .16s,background-color .16s}.field textarea{resize:vertical;min-height:108px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#a59d92}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #7698a724}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{background:#fff8f5;border-color:#b9574b}.field-error,.inline-error{color:#a8463d;font-size:.68rem;font-weight:700}.field-hint{color:#8a847b;text-align:right;font-size:.65rem}.rating-field{border:0;min-width:0;margin:1.25rem 0 0;padding:0}.rating-choice-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin-top:.55rem;display:grid}.rating-choice{background:#fffdf8;border:1px solid #ddd5c8;border-radius:13px;place-items:center;gap:.05rem;min-width:0;min-height:58px;padding:.35rem .15rem;transition:transform .16s,border-color .16s,background-color .16s;display:grid}.rating-choice strong{font-size:.92rem}.rating-choice span{max-width:100%;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.rating-choice.selected{color:var(--terracotta-dark);background:#f7dfd5;border-color:#c36b55;transform:translateY(-2px)}.photo-placeholder{text-align:left;background:#f5f0e7;border:1px dashed #cfc4b4;border-radius:16px;align-items:center;gap:.8rem;width:100%;min-height:76px;margin-top:1rem;padding:.75rem;display:flex}.photo-placeholder-added{background:#eaf0e5;border-style:solid;border-color:#58765f5c}.photo-placeholder-icon{width:46px;height:46px;color:var(--terracotta-dark);background:#fffaf1;border-radius:14px;flex:none;place-items:center;display:grid}.photo-placeholder-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:23px}.photo-placeholder>span:last-child{gap:.18rem;display:grid}.photo-placeholder strong{font-size:.76rem}.photo-placeholder small{color:var(--text-soft);font-size:.64rem}.form-submit-row{border-top:1px solid var(--line);gap:.7rem;margin-top:1.25rem;padding-top:1rem;display:grid}.form-submit-row p{color:var(--text-soft);text-align:center;margin:0;font-size:.68rem}.form-sidecar{border-radius:var(--radius-lg);color:#fffaf0;min-height:220px;box-shadow:var(--shadow-soft);background:#526f59;padding:1.4rem;position:relative;overflow:hidden}.form-sidecar .eyebrow{color:#f7dfad}.form-sidecar h2{max-width:19rem;font-size:1.35rem}.form-sidecar>p:not(.eyebrow){color:#f1edda;max-width:24rem;margin:.7rem 0 0;font-size:.8rem;line-height:1.6}.sidecar-tips{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.sidecar-tips span{background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:.4rem .7rem;font-size:.66rem;font-weight:800}.sidecar-keepsakes{width:min(100%,280px);margin:0 auto 1.25rem;display:block;overflow:visible}.unlock-sheet{overflow-x:hidden}.unlock-celebration{text-align:center;background:radial-gradient(circle at 50% 36%,#fff1c2,#0000 10rem),linear-gradient(150deg,#f7edd7,#eaf0df);border-radius:22px;justify-items:center;min-height:326px;padding:1.1rem 1rem .8rem;display:grid;position:relative;overflow:hidden}.unlock-celebration h3{overflow-wrap:anywhere;letter-spacing:-.04em;max-width:100%;margin:.7rem 0 0;font-size:1.4rem}.unlock-celebration>p:last-child{overflow-wrap:anywhere;max-width:100%;color:var(--text-soft);margin:.25rem 0 0;font-size:.76rem}.unlock-token{--memory-accent:var(--terracotta);z-index:2;filter:drop-shadow(0 12px 8px #8163351f);width:196px;height:209px;margin-bottom:.5rem;animation:.65s cubic-bezier(.17,.89,.32,1.28) unlock-pop;position:relative}.unlock-token:before{z-index:-1;content:"";background:radial-gradient(circle,#fff8dd,#ffeba433 70%);border:1px solid #f1d993;border-radius:50%;animation:.85s ease-out both unlock-glow;position:absolute;inset:10px -6px;box-shadow:0 0 0 9px #fff4c880}.unlock-token svg{width:100%;height:100%}.unlock-particles{pointer-events:none;position:absolute;inset:0}.unlock-particles i{--particle:0;background:var(--ochre);width:8px;height:8px;animation:.95s ease-out both particle-burst;animation-delay:calc(var(--particle) * 35ms);transform:rotate(calc(var(--particle) * 31deg)) translateY(-95px);border-radius:2px;position:absolute;top:48%;left:50%}.unlock-particles i:nth-child(3n){background:var(--terracotta)}.unlock-particles i:nth-child(4n){background:var(--blue);border-radius:50%}.unlock-placement{margin-top:1rem}.unlock-placement h3{letter-spacing:-.02em;margin:0;font-size:1rem}.slot-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:220px;margin-top:.8rem;display:grid;overflow-y:auto}.slot-choice-grid button{border:1px solid var(--line);text-align:left;background:#fffdf7;border-radius:14px;align-items:center;gap:.55rem;min-height:58px;padding:.5rem;display:flex}.slot-choice-grid button:hover{background:#fff8de;border-color:#c79b51}.slot-choice-grid button>span{background:#f7efcc;border:1px dashed #af8d50;border-radius:50%;flex:none;place-items:center;width:34px;height:27px;display:grid;position:relative}.slot-choice-grid button i,.slot-choice-grid button i:after{content:"";background:#806633;width:10px;height:2px;display:block}.slot-choice-grid button i:after{transform:rotate(90deg)}.slot-choice-grid button strong{font-size:.7rem;line-height:1.25}.unlock-placed-state{background:#e7eee2;border:1px solid #58765f3d;border-radius:16px;align-items:center;gap:.8rem;margin-top:1rem;padding:.8rem;display:flex}.unlock-check{background:var(--sage);color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.unlock-check svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:22px}.unlock-placed-state strong{font-size:.82rem}.unlock-placed-state p{color:var(--text-soft);margin:.2rem 0 0;font-size:.68rem}.unlock-actions{margin-top:1rem}.friends-intro-strip{color:#53686d;background:#e2ececb8;border:1px solid #7698a733;border-radius:16px;align-items:center;gap:.8rem;margin-bottom:.8rem;padding:.75rem .85rem;display:flex}.friends-intro-strip>span{min-width:54px;display:flex}.friends-intro-strip i{background:var(--sage);border:2px solid #edf3ef;border-radius:50%;width:27px;height:27px;margin-right:-7px}.friends-intro-strip i:nth-child(2){background:var(--terracotta)}.friends-intro-strip i:nth-child(3){background:var(--blue)}.friends-intro-strip p{margin:0;font-size:.72rem;line-height:1.45}.friend-grid{gap:.8rem;display:grid}.friend-card{--friend-accent:var(--terracotta);gap:.9rem;padding:1rem;display:grid;position:relative;overflow:hidden}.friend-card:after{border:20px solid var(--friend-accent);width:105px;height:105px;position:absolute;top:-28px;right:-22px}@supports (color:color-mix(in lab, red, red)){.friend-card:after{border:20px solid color-mix(in srgb, var(--friend-accent) 13%, transparent)}}.friend-card:after{content:"";border-radius:50%}.friend-card-top{z-index:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;display:grid;position:relative}.friend-avatar{width:50px;height:50px;padding-top:29px;font-size:.62rem}.friend-memory-count{color:var(--text-soft);grid-column:2;font-size:.65rem;font-weight:750}.friend-summary{color:#534f49;margin:0;font-size:.82rem;line-height:1.55}.friend-tags span{background:var(--friend-accent)}@supports (color:color-mix(in lab, red, red)){.friend-tags span{background:color-mix(in srgb, var(--friend-accent) 13%, #f4eee4)}}.friend-activity{background:#f1ece3;border-radius:13px;align-items:flex-start;gap:.55rem;padding:.65rem .7rem;display:flex}.friend-activity p{color:var(--text-soft);margin:0;font-size:.69rem;line-height:1.45}.activity-dot{background:var(--friend-accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:.18rem}.friend-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding-top:.7rem;display:flex}.friend-card-footer>span{color:var(--text-soft);font-size:.66rem}.friend-card-footer a{min-height:44px;color:var(--friend-accent);align-items:center;gap:.35rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.friend-card-footer a{color:color-mix(in srgb, var(--friend-accent) 75%, #4d4039)}}.friend-card-footer a{font-size:.72rem;font-weight:850}.friend-island-nav{justify-content:space-between;align-items:center;gap:1rem;min-height:48px;display:flex}.back-link{align-items:center;gap:.4rem;min-height:44px;font-size:.76rem;font-weight:800;display:inline-flex}.back-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px}.read-only-badge{color:#5f7260;background:#e8ece4;border-radius:999px;align-items:center;gap:.38rem;padding:.42rem .65rem;font-size:.63rem;font-weight:850;display:inline-flex}.read-only-badge i{background:var(--sage);border-radius:50%;width:7px;height:7px}.friend-island-profile{grid-template-columns:auto 1fr;align-items:center;gap:.8rem;padding:1rem .2rem 1.2rem;display:grid}.friend-avatar-large{border-radius:22px;width:64px;height:64px;padding-top:37px;font-size:.72rem}.friend-island-profile h1{font-size:clamp(1.8rem,8vw,3.3rem)}.friend-island-profile>div:nth-child(2)>p:last-child{max-width:38rem;color:var(--text-soft);margin:.5rem 0 0;font-size:.78rem;line-height:1.5}.friend-profile-stats{grid-column:1/-1;gap:.5rem;display:flex}.friend-profile-stats span{border:1px solid var(--line);color:var(--text-soft);text-align:center;background:#fffdf7b3;border-radius:13px;flex:1;padding:.55rem .7rem;font-size:.67rem}.friend-profile-stats strong{color:var(--text)}.friend-island-hero{border-radius:var(--radius-xl);box-shadow:var(--shadow);background:radial-gradient(at 78% 12%,#fff7dc,#0000 45%),linear-gradient(#eef1dd,#e0ebdc 58%,#e9edda);border:1px solid #463d341a;overflow:hidden}.friend-scene-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1rem 0;display:flex}.friend-insight-grid{gap:.8rem;margin-top:.8rem;display:grid}.taste-overlap-card,.shared-places-card{padding:1rem}.taste-overlap-card>p:last-child{color:var(--text-soft);margin:.8rem 0 0;font-size:.7rem;line-height:1.55}.overlap-tags{justify-content:center;align-items:center;min-height:90px;margin-top:.65rem;display:flex;position:relative}.overlap-tags span{--tag-index:0;width:88px;height:88px;transform:translateY(calc((var(--tag-index) - 1) * 4px));color:#4e676e;text-align:center;background:#7698a740;border:2px solid #fffdf7cc;border-radius:50%;place-items:center;margin-left:-17px;font-size:.65rem;font-weight:850;display:grid}.overlap-tags span:nth-child(2){z-index:2;color:#824d43;background:#d9785f3d}.overlap-tags span:nth-child(3){color:#4f6b51;background:#789b7a42}.shared-place-list{margin-top:.65rem;display:grid}.shared-place-list>div{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:48px;display:grid}.shared-place-list>div+div{border-top:1px solid var(--line)}.shared-place-list span{color:var(--terracotta-dark);font-size:.62rem;font-weight:900}.shared-place-list strong{font-size:.76rem}.shared-place-list svg{color:var(--text-soft)}.latest-memories-section{margin-top:1.2rem}.latest-memory-grid{gap:.55rem;margin-top:.75rem;display:grid}.latest-memory-card{text-align:left;background:#fffdf7e6;border:1px solid #5143371a;border-radius:16px;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:74px;padding:.7rem;display:grid;box-shadow:0 8px 20px #473a2e0f}.latest-memory-card>span:nth-child(2){gap:.08rem;min-width:0;display:grid}.latest-memory-card small{color:var(--text-soft);font-size:.6rem}.latest-memory-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.latest-memory-card i{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-style:normal;overflow:hidden}.latest-memory-card .memory-artwork{width:66px}.friend-keepsakes{background:radial-gradient(ellipse at 50% 40%, #fff8e4, transparent 70%), var(--friend-accent);border:1px solid #b0957024;border-radius:20px;justify-content:center;align-items:center;gap:.35rem;margin:1rem 0;padding:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.friend-keepsakes{background:radial-gradient(ellipse at 50% 40%, #fff8e4, transparent 70%), color-mix(in srgb, var(--friend-accent) 9%, #f9f0df)}}.friend-keepsakes .memory-artwork{width:min(30%,100px)}.invalid-friend-page{place-items:center;min-height:72vh;display:grid}.invalid-route-state{max-width:35rem;box-shadow:var(--shadow);background:#fffdf7db;border-style:solid;padding:2rem 1.25rem}.invalid-route-state h1{max-width:30rem;font-size:clamp(2rem,9vw,3.7rem)}.invalid-route-state .button{margin-top:1.25rem}.invalid-route-mark{width:58px;height:58px;color:var(--terracotta-dark);background:#efe5d7;border-radius:20px;place-items:center;margin-bottom:1rem;font-size:1.5rem;font-weight:900;display:grid}@keyframes memory-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tree-sway{0%,to{transform:rotate(-.8deg)}50%{transform:rotate(1deg)}}@keyframes nav-settle{0%{transform:translateY(2px)scale(.92)}to{transform:translateY(0)scale(1)}}@keyframes unlock-glow{0%{opacity:0;transform:scale(.75)}60%{opacity:1;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes selected-memory{0%{transform:translateY(-2px)scale(1)}to{transform:translateY(-7px)scale(1.05)}}@keyframes sparkle{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}@keyframes slot-glow{0%{filter:drop-shadow(0 0 1px #e5b75b4d)}to{filter:drop-shadow(0 0 8px #e5b75bd9)}}@keyframes choice-win{0%{transform:scale(1)}50%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(35px)}}@keyframes unlock-pop{0%{opacity:0;transform:scale(.45)rotate(-8deg)}70%{transform:scale(1.06)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes particle-burst{0%{transform:rotate(calc(var(--particle) * 31deg)) translateY(-22px) scale(0);opacity:1}to{transform:rotate(calc(var(--particle) * 31deg)) translateY(-108px) scale(1);opacity:0}}@keyframes storage-pulse{0%,to{opacity:.55;transform:scale(.75)}50%{opacity:1;transform:scale(1.1)}}@media (min-width:700px){.page-shell{width:min(100% - 2.5rem,82rem);padding-top:1.5rem}.profile-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:1.15rem 1.25rem}.profile-stats{border-top:0;border-left:1px solid #54483e1a;min-width:310px}.profile-stats>div{padding:.45rem 1rem}.island-toolbar,.friend-scene-heading{padding:1.25rem 1.35rem 0}.island-hint{margin-inline:1.4rem}.choice-options{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-or{top:50%;bottom:auto;right:-.83rem;transform:translateY(-50%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:1/-1}.form-submit-row{grid-template-columns:1fr auto;align-items:center}.form-submit-row p{text-align:left}.sheet-panel{border-radius:28px;margin-bottom:1rem}.sheet-actions,.friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-island-profile{grid-template-columns:auto minmax(0,1fr) auto}.friend-profile-stats{grid-column:auto;min-width:230px}.friend-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.latest-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reset-card{grid-template-columns:auto 1fr auto;align-items:center}.reset-card .text-button{grid-column:auto}}@media (min-width:1100px){.app-frame{grid-template-columns:238px minmax(0,1fr);display:grid}.desktop-rail{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f4ebd1;border-right:1px solid #4c40361a;flex-direction:column;height:100vh;padding:1.35rem 1rem;display:flex;position:sticky;top:0}.rail-navigation{gap:.38rem;margin-top:2.2rem;display:grid}.rail-navigation .nav-link{justify-content:flex-start;padding-inline:.9rem;font-size:.82rem}.rail-note{background:#eee8dc;border-radius:14px;align-items:flex-start;gap:.55rem;margin-top:auto;padding:.8rem;display:flex}.rail-note p{color:var(--text-soft);margin:0;font-size:.68rem;line-height:1.45}.rail-note-dot{background:var(--sage);border-radius:50%;flex:none;width:8px;height:8px;margin-top:.15rem}.bottom-navigation{display:none}.page-shell{width:min(100% - 3rem,86rem);padding-block:2rem 3rem}.storage-banner{width:min(100% - 3rem,86rem);margin-top:1rem}.profile-overview{padding:1.25rem 1.45rem}.dashboard-grid{grid-template-columns:minmax(0,1fr) 270px;align-items:start}.dashboard-sidebar{position:sticky;top:1.25rem}.choice-options{grid-template-columns:1fr}.choice-or{top:auto;bottom:-.8rem;right:50%;transform:translate(50%)}.add-memory-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);align-items:start}.memory-form{padding:1.35rem}.form-sidecar{min-height:405px;padding:1.65rem;position:sticky;top:1.5rem}.form-sidecar h2{margin-top:.2rem;font-size:2rem;line-height:1.05}.friend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1440px){.app-frame{grid-template-columns:260px minmax(0,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 290px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.food-memory-float,.tree-crown,.token-sparkles,.memory-display-stage .memory-artwork{animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
