:root{--bg:#fdfaf6;--surface:#fff;--surface-soft:#fdf1ec;--text:#2d3142;--text-muted:#8a8478;--primary:#e8735c;--primary-hover:#d3604a;--primary-soft:#fbe4dd;--accent:#2563eb;--border:#ece6df;--danger:#d64545;--shadow-sm:0 1px 3px #2d22180f;--shadow-md:0 8px 20px #2d22181a;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--content-width:480px;--content-width-wide:960px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--coral:var(--primary);--navy:var(--text);--modal-bg:var(--surface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}a{color:var(--navy);text-decoration:none}h1,h2,h3{color:var(--text);margin:0 0 8px;font-weight:800;line-height:1.3}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px;font-weight:700}p{color:var(--text);margin:0 0 10px}body{background:var(--bg);min-height:100svh;margin:0}#root{min-height:100svh}main{max-width:var(--content-width);padding:var(--space-md);margin:0 auto}.form-field{margin-bottom:var(--space-lg)}.form-field label{margin-bottom:4px;font-weight:600;display:block}.form-field-checkbox label{align-items:center;gap:8px;font-weight:400;display:flex}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--text);padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.form-field-checkbox input{width:auto}button,.button-link{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:center;cursor:pointer;box-sizing:border-box;box-shadow:var(--shadow-sm);padding:12px;font-size:16px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,background-color .15s;display:inline-block}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button:focus-visible,.button-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}[role=alert]{color:var(--danger)}.page-header{margin-bottom:4px}.page-header h1{letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:800}.page-subtitle{color:var(--text-muted);margin:0 0 16px;font-size:13px}.place-filter-bar{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.place-filter-search{position:relative}.place-filter-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.place-filter-keyword,.place-filter-prefecture{width:100%}.place-filter-keyword{padding-left:40px}.place-filter-toggles{flex-wrap:wrap;gap:8px;display:flex}.place-list-count{color:var(--text-muted);margin:0 0 12px;font-size:12px}.place-filter-empty{padding:var(--space-lg) var(--space-md);text-align:center;color:var(--text-muted)}.place-filter-empty p{margin:0}.place-filter-empty p.place-filter-empty-hint{opacity:.8;margin-top:4px;font-size:12px}.place-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.visited-reorder-row{justify-content:center;align-items:center;gap:20px;margin-top:-6px;padding:2px 0 0;display:flex}.visited-reorder-button{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-muted);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.visited-reorder-button:disabled{opacity:.35}.visited-reorder-button:not(:disabled):hover,.visited-reorder-button:not(:disabled):focus-visible{color:var(--primary);border-color:var(--primary)}.place-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:16px;transition:border-color .15s,box-shadow .15s}.place-card:hover,.place-card:focus-visible{border-color:var(--primary);box-shadow:var(--shadow-md)}.place-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.place-card-thumb{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:145px;margin:-16px -16px 8px;position:relative;overflow:hidden}.place-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.place-card-thumb-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.place-card-thumb-empty span{font-size:11px}.place-card-favorite{width:36px;height:36px;color:var(--text-muted);box-shadow:var(--shadow-sm);background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:10px;right:10px}.place-card-favorite.is-active{color:var(--primary)}.place-card-name{margin:0 0 6px;font-size:17px;font-weight:800;line-height:1.3}.place-card-name a{-webkit-line-clamp:2;color:var(--text);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.place-card-date{color:var(--primary);margin:0 0 6px;font-size:13px;font-weight:700}.place-card-meta{color:var(--text-muted);margin:0 0 6px;font-size:13px}.place-card-registrant{color:var(--text-muted);margin:0 0 8px;font-size:12px}.place-card-revisit-chip{width:auto;color:var(--text-muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:none;align-items:center;gap:4px;margin:0 0 8px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.place-card-revisit-chip.is-active{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-soft)}.place-card-visited-button{width:100%;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-soft);box-shadow:none;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:14px;font-weight:700;display:flex}.toggle-button{border-radius:var(--radius-pill);align-items:center;gap:4px;width:auto;padding:6px 12px;font-size:14px;font-weight:400;display:inline-flex}.toggle-button.is-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.photo-gallery{margin-top:4px}.photo-gallery-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;background:var(--surface-soft);border-radius:var(--radius-lg);scrollbar-width:none;align-items:center;display:flex;overflow:auto hidden}.photo-gallery-track::-webkit-scrollbar{display:none}.photo-gallery-slide{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;justify-content:center;align-items:center;display:flex;position:relative}.photo-gallery-slide img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:60vh;display:block}.photo-gallery-placeholder{width:100%;height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.photo-gallery-delete{color:#fff;width:36px;height:36px;box-shadow:none;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:12px;right:12px}.photo-gallery-delete:disabled{opacity:.6}.photo-gallery-controls{justify-content:center;align-items:center;gap:14px;margin-top:8px;display:flex}.photo-gallery-counter{min-width:40px;color:var(--text-muted);text-align:center;font-size:13px}.photo-gallery-arrow{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:none}.photo-gallery-arrow:disabled{opacity:.35}@media (hover:hover) and (pointer:fine){.photo-gallery-arrow{display:flex}}.photo-thumbnail-track{touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;margin-top:10px;padding:2px;display:flex;overflow-x:auto}.photo-thumbnail-track::-webkit-scrollbar{display:none}.photo-thumbnail{border-radius:var(--radius-md);background:var(--surface-soft);width:56px;height:56px;box-shadow:none;border:2px solid #0000;flex:none;padding:0;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumbnail-placeholder{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.photo-thumbnail.is-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-soft)}.confirm-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:320px;box-shadow:var(--shadow-md);box-sizing:border-box;padding:24px 20px}.confirm-modal-message{text-align:center;color:var(--text);margin:0 0 20px;font-size:16px;line-height:1.5}.confirm-modal-actions{gap:8px;display:flex}.confirm-modal-cancel,.confirm-modal-confirm{flex:1;width:auto}.confirm-modal-confirm{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:700}.maps-button{border-color:var(--accent);color:var(--accent);box-shadow:none;background:0 0}.calendar-nav{justify-content:center;align-items:center;gap:16px;margin:4px 0 12px;display:flex}.calendar-nav-button{width:36px;height:36px;color:var(--text-muted);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.calendar-nav-button:hover{color:var(--primary);border-color:var(--primary)}.calendar-month-label{color:var(--text);white-space:nowrap;text-align:center;min-width:96px;font-size:18px;font-weight:800}.calendar-today-button{width:fit-content;color:var(--text-muted);background:var(--surface-soft);border-color:var(--border);margin:0 auto 16px;padding:6px 14px;font-size:13px;display:block}.calendar-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.calendar-weekday{background:var(--surface);text-align:center;color:var(--text-muted);padding:6px 2px;font-size:12px;font-weight:700}.calendar-cell{background:var(--surface);box-sizing:border-box;min-height:64px;padding:4px 2px}.calendar-cell-empty{background:0 0}.calendar-cell-today{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.calendar-date-number{text-align:right;color:var(--text-muted);padding-right:2px;font-size:11px;display:block}.calendar-place-list{flex-direction:column;gap:2px;margin:2px 0 0;padding:0;list-style:none;display:flex}.calendar-place-link{background:var(--primary-soft);color:var(--primary-hover);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 3px;font-size:10px;line-height:1.4;text-decoration:none;display:block;overflow:hidden}.calendar-place-link-visited{background:var(--surface-soft);color:var(--text-muted)}.timeline{margin-top:16px;padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:5px}.timeline-group{position:relative}.timeline-date{color:var(--coral);align-items:center;gap:6px;margin:20px 0 10px;font-size:14px;font-weight:700;display:flex}.timeline-group:first-child .timeline-date{margin-top:0}.timeline-item{color:inherit;margin-bottom:12px;text-decoration:none;display:block;position:relative}.timeline-dot{background:var(--coral);border:2px solid var(--bg);box-sizing:border-box;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-24px}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.timeline-thumbnail{object-fit:cover;width:100%;height:140px;display:block}.timeline-thumbnail-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.timeline-card-body{padding:12px 14px}.timeline-card-header{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.timeline-place-name{overflow-wrap:anywhere;font-size:15px;font-weight:700}.timeline-badge{border-radius:var(--radius-pill);background:var(--coral);color:#fff;white-space:nowrap;align-items:center;gap:3px;padding:2px 8px;font-size:11px;display:inline-flex}.timeline-category{opacity:.7;margin:0;font-size:13px}.timeline-memo{opacity:.85;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.4}.recap-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 24px;display:grid}.recap-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 4px;transition:border-color .15s;display:flex}.recap-stat-card svg{color:var(--text-muted)}.recap-stat-card.is-active{border-color:var(--primary)}.recap-stat-card.is-active svg{color:var(--primary)}.recap-stat-number{color:var(--navy);font-size:28px;font-weight:800;line-height:1.1}.recap-stat-card.is-active .recap-stat-number{color:var(--coral)}.recap-stat-label{color:var(--text-muted);margin-top:4px;font-size:11px}.recap-stat-card.is-active .recap-stat-label{color:var(--coral);opacity:1}.recap-month-group{margin-bottom:20px}.recap-month-heading{color:var(--navy);align-items:baseline;gap:6px;margin:0 0 8px;font-size:15px;font-weight:700;display:flex}.recap-month-count{color:var(--text-muted);font-size:12px;font-weight:600}.recap-place-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.recap-place-card{color:var(--text);flex-direction:column;text-decoration:none;display:flex}.recap-place-thumbnail{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface);width:100%;height:110px;display:block}.recap-place-thumbnail-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.recap-place-name{overflow-wrap:anywhere;margin-top:6px;font-size:13px;font-weight:600;display:block}.recap-place-card:hover .recap-place-name{color:var(--coral)}.recap-visited-date{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.home-back-link{color:var(--coral);margin-bottom:12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.home-back-link:hover{text-decoration:underline}.home-header{margin-bottom:22px}.home-header h1{letter-spacing:.01em;color:var(--text);margin:0 0 6px;font-family:Yellowtail,cursive;font-size:36px;font-weight:400;line-height:1.3}.home-subtitle{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:12.5px;font-weight:400}.home-add-button{border-radius:var(--radius-md);background:var(--primary);color:#fff;text-align:center;box-sizing:border-box;width:100%;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:10px;margin-bottom:24px;padding:14px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.home-hero{margin-bottom:20px}.home-hero-media{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));height:200px;box-shadow:var(--shadow-sm);border-radius:24px;position:relative;overflow:hidden}.home-hero-photo{object-fit:cover;object-position:center 55%;width:100%;height:100%;position:absolute;inset:0}.home-hero-overlay{background:linear-gradient(#140c1400 40%,#140c1466 100%);position:absolute;inset:0}.home-hero-text{z-index:1;padding:18px 20px 20px;position:absolute;bottom:0;left:0;right:0}.home-hero-text h2{letter-spacing:.01em;color:#fff;text-shadow:0 1px 4px #0000004d;margin:0 0 5px;font-family:Klee One,sans-serif;font-size:24px;font-weight:600}.home-hero-text p{color:#fff;text-shadow:0 1px 3px #0000004d;margin:0;font-size:13px}.home-count-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.home-count-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:center;box-sizing:border-box;min-height:88px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:18px 8px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.home-count-card svg{color:var(--primary)}.home-count-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.home-count-number{font-size:26px;font-weight:800;line-height:1.1}.home-count-label{color:var(--text-muted);font-size:12px}.home-section{margin-bottom:24px}.home-section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.home-section-header h2{align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.home-section-header h2 svg{color:var(--primary)}.home-section-heading-plain{margin:0 0 12px;font-size:15px}.home-section-link{color:var(--text-muted);white-space:nowrap;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.home-section-link:hover{color:var(--primary)}.home-section-loading{color:var(--text-muted);font-size:13px}.home-empty-block{border-radius:var(--radius-md);background:var(--surface-soft);text-align:center;padding:18px 16px}.home-empty-block p{color:var(--text-muted);margin:0 0 6px;font-size:13px}.home-empty-link{color:var(--primary);align-items:center;gap:2px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.home-empty-block-text{border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-muted);text-align:center;padding:14px 16px;font-size:13px}.home-upcoming-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.home-upcoming-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:10px;text-decoration:none;display:flex}.home-upcoming-thumb{border-radius:var(--radius-md);background:var(--surface-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.home-upcoming-thumb img{object-fit:cover;width:100%;height:100%;display:block}.home-upcoming-thumb-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.home-upcoming-info{flex-direction:column;gap:3px;min-width:0;display:flex}.home-upcoming-name{overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.3}.home-upcoming-date{color:var(--primary);font-size:12px;font-weight:700}.home-upcoming-meta{color:var(--text-muted);font-size:11px}.home-recent-scroll{gap:12px;margin:0;padding:2px 2px 6px;list-style:none;display:flex;overflow-x:auto}.home-recent-scroll li{flex:none;width:128px}.home-recent-card{color:var(--text);flex-direction:column;text-decoration:none;display:flex}.home-recent-thumb{border-radius:var(--radius-md);background:var(--surface-soft);width:100%;height:96px;box-shadow:var(--shadow-sm);overflow:hidden}.home-recent-thumb img{object-fit:cover;width:100%;height:100%;display:block}.home-recent-thumb-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.home-recent-thumb-empty span{font-size:10px}.home-recent-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.home-recent-meta{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.home-nav-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.home-nav-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);min-height:76px;color:var(--text);text-align:center;box-sizing:border-box;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 4px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s;display:flex}.home-nav-card svg{color:var(--primary)}.home-nav-card:hover{border-color:var(--primary)}.home-footer{text-align:center;margin-top:36px;padding-bottom:6px}.login-brand{margin-bottom:28px}.login-brand h1{letter-spacing:.01em;color:var(--text);margin:0 0 4px;font-family:Yellowtail,cursive;font-size:34px;font-weight:400;line-height:1.3}.login-brand-tagline{color:var(--text-muted);margin:0;font-size:13px}.login-heading{margin:0 0 20px;font-size:20px}.login-description{color:var(--text-muted);margin:0 0 20px;font-size:14px;line-height:1.6}.login-info-block{background:var(--surface-soft);border-radius:var(--radius-lg);text-align:center;margin-top:8px;padding:20px 18px}.login-info-block p{color:var(--text);margin:0 0 14px;line-height:1.6}.login-info-block .login-forgot-link{margin:0 auto}.login-submit{border-radius:var(--radius-md);background:var(--primary);color:#fff;width:100%;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:14px;font-size:16px;font-weight:700;display:flex}.login-submit:disabled{opacity:.6}.login-password-row{align-items:center;gap:8px;display:flex}.login-password-row input{flex:1}.login-toggle-button{flex-shrink:0;width:auto;padding:10px 12px;font-size:13px;font-weight:400}.login-privacy-link{opacity:.6;width:fit-content;margin:20px auto 0;font-size:13px;text-decoration:underline;display:block}.home-logout-button{width:auto;color:var(--text-muted);box-shadow:none;background:0 0;border:none;align-items:center;gap:4px;margin:0 auto;padding:8px 16px;font-size:13px;font-weight:400;text-decoration:underline;display:inline-flex}.privacy-page{line-height:1.7}.privacy-page .detail-back-link{margin-bottom:16px}.privacy-kicker{letter-spacing:.04em;color:var(--coral);opacity:.9;margin:0 0 4px;font-size:12px;font-weight:700}.privacy-page h1{margin:0 0 20px;font-size:22px}.privacy-page h2{color:var(--navy);margin:32px 0 10px;font-size:16px;font-weight:700}.privacy-page p{margin:0 0 14px}.privacy-page ul{margin:0 0 14px;padding-left:20px}.privacy-page li{margin-bottom:6px}.privacy-date{opacity:.6;margin-top:24px;font-size:13px}.login-forgot-link{width:fit-content;color:var(--primary);box-shadow:none;background:0 0;border:none;margin:16px auto 0;padding:4px;font-size:13px;text-decoration:underline;display:block}.auth-kicker{letter-spacing:.04em;color:var(--coral);opacity:.9;margin:0 0 4px;font-size:12px;font-weight:700}.auth-heading{margin:0 0 8px}.auth-status-text{color:var(--text-muted);margin-top:8px;font-size:14px}.not-found-block{text-align:center;background:var(--surface-soft);border-radius:var(--radius-lg);margin-top:48px;padding:32px 24px}.not-found-icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.not-found-code{letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px;font-size:15px;font-weight:800}.not-found-title{margin:0 0 8px;font-size:22px}.not-found-description{color:var(--text-muted);margin:0 0 24px;font-size:14px}.not-found-cta{border-radius:var(--radius-md);background:var(--primary);color:#fff;width:100%;box-shadow:var(--shadow-sm);box-sizing:border-box;justify-content:center;align-items:center;padding:14px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.category-picker{margin-bottom:16px}.category-add-toggle{width:auto;color:var(--coral);border-color:var(--coral);background:0 0;align-items:center;gap:4px;margin-bottom:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.category-add-box{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);margin-bottom:8px;padding:14px}.category-add-box .form-field{margin-bottom:10px}.category-add-box button{margin-top:8px}.category-add-cancel{opacity:.7;background:0 0;width:auto;margin-left:8px;padding:6px 12px;font-size:13px;font-weight:400}.category-similar-warning{border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-soft);margin-top:8px;padding:10px 12px}.category-similar-warning p{margin:0 0 8px;font-size:13px}.category-similar-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.category-similar-list button{width:100%;padding:8px 10px;font-size:13px}.category-manage-link{color:var(--coral);margin-top:4px;font-size:13px;text-decoration:underline;display:inline-block}.category-manage-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.category-manage-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:12px 14px}.category-manage-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-manage-delete{width:auto;color:var(--danger);border-color:var(--danger);background:0 0;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.category-manage-name{font-weight:700}.category-manage-usage-badge{color:var(--text-muted);background:var(--surface-soft);border-radius:var(--radius-pill);margin-top:8px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.category-manage-usage-badge.is-used{background:var(--border)}.place-link-other-section{margin-bottom:16px}.place-link-other-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-bottom:10px;padding:14px}.place-link-other-block .form-field{margin-bottom:10px}.place-link-remove{width:auto;color:var(--danger);border-color:var(--danger);background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.place-link-add-toggle{width:auto;color:var(--coral);border-color:var(--coral);background:0 0;align-items:center;gap:4px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.new-arrival-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.new-arrival-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.new-arrival-link{color:var(--text);gap:12px;padding:12px;text-decoration:none;display:flex}.new-arrival-thumb{border-radius:var(--radius-md);background:var(--surface-soft);flex-shrink:0;width:80px;height:80px;overflow:hidden}.new-arrival-thumb img{object-fit:cover;width:100%;height:100%;display:block}.new-arrival-thumb-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.new-arrival-info{flex-direction:column;gap:2px;min-width:0;display:flex}.new-arrival-header{align-items:center;gap:6px;display:flex}.new-arrival-name{overflow-wrap:anywhere;font-size:15px;font-weight:700}.new-arrival-new-badge{letter-spacing:.03em;color:#fff;background:var(--primary);border-radius:var(--radius-pill);flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:800}.new-arrival-meta,.new-arrival-registrant{color:var(--text-muted);font-size:12px}.new-arrival-date{color:var(--text-muted);opacity:.8;font-size:11px}.detail-topbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.detail-back-link,.detail-edit-link{width:auto;color:var(--text-muted);box-shadow:none;background:0 0;border:none;align-items:center;gap:4px;padding:6px 4px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.detail-back-link:hover,.detail-edit-link:hover{color:var(--primary)}.detail-hero{height:236px;box-shadow:var(--shadow-sm);border-radius:24px;margin-bottom:16px;position:relative;overflow:hidden}.detail-hero-photo{object-fit:cover;width:100%;height:100%;display:block}.detail-position-area{text-align:center;margin:-4px 0 16px}.detail-position-button{width:auto;color:var(--primary);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-pill);box-shadow:none;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.thumb-editor{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px}.thumb-editor .detail-section-heading{margin-bottom:4px}.thumb-editor-help,.thumb-editor-hint{color:var(--text-muted);margin:0 0 10px;font-size:12px}.thumb-editor-hint{margin:8px 0 0}.thumb-editor-frame{aspect-ratio:2;border-radius:var(--radius-md);background:var(--surface-soft);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.thumb-editor-frame.is-dragging{cursor:grabbing}.thumb-editor-frame img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.thumb-editor-actions{margin-top:12px}.thumb-editor-actions .place-form-submit{margin-top:0}.thumb-editor-save-outline{width:100%;color:var(--primary);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-md);box-shadow:none;justify-content:center;align-items:center;padding:12px;font-size:15px;font-weight:700;display:flex}.place-form-position-area{margin-top:12px}.thumb-editor-secondary-actions{gap:8px;margin-top:8px;display:flex}.thumb-editor-secondary{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);box-shadow:none;flex:1;padding:10px;font-size:14px;font-weight:700}.detail-hero-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.detail-hero-empty span{font-size:13px}.detail-hero-delete{color:#fff;width:36px;height:36px;box-shadow:none;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:12px;right:12px}.detail-hero-delete:disabled{opacity:.6}.detail-place-name{overflow-wrap:anywhere;margin:0 0 10px;font-size:24px;font-weight:800;line-height:1.3}.detail-tags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.detail-tag{color:var(--text-muted);background:var(--surface-soft);border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:600}.detail-badges{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.detail-favorite-badge,.detail-revisit-badge{border-radius:var(--radius-pill);color:var(--primary);background:var(--primary-soft);align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.detail-maps-button{width:100%;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);box-sizing:border-box;background:0 0;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.detail-link-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.detail-link-chip{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.detail-link-chip:hover{border-color:var(--primary);color:var(--primary)}.detail-info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:14px 16px}.detail-info-row{align-items:center;gap:8px;display:flex}.detail-info-row svg{color:var(--primary);flex-shrink:0}.detail-info-row-sub{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.detail-info-label{color:var(--text-muted);margin-right:6px;font-size:12px;font-weight:600}.detail-info-value{color:var(--text);font-size:14px;font-weight:700}.detail-info-registrant{color:var(--text-muted);margin:8px 0 0;font-size:12px}.detail-section{margin-bottom:20px}.detail-section-heading{margin:0 0 10px;font-size:15px}.detail-section-loading{color:var(--text-muted);font-size:13px}.detail-memo{color:var(--text);background:var(--surface-soft);border-radius:var(--radius-md);overflow-wrap:anywhere;margin:0;padding:14px 16px;font-size:14px;line-height:1.7}.detail-upload-form{background:var(--surface-soft);border:1px dashed var(--border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:8px;padding:20px 16px;display:flex}.detail-upload-label{width:auto;color:var(--primary);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.detail-upload-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detail-upload-filename{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:13px}.detail-upload-message{color:var(--primary);margin:0;font-size:13px}.detail-upload-submit{width:auto;padding:10px 20px;font-size:14px}.detail-danger-zone{text-align:center;margin:28px 0 8px}.detail-delete-button{width:auto;color:var(--danger);box-shadow:none;background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.form-field-icon-label{align-items:center;gap:6px;display:flex}.form-field-icon-label svg{color:var(--primary);flex-shrink:0}.place-form-date-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.place-form-date-label-row .form-field-icon-label{white-space:nowrap}.place-form-date-clear{color:var(--primary);box-shadow:none;background:0 0;border:none;padding:4px 2px;font-size:12px;text-decoration:underline}.place-form-photo{text-align:center;background:var(--surface-soft);border:1px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:16px}.place-form-photo-preview{border-radius:var(--radius-md);height:180px;margin-top:12px;overflow:hidden}.place-form-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.place-form-photo-empty{background:linear-gradient(135deg, var(--primary-soft), var(--surface-soft));width:100%;height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:12px;display:flex}.place-form-section{margin-bottom:24px}.place-form-section-heading{color:var(--text-muted);margin:0 0 12px;font-size:14px;font-weight:700}.place-form-name-field input{font-size:18px;font-weight:700}.place-form-memo{background:var(--surface-soft);min-height:100px}.place-form-badges{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.place-form-favorite-field{margin-bottom:0}.place-form-favorite-toggle{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.place-form-favorite-toggle input{width:auto}.place-form-favorite-toggle svg{flex-shrink:0}.place-form-favorite-toggle.is-active{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-soft)}.place-form-submit{border-radius:var(--radius-md);background:var(--primary);color:#fff;width:100%;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;margin-top:8px;padding:14px;font-size:16px;font-weight:700;display:flex}.place-form-submit:disabled{opacity:.6}
