*{box-sizing:border-box}:root{--r-sm: 10px;--r-md: 12px;--r-lg: 14px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--tap: 44px;--border-subtle: rgba(0, 0, 0, .08);--border-mid: rgba(0, 0, 0, .11)}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--tg-theme-bg-color, #f3f4f6);color:var(--tg-theme-text-color, #1f2937);-webkit-tap-highlight-color:transparent}.shell{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;position:relative;padding-left:max(var(--s-4),env(safe-area-inset-left,0px));padding-right:max(var(--s-4),env(safe-area-inset-right,0px));padding-top:max(0px,env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0)}.shell-main{flex:1;min-height:0;overflow-y:auto;padding:var(--s-5) 0 var(--s-3)}.card{width:100%;background:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-text-color, #1f2937);border-radius:var(--r-lg);padding:var(--s-4);border:1px solid var(--tg-theme-section-separator-color, var(--border-subtle))}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-1)}.card-header-actions{display:flex;flex-shrink:0;align-items:flex-start;gap:var(--s-2)}.title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--tg-theme-text-color, #1f2937)}.title-profile{font-size:1.3rem;letter-spacing:-.02em}.subtitle{margin:var(--s-2) 0 0;color:var(--tg-theme-hint-color, #6b7280);font-size:.8125rem;line-height:1.35}.bookmark-profile-btn{margin:0;border:1px solid color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 28%,transparent);border-radius:var(--r-sm);width:var(--tap);height:var(--tap);padding:0;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 14%,transparent);color:var(--tg-theme-button-color, #3b82f6);cursor:pointer;line-height:1}.bookmark-profile-btn--active{background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 26%,transparent)}.bookmark-profile-btn-star{font-size:1.12rem;font-weight:700;line-height:1}.bookmark-profile-btn:disabled{opacity:.55;cursor:not-allowed}.bottom-nav{flex-shrink:0;position:relative;z-index:10;display:flex;gap:var(--s-2);padding:var(--s-3) 0 max(var(--s-3),env(safe-area-inset-bottom,12px));margin-top:auto;border-top:1px solid var(--tg-theme-section-separator-color, var(--border-mid));background:var(--tg-theme-bg-color, #f3f4f6)}.bottom-nav-btn{flex:1;border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));border-radius:var(--r-sm);min-height:var(--tap);padding:var(--s-2) var(--s-1);background:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-hint-color, #6b7280);font-weight:600;font-size:.75rem;line-height:1.15;cursor:pointer}.bottom-nav-btn--active{color:var(--tg-theme-button-color, #3b82f6);border-color:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 35%,transparent);background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 10%,var(--tg-theme-secondary-bg-color, #fff))}.bookmark-list-section{margin-top:var(--s-2)}.bookmark-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.bookmark-list-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:var(--tap);padding:var(--s-3) var(--s-4);border:1px solid var(--tg-theme-section-separator-color, var(--border-subtle));border-radius:var(--r-sm);background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #1f2937);font-size:.9375rem;text-align:left;cursor:pointer}.bookmark-list-name{font-weight:600;min-width:0;line-height:1.3}.bookmark-list-item--stacked{flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--s-1);min-height:auto;padding-top:var(--s-3);padding-bottom:var(--s-3)}.reserved-entry-owner{font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--tg-theme-hint-color, #6b7280)}.status{margin:0 0 var(--s-3);line-height:1.45;font-size:.875rem;color:var(--tg-theme-hint-color, #6b7280)}.empty-list{margin:0;color:var(--tg-theme-hint-color, #6b7280);font-size:.875rem;line-height:1.45}.empty-list--block{padding:var(--s-5) var(--s-2);text-align:center}.onboarding-form{margin-bottom:var(--s-1);display:flex;flex-direction:column;gap:var(--s-4)}.field{display:flex;flex-direction:column;gap:var(--s-2);font-size:.9375rem;color:var(--tg-theme-text-color, #1f2937);font-weight:500}.field input{border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);min-height:var(--tap);font-size:.9375rem;color:var(--tg-theme-text-color, #1f2937);background:var(--tg-theme-bg-color, #ffffff);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus{border-color:var(--tg-theme-button-color, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 18%,transparent)}.consent-row{display:flex;gap:var(--s-3);align-items:flex-start;font-size:.875rem;line-height:1.45;color:var(--tg-theme-hint-color, #6b7280)}.consent-row input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--tg-theme-button-color, #3b82f6)}.submit-btn{border:none;border-radius:var(--r-sm);min-height:var(--tap);padding:0 var(--s-4);background:var(--tg-theme-button-color, #3b82f6);color:var(--tg-theme-button-text-color, #ffffff);font-weight:600;font-size:.9375rem;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.submit-btn--wide{width:100%}.submit-btn:not(:disabled):active{transform:translateY(1px)}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.link-button{color:var(--tg-theme-link-color, #2563eb);padding:0;text-decoration:underline;font:inherit}.welcome-note{margin:var(--s-1) 0 0;color:#2853cc;font-weight:600}.profile-section{margin-top:var(--s-2)}.add-wish-btn{border:1px solid color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 28%,transparent);border-radius:var(--r-sm);background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 14%,transparent);color:var(--tg-theme-button-color, #3b82f6);width:var(--tap);height:var(--tap);font-weight:600;font-size:1.05rem;line-height:1;cursor:pointer}.main-menu-wrap{position:relative}.main-menu{position:absolute;top:calc(100% + var(--s-2));right:0;display:flex;flex-direction:column;gap:var(--s-2);min-width:176px;padding:var(--s-2);border-radius:var(--r-sm);border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));background:var(--tg-theme-secondary-bg-color, #fff);box-shadow:0 8px 24px #00000014;z-index:30}.main-menu-btn{border:none;border-radius:var(--s-2);min-height:var(--tap);padding:0 var(--s-3);background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #1f2937);text-align:left;font-size:.9375rem;font-weight:500;cursor:pointer}.wishlist-list{display:grid;gap:var(--s-3)}.wish-card{border:1px solid var(--tg-theme-section-separator-color, var(--border-subtle));border-radius:var(--r-md);padding:var(--s-3);background:var(--tg-theme-bg-color, #ffffff);display:flex;gap:var(--s-3);align-items:flex-start;cursor:pointer;transition:border-color .15s ease,background .15s ease}.wish-card--reserved{border-style:dashed;border-color:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 45%,transparent);background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 6%,var(--tg-theme-bg-color, #ffffff))}.wish-reserved-badge{margin:0 0 var(--s-2);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tg-theme-button-color, #3b82f6)}.wish-reserved-banner{margin:0 0 var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:.8125rem;font-weight:700;text-align:center;color:var(--tg-theme-button-color, #2563eb);background:color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 12%,transparent);border:1px solid color-mix(in srgb,var(--tg-theme-button-color, #3b82f6) 28%,transparent)}.wish-media{flex:0 0 80px}.wish-image{width:80px;height:80px;object-fit:cover;border-radius:var(--r-sm);display:block;background:var(--tg-theme-secondary-bg-color, #eef1f7)}.wish-image-placeholder{border:1px dashed var(--tg-theme-section-separator-color, var(--border-mid))}.wish-content{flex:1;min-width:0}.wish-title{margin:0 0 var(--s-1);font-size:.9375rem;line-height:1.3;font-weight:600}.wish-description{margin:0 0 var(--s-2);color:var(--tg-theme-hint-color, #6b7280);font-size:.875rem;line-height:1.4}.wish-cost{margin:0 0 var(--s-1);font-size:.875rem;font-weight:600;color:var(--tg-theme-text-color, #1f2937)}.wish-link{color:var(--tg-theme-link-color, #2563eb);font-weight:500;font-size:.875rem;text-decoration:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000005c;display:flex;align-items:center;justify-content:center;padding:max(var(--s-4),env(safe-area-inset-top,0px)) var(--s-4) max(var(--s-4),env(safe-area-inset-bottom,0px))}.modal{background:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-text-color, #1f2937);border-radius:var(--r-lg);max-width:560px;width:100%;padding:var(--s-4);max-height:min(82vh,100% - var(--s-5));overflow:auto;border:1px solid var(--tg-theme-section-separator-color, var(--border-subtle));box-shadow:0 16px 48px #0000001f}.modal h2{margin:0 0 var(--s-3);font-size:1.125rem;font-weight:700;line-height:1.25;color:var(--tg-theme-text-color, #1f2937)}.modal>p{margin:0 0 var(--s-3);font-size:.875rem;line-height:1.55;color:var(--tg-theme-text-color, #1f2937)}.modal label{color:var(--tg-theme-text-color, #1f2937)}.modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1)}.modal-actions--footer{margin-top:var(--s-4);justify-content:stretch}.modal-actions--footer .submit-btn{flex:1}.modal-actions-between{justify-content:space-between}.cancel-btn{border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));border-radius:var(--r-sm);min-height:var(--tap);padding:0 var(--s-4);background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #1f2937);font-weight:600;font-size:.9375rem;cursor:pointer}.share-link-input{width:100%;border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3);min-height:var(--tap);font-size:.875rem;color:var(--tg-theme-text-color, #1f2937);background:var(--tg-theme-bg-color, #ffffff)}.danger-btn{border:none;border-radius:var(--r-sm);min-height:var(--tap);padding:0 var(--s-4);background:#dc2626;color:#fff;font-weight:600;font-size:.9375rem;cursor:pointer}.danger-btn-light{border:1px solid #ef4444;border-radius:var(--r-sm);min-height:var(--tap);padding:0 var(--s-4);background:transparent;color:#dc2626;font-weight:600;font-size:.9375rem;cursor:pointer}.danger-btn-light:disabled{opacity:.55;cursor:not-allowed}.wish-modal-photo-wrap{width:100%;border-radius:var(--r-md);overflow:hidden;margin:0 0 var(--s-2);background:var(--tg-theme-secondary-bg-color, #eef1f7)}.wish-modal-photo-wrap--edit{max-height:160px;margin-bottom:var(--s-3)}.wish-modal-photo{width:100%;max-height:220px;object-fit:cover;display:block}.wish-modal-photo-wrap--edit .wish-modal-photo{max-height:160px}.wish-details{display:flex;flex-direction:column;gap:var(--s-2);position:relative;padding-top:var(--s-1)}.wish-details .wish-link{margin-top:var(--s-1);padding:var(--s-2) 0;align-self:flex-start}.wish-detail-actions-wrap{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end}.actions-toggle-btn{border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #1f2937);width:var(--tap);height:var(--tap);border-radius:var(--s-2);font-size:1rem;line-height:1;cursor:pointer}.actions-menu{position:absolute;top:calc(100% + var(--s-1));right:0;z-index:30;display:flex;flex-direction:column;gap:var(--s-2);background:var(--tg-theme-secondary-bg-color, #fff);border:1px solid var(--tg-theme-section-separator-color, var(--border-mid));border-radius:var(--r-sm);padding:var(--s-2);min-width:188px;box-shadow:0 8px 24px #00000014}.actions-menu-btn{border:none;border-radius:var(--s-2);min-height:40px;padding:0 var(--s-3);background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #1f2937);text-align:left;font-size:.875rem;font-weight:500;cursor:pointer}.actions-menu-btn-danger{color:#dc2626}.wish-detail-title{margin:0 44px 0 0;font-size:1.0625rem;font-weight:700;line-height:1.3}.wish-detail-cost{margin:0;font-size:.9375rem;font-weight:600}.wish-detail-description{margin:0;color:var(--tg-theme-hint-color, #6b7280);font-size:.875rem;line-height:1.45}.bottom-nav-btn:focus-visible,.bookmark-list-item:focus-visible,.submit-btn:focus-visible,.cancel-btn:focus-visible,.add-wish-btn:focus-visible,.bookmark-profile-btn:focus-visible,.actions-toggle-btn:focus-visible,.main-menu-btn:focus-visible,.actions-menu-btn:focus-visible,.danger-btn-light:focus-visible{outline:2px solid var(--tg-theme-button-color, #3b82f6);outline-offset:2px}
