/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--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,ui-sans-serif,system-ui,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;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{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{.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}}:root{color-scheme:light;color:#333;--primary-color:#667eea;--secondary-color:#764ba2;--accent-color:#f093fb;--warm-orange:#e8a87c;--deep-brown:#8b6f47;--cream:#faf5f0;--amber:#ffb347;--success-color:#4caf50;--warning-color:#ffc107;--danger-color:#f5576c;--text-color:#333;--text-light:#666;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background-light:#ffffffe6;--shadow-light:0 4px 15px #0000001a;--shadow-medium:0 8px 30px #00000026;--border-radius:15px;--transition:all .3s ease;background-color:#fff;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text-color);background-color:#0000;background-image:radial-gradient(circle at 20% 80%,#f4d4a74d,#0000 50%),radial-gradient(circle at 80% 20%,#e8a87c4d,#0000 50%),radial-gradient(circle at 40% 40%,#ffb34733,#0000 50%),linear-gradient(135deg,#faf5f0,#f4d4a7,#e8a87c,#d4a574,#b8956a);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin:0 0 1rem;line-height:1.6}a{color:var(--primary-color);transition:var(--transition);text-decoration:none}a:hover{color:var(--secondary-color)}button{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:var(--primary-color);color:#fff;border:none;padding:.8rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500}button:hover:not(:disabled){box-shadow:var(--shadow-medium);transform:translateY(-2px)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}input,textarea,select{border-radius:var(--border-radius);transition:var(--transition);border:2px solid #e1e5e9;padding:.8rem 1rem;font-family:inherit;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #667eea1a}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1.1rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-column{flex-direction:column}.align-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:var(--border-radius)}.shadow{box-shadow:var(--shadow-light)}.shadow-lg{box-shadow:var(--shadow-medium)}@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}.birthday-wishes{text-align:center;padding:2rem;background:linear-gradient(135deg,#f4d4a7cc,#e8a87ce6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;min-height:60vh;position:relative;overflow:hidden;margin:2rem 0;box-shadow:0 8px 32px #8b6f4733;border:1px solid rgba(212,165,116,.3)}.wishes-header{position:relative;margin-bottom:3rem}.sparkles-container{position:absolute;inset:0;pointer-events:none}.sparkle{position:absolute;color:gold;opacity:.8;animation:sparkle 2s ease-in-out infinite}.sparkle-1{top:10%;left:20%;animation-delay:0s}.sparkle-2{top:20%;right:25%;animation-delay:.5s}.sparkle-3{bottom:30%;left:15%;animation-delay:1s}.birthday-title{font-size:3rem;background:linear-gradient(135deg,#4a3429,#8b6f47,#d4a574);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:1rem 0;display:flex;align-items:center;justify-content:center;gap:1rem;text-shadow:0 2px 8px rgba(74,52,41,.3);font-weight:700}.cake-icon,.gift-icon{color:coral;animation:bounce 1s ease-in-out infinite alternate;filter:drop-shadow(0 2px 4px rgba(255,127,80,.5))}.gift-icon{animation-delay:.5s}.birthday-subtitle{font-size:1.2rem;color:#8b6f47;margin-bottom:2rem;text-shadow:0 1px 4px rgba(74,52,41,.2);font-weight:500}.wishes-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.wish-card{background:#fffffff2;padding:2rem;border-radius:20px;box-shadow:0 8px 30px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.wish-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0003}.wish-card h3{color:#333;margin-bottom:1rem;font-size:1.3rem}.wish-card p{color:#666;line-height:1.8}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.2) rotate(180deg);opacity:1}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@media (max-width: 768px){.birthday-title{font-size:2rem;flex-direction:column;gap:.5rem}.wishes-content{grid-template-columns:1fr;gap:1.5rem}.wish-card{padding:1.5rem}}.timeline-container{max-width:1000px;margin:0 auto;padding:2rem}.timeline-header{text-align:center;margin-bottom:4rem;background:linear-gradient(135deg,#ff7f501a,#ffa5000d);padding:2.5rem;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,127,80,.2);box-shadow:0 8px 32px #ff7f5026;position:relative;overflow:hidden}.timeline-header h2{font-size:3rem;background:linear-gradient(135deg,coral,tomato,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;font-weight:800;text-shadow:0 4px 8px rgba(255,127,80,.3);position:relative;z-index:2}.timeline-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#ff7f50 20%,#ffa500 50%,#ff6347 80%,transparent 100%)}.timeline-header p{color:#b8956a;font-size:1.2rem;margin-bottom:0;font-weight:500;position:relative;z-index:2}.timeline-info{background:#ff7f5026;border:1px solid rgba(255,127,80,.3);border-radius:20px;padding:.8rem 1.5rem;font-size:.95rem;color:coral;margin:0 auto;display:inline-block}.timeline-loading,.timeline-error{text-align:center;padding:3rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,165,0,.3);border-top:4px solid #ff7f50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.timeline-notice{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:10px;padding:1rem;margin-bottom:2rem;color:#856404}.notice-text{margin-bottom:.5rem;font-size:.95rem}.firebase-help{margin-top:1rem}.firebase-help summary{cursor:pointer;font-weight:500;color:#667eea;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.firebase-help summary:hover{color:#5a6fd8}.help-content{background:#fffc;padding:1rem;border-radius:8px;margin-top:.5rem;font-size:.9rem;line-height:1.5}.help-content p{margin-bottom:.5rem}.help-content pre{background:#f8f9fa;padding:.8rem;border-radius:5px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;border-left:3px solid #667eea}.help-content a{color:#667eea;text-decoration:underline}.help-content a:hover{color:#5a6fd8}.debug-notice{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:10px;padding:1rem;margin-bottom:2rem;color:#e65100}.debug-notice summary{cursor:pointer;font-weight:500;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.debug-notice summary:hover{color:#bf360c}.debug-content{margin-top:.5rem;font-size:.9rem;line-height:1.5}.debug-content p{margin-bottom:.5rem}.debug-content a{color:#1976d2;text-decoration:underline}.debug-content a:hover{color:#0d47a1}.debug-content hr{border:none;border-top:1px solid rgba(255,152,0,.3);margin:1rem 0}.timeline-empty{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.timeline{position:relative;padding:2rem 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:6px;background:linear-gradient(180deg,coral,orange,tomato);transform:translate(-50%);border-radius:3px;box-shadow:0 0 15px #ff7f5066}.timeline-item{position:relative;margin-bottom:3rem;display:flex;align-items:center}.timeline-item.left{flex-direction:row-reverse}.timeline-item.left .timeline-content{margin-right:2rem;text-align:right}.timeline-item.right .timeline-content{margin-left:2rem;text-align:left}.timeline-dot{position:absolute;left:50%;transform:translate(-50%);width:70px;height:70px;background:linear-gradient(45deg,coral,orange,tomato);border:4px solid rgba(255,127,80,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 25px #ff7f5080,0 4px 20px #ff63474d;z-index:2;transition:all .3s ease}.timeline-dot:hover{transform:translate(-50%) scale(1.1);box-shadow:0 0 35px #ff7f50b3,0 6px 25px #ff634780}.media-icon{font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.timeline-content{flex:1;max-width:45%}.timeline-card{background:#faf5f0fa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:2rem;border-radius:25px;box-shadow:0 10px 35px #ff7f5033,0 0 0 1px #ff7f5026;transition:all .4s cubic-bezier(.4,0,.2,1);border-left:5px solid #ff7f50;border:1px solid rgba(255,127,80,.3);position:relative;overflow:hidden}.timeline-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,127,80,.6) 50%,transparent 100%)}.timeline-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 50px #ff7f504d,0 0 35px #ff7f5033,0 0 0 1px #ff7f504d;border-left-color:orange;border-color:#ffa50099}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{background:linear-gradient(135deg,#4a3429,#8b6f47);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-size:1.4rem;font-weight:600;text-shadow:0 1px 3px rgba(74,52,41,.1)}.media-badge{background:linear-gradient(45deg,coral,orange);color:#4a3429;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;text-transform:uppercase;font-weight:600;letter-spacing:.5px;box-shadow:0 2px 10px #ff7f5066;border:1px solid rgba(255,127,80,.6)}.card-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;color:#8b7355}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.card-description{color:#555;line-height:1.6;margin-bottom:1rem}.card-link{display:inline-flex;align-items:center;gap:.5rem;color:#667eea;text-decoration:none;font-weight:500;margin-bottom:1rem;transition:color .3s ease}.card-link:hover{color:#5a6fd8}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#667eea1a;color:#667eea;padding:.3rem .8rem;border-radius:15px;font-size:.8rem}.media-content{margin:1rem 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.youtube-content{position:relative;background:#000}.youtube-thumbnail{position:relative;width:100%;height:200px;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.youtube-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.youtube-thumbnail:hover img{transform:scale(1.05)}.play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(45deg,#ff7f50e6,#ffa500e6);border:2px solid rgba(255,127,80,.9);border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;box-shadow:0 4px 18px #ff7f5066}.play-overlay:hover{background:linear-gradient(45deg,coral,orange);transform:translate(-50%,-50%) scale(1.15);box-shadow:0 8px 30px #ff7f5099;border-color:coral}.image-content img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.image-content:hover img{transform:scale(1.02)}.thumbnail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#333;color:#fff;height:200px;gap:1rem}.thumbnail-placeholder p{margin:0;font-size:.9rem;opacity:.8}@media (max-width: 768px){.timeline-line{left:30px}.timeline-item{flex-direction:row!important}.timeline-item.left .timeline-content,.timeline-item.right .timeline-content{margin-left:4rem;margin-right:0;text-align:left;max-width:calc(100% - 5rem)}.timeline-dot{left:30px;width:40px;height:40px}.media-icon{font-size:1.2rem}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.card-meta{flex-direction:column}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-content{margin:1rem 0}.image-container{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;background:#f5f5f5;cursor:pointer;transition:all .3s ease}.image-container:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.timeline-image{width:100%;height:auto;max-height:400px;object-fit:cover;display:block;transition:transform .3s ease}.image-container:hover .timeline-image{transform:scale(1.02)}.image-overlay{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:20px;display:flex;align-items:center;gap:6px;font-size:.9rem;opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.image-container:hover .image-overlay{opacity:1}.image-placeholder{display:flex;align-items:center;justify-content:center;height:200px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#666;border-radius:12px}.placeholder-content{text-align:center}.placeholder-icon{font-size:3rem;display:block;margin-bottom:.5rem;opacity:.6}.placeholder-content p{margin:0;font-size:1rem;opacity:.8}@media (max-width: 768px){.timeline-image{max-height:250px}.image-overlay{font-size:.8rem;padding:6px 10px}.placeholder-icon{font-size:2rem}}.interactive-elements{padding:2rem;background:linear-gradient(135deg,#e8a87ccc,#d4a574e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin:2rem 0;position:relative;overflow:hidden;box-shadow:0 8px 32px #8b6f4733;border:1px solid rgba(244,212,167,.3)}.interaction-header{text-align:center;margin-bottom:2rem}.interaction-header h3{background:linear-gradient(135deg,#4a3429,#8b6f47);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2rem;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(74,52,41,.2);font-weight:700}.interaction-header p{color:#8b6f47;font-size:1.1rem;font-weight:500}.interaction-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem;position:relative;z-index:2}.interaction-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:#ffffffe6;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;min-height:100px}.interaction-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0003;background:#fff}.interaction-btn svg{color:#666;transition:all .3s ease}.message-btn:hover svg{color:#28a745}.share-btn:hover svg{color:#6f42c1}.count{font-weight:700;color:#333;font-size:1.1rem}.label{font-size:.9rem;color:#666;font-weight:500}.messages-section{background:#fffffff2;padding:1.5rem;border-radius:15px;margin-bottom:1rem}.message-board-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .3s ease;margin-bottom:1rem}.message-board-header:hover{background:#f5576c1a}.message-board-header h4{color:#333;margin:0;font-size:1.2rem;flex-grow:1}.collapse-btn{background:none;border:none;cursor:pointer;color:#666;transition:color .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center;padding:.3rem;border-radius:4px}.collapse-btn:hover{color:#f5576c;background:#f5576c1a}.message-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-height:500px;overflow-y:auto;padding:1rem;background:#ff7f500d;border-radius:15px;margin-top:1rem}.message-card{background:linear-gradient(135deg,#fffffff2,#faf5f0e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,127,80,.2);border-radius:18px;padding:1.5rem;box-shadow:0 4px 20px #ff7f501a,0 1px 3px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:messageSlideIn .5s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,coral,orange,tomato)}.message-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #ff7f5033,0 2px 8px #0000001a;border-color:#ff7f5066}.message-card-header{margin-bottom:1rem}.author-info{display:flex;align-items:center;gap:.75rem}.author-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ff7f504d;overflow:hidden;border:2px solid rgba(255,127,80,.3);background:linear-gradient(135deg,coral,orange)}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-fallback{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.avatar-fallback svg{color:#fff}.author-details{flex:1;display:flex;flex-direction:column;gap:.2rem}.author-name{font-weight:600;font-size:.95rem}.author-name.named{color:#4a3429}.author-name.anonymous{color:#8b7355;font-style:italic}.message-time{font-size:.8rem;color:#b8956a;opacity:.8}.message-card-content{line-height:1.6;color:#4a3429;margin-bottom:0;font-size:.95rem;word-wrap:break-word}.message-wall::-webkit-scrollbar{width:8px}.message-wall::-webkit-scrollbar-track{background:#ff7f501a;border-radius:4px}.message-wall::-webkit-scrollbar-thumb{background:linear-gradient(135deg,coral,orange);border-radius:4px;box-shadow:0 2px 4px #ff7f504d}.message-wall::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,tomato,#ff8c00)}.message-item{padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.message-item:last-child{border-bottom:none}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-author{display:flex;align-items:center;gap:.5rem}.message-icon{color:#ffc107;flex-shrink:0}.message-author span.anonymous{color:#999;font-style:italic}.message-author span.named{color:#333;font-weight:500}.message-time{font-size:.8rem;color:#666}.message-content{padding-left:1.5rem;line-height:1.5;color:#444}.message-input-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.message-input-modal{background:#fff;padding:2rem;border-radius:20px;width:100%;max-width:500px;box-shadow:0 20px 60px #0000004d}.message-input-modal h4{margin-bottom:1.5rem;color:#333;text-align:center}.author-options{display:flex;gap:1rem;margin-bottom:1rem;justify-content:center}.author-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;border-radius:20px;transition:all .3s ease;background:#f5576c1a}.author-option:hover{background:#f5576c33}.author-option input[type=radio]{margin:0}.author-option span{font-size:.9rem;color:#666}.author-option input[type=radio]:checked+span{color:#f5576c;font-weight:500}.name-input{margin-bottom:1rem}.name-input input{width:100%;padding:.8rem 1rem;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;transition:border-color .3s ease}.name-input input:focus{outline:none;border-color:#f5576c;box-shadow:0 0 0 3px #f5576c1a}.message-input-modal textarea{width:100%;padding:1rem;border:2px solid #e1e5e9;border-radius:10px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .3s ease}.message-input-modal textarea:focus{outline:none;border-color:#f5576c;box-shadow:0 0 0 3px #f5576c1a}.char-count{text-align:right;margin-top:.5rem;font-size:.8rem;color:#666}.message-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-btn,.send-btn{padding:.8rem 1.5rem;border:none;border-radius:10px;font-size:1rem;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#f8f9fa;color:#666}.cancel-btn:hover{background:#e9ecef}.send-btn{background:linear-gradient(45deg,#f093fb,#f5576c);color:#fff}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #f5576c66}.send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.interaction-buttons{grid-template-columns:1fr}.author-options{flex-direction:column;align-items:center}.message-input-overlay{padding:.5rem}.message-input-modal{padding:1.5rem}.message-actions{flex-direction:column-reverse}.cancel-btn,.send-btn{width:100%}.message-wall{grid-template-columns:1fr;gap:1rem;padding:.5rem;max-height:400px}.message-card{padding:1rem}.author-info{gap:.5rem}.author-avatar{width:32px;height:32px}.author-avatar .avatar-image{width:100%;height:100%}.message-card-content{font-size:.9rem}}@media (max-width: 480px){.message-wall{max-height:300px;padding:.25rem}.message-card{padding:.75rem;border-radius:12px}.author-avatar{width:28px;height:28px}.author-avatar .avatar-image{width:100%;height:100%}.avatar-fallback svg{width:14px;height:14px}.author-name{font-size:.85rem}.message-time{font-size:.75rem}.message-card-content{font-size:.85rem}}.app{min-height:100vh;background:radial-gradient(circle at 20% 80%,rgba(244,212,167,.4) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(232,168,124,.4) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(255,179,71,.3) 0%,transparent 50%),linear-gradient(135deg,#faf5f0,#f4d4a7,#e8a87c,#d4a574,#b8956a);background-attachment:fixed;position:relative}.app:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 15% 85%,rgba(255,179,71,.1) 0%,transparent 25%),radial-gradient(circle at 85% 15%,rgba(212,165,116,.1) 0%,transparent 25%),radial-gradient(circle at 70% 70%,rgba(232,168,124,.08) 0%,transparent 30%);pointer-events:none;z-index:1}.app:after{content:"";position:fixed;top:20%;right:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(244,212,167,.2) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:1;animation:float 6s ease-in-out infinite}.app-header{background:#faf5f0fa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 30px #8b6f4726;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(212,165,116,.2);will-change:transform;transform:translateZ(0);-webkit-transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.header-content{max-width:1200px;margin:0 auto;padding:2rem;text-align:center;contain:layout style paint;transform:translateZ(0)}.site-title{font-size:2rem;background:linear-gradient(135deg,#d4a574,#b8956a,#8b6f47);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(139,111,71,.2);font-weight:700;letter-spacing:-.02em;font-display:swap;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translateZ(0)}.site-subtitle{font-size:1.1rem;color:#8b7355;margin:0;font-weight:500;font-display:swap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translateZ(0)}.app-main{max-width:1200px;margin:0 auto;padding:0 1rem;position:relative;z-index:2}.section{margin:3rem 0;animation:fadeInUp .8s ease-out forwards;opacity:0}.section:nth-child(1){animation-delay:.2s}.section:nth-child(2){animation-delay:.4s}.section:nth-child(3){animation-delay:.6s}.app-footer{background:linear-gradient(135deg,#4a3429e6,#8b6f474d);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid rgba(212,165,116,.3);margin-top:4rem;padding:3rem 2rem 2rem;position:relative;overflow:hidden;z-index:2}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.footer-content{max-width:1200px;margin:0 auto;text-align:center;color:#ffffffe6;position:relative;z-index:2}.footer-content p{margin:.5rem 0}.footer-links{display:flex;justify-content:center;align-items:center;gap:2.5rem;margin-top:1.5rem;margin-bottom:1rem}.footer-link{color:#faf5f0e6;text-decoration:none;padding:.75rem 1.5rem;border-radius:25px;background:linear-gradient(135deg,#d4a57433,#e8a87c4d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(212,165,116,.4);box-shadow:0 2px 10px #8b6f4733;font-weight:500;letter-spacing:.5px;position:relative;overflow:hidden}.footer-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transition:left .6s ease}.footer-link:hover{background:linear-gradient(135deg,#d4a57466,#e8a87c80);color:#faf5f0;transform:translateY(-3px);box-shadow:0 8px 25px #d4a57466,0 4px 10px #8b6f474d;border-color:#f4d4a799}.footer-link:hover:before{left:100%}.footer-link:active{transform:translateY(-1px)}.footer-note{font-size:.9rem;opacity:.7}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) scale(1);opacity:.2}50%{transform:translateY(-20px) scale(1.05);opacity:.3}}.app-header,.app-header *{will-change:auto;-webkit-perspective:1000px;perspective:1000px}.app-header{contain:layout style paint}.header-content *{transform:translateZ(0);-webkit-transform:translate3d(0,0,0)}@supports (backdrop-filter: blur(10px)){.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@supports not (backdrop-filter: blur(10px)){.app-header{background:#faf5f0}}html{scroll-behavior:smooth}body{-webkit-overflow-scrolling:touch;overscroll-behavior:none}@media (max-width: 768px){.app-header{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);position:-webkit-sticky;position:sticky}}@media (max-width: 768px){.header-content{padding:1.5rem 1rem}.site-title{font-size:2.5rem}.site-subtitle{font-size:1rem}.app-main{padding:0 .5rem}.section{margin:2rem 0}.app-footer{padding:2rem 1rem 1.5rem;margin-top:3rem}.footer-links{gap:1.5rem;flex-wrap:wrap}.footer-link{padding:.6rem 1.2rem;font-size:.9rem}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#ff7f501a;border-radius:6px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,coral,orange);border-radius:6px;border:1px solid rgba(255,127,80,.3);box-shadow:0 2px 6px #ff7f5033}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,tomato,#ff8c00);box-shadow:0 3px 8px #ff7f5066}::-webkit-scrollbar-corner{background:#ff7f501a}*{scrollbar-width:thin;scrollbar-color:#ff7f50 rgba(255,127,80,.1)}::selection{background:#ff7f504d;color:#4a3429}::-moz-selection{background:#ff7f504d;color:#4a3429}input:focus,textarea:focus{border-color:coral!important;box-shadow:0 0 0 3px #ff7f5033!important}progress{-webkit-appearance:none;appearance:none}progress::-webkit-progress-bar{background-color:#ff7f5033;border-radius:10px}progress::-webkit-progress-value{background:linear-gradient(135deg,coral,orange);border-radius:10px}progress::-moz-progress-bar{background:linear-gradient(135deg,coral,orange);border-radius:10px}
