:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f5f4f0;--surface: #ffffff;--surface-raised: #ffffff;--surface-muted: #eceae5;--text: #25211f;--muted: #6d6863;--border: #ddd9d2;--accent: #d7462a;--accent-strong: #b8321b;--accent-soft: #ffe3db;--success: #28774d;--success-soft: #dcf3e6;--warning: #8a5a00;--warning-soft: #fff0c7;--danger: #b3261e;--danger-soft: #fde2df;--focus: #1769aa;--shadow: 0 1px 2px rgb(34 26 21 / 7%), 0 5px 18px rgb(34 26 21 / 5%);--radius-sm: 12px;--radius: 18px;--content: 720px}@media(prefers-color-scheme:dark){:root{--bg: #151515;--surface: #202020;--surface-raised: #282828;--surface-muted: #303030;--text: #f5f1ed;--muted: #b3ada7;--border: #3d3a38;--accent: #ff8064;--accent-strong: #ff9b84;--accent-soft: #4a2923;--success: #74d7a0;--success-soft: #173b2a;--warning: #f2c66d;--warning-soft: #473817;--danger: #ff8b82;--danger-soft: #4a2422;--focus: #7ec8ff;--shadow: 0 1px 2px rgb(0 0 0 / 25%), 0 8px 22px rgb(0 0 0 / 18%)}}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 70%,transparent);outline-offset:2px}.app-shell{min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page{width:min(100%,var(--content));margin:0 auto}.page--centered{display:grid;min-height:calc(100dvh - 120px);place-items:center}.topbar,.home-title-row{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px;margin-bottom:18px}.topbar__title,.home-title{min-width:0;margin:0;font-size:clamp(1.75rem,8vw,2.35rem);line-height:1.08;letter-spacing:-.035em}.topbar__title{flex:1;font-size:clamp(1.35rem,6vw,1.8rem);text-align:center}.topbar__side{display:flex;min-width:48px;justify-content:flex-end}.icon-button,.back-button{display:inline-grid;width:48px;height:48px;flex:0 0 48px;padding:0;border:0;border-radius:50%;place-items:center;background:var(--surface);box-shadow:var(--shadow);color:var(--text);cursor:pointer;text-decoration:none}.icon-button--plain{background:transparent;box-shadow:none}.icon-button--active{color:var(--accent);background:var(--accent-soft)}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:10px;margin:0 0 24px}.search-box{position:relative}.search-box .icon{position:absolute;top:13px;left:15px;width:22px;height:22px;color:var(--muted);pointer-events:none}.search-input,.field-input,.field-textarea,.field-select{width:100%;min-height:50px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);appearance:none}.search-input{padding:0 42px 0 46px;border-radius:16px}.clear-search{position:absolute;top:3px;right:3px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.filter-button{position:relative;display:grid;min-width:50px;min-height:50px;padding:0;border:1px solid var(--border);border-radius:16px;place-items:center;background:var(--surface);color:var(--text);cursor:pointer}.filter-button--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.filter-count{position:absolute;top:-5px;right:-5px;display:grid;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;place-items:center;background:var(--accent);color:#fff;font-size:.72rem;font-weight:750}.section{margin:0 0 28px}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 2px 12px}.section-heading{margin:0;font-size:1.05rem;line-height:1.3}.section-count,.muted{color:var(--muted)}.card-list,.station-list,.result-groups{display:grid;gap:12px}.station-card,.place-card,.detail-card,.settings-card,.form-card,.empty-state{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.station-card{position:relative;display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 46px;align-items:center}.station-card__link{min-width:0;padding:17px 8px 17px 17px;text-decoration:none}.station-card__name{margin:0 0 8px;overflow-wrap:anywhere;font-size:1.06rem;line-height:1.25}.station-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--muted);font-size:.86rem}.station-card__counts{display:flex;flex-wrap:wrap;gap:4px 11px}.station-card__favorite{width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.station-card__favorite[aria-pressed=true]{color:#d99900}.line-dots{display:inline-flex;min-width:0;align-items:center;gap:5px}.line-dot{width:11px;height:11px;flex:0 0 11px;border:1px solid rgb(0 0 0 / 14%);border-radius:50%;box-shadow:0 0 0 1px #ffffff26}.result-group{min-width:0}.result-group__title{display:flex;align-items:center;gap:8px;margin:7px 2px 10px;font-size:.98rem}.place-card{position:relative;overflow:hidden}.place-card__link{display:block;min-width:0;padding:17px;text-decoration:none}.place-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.place-card__name{min-width:0;margin:1px 0 9px;overflow-wrap:anywhere;font-size:1.02rem;line-height:1.3}.status-badge,.intent-badge,.tag-chip{display:inline-flex;min-height:27px;align-items:center;border-radius:999px;line-height:1.15}.status-badge{flex:0 0 auto;padding:6px 9px;background:var(--accent-soft);color:var(--accent-strong);font-size:.77rem;font-weight:700}.status-badge--visited{background:var(--success-soft);color:var(--success)}.intent-badge{margin:0 0 10px;padding:5px 9px;background:var(--surface-muted);color:var(--muted);font-size:.78rem}.tags{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.tag-chip{max-width:100%;padding:5px 9px;overflow-wrap:anywhere;background:var(--surface-muted);color:var(--text);font-size:.78rem}.place-card__comment{display:-webkit-box;margin:11px 0 0;overflow:hidden;color:var(--muted);font-size:.9rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.empty-state{padding:30px 22px;text-align:center}.empty-state__icon{display:grid;width:54px;height:54px;margin:0 auto 15px;border-radius:50%;place-items:center;background:var(--surface-muted);color:var(--muted)}.empty-state h2,.empty-state h3{margin:0 0 7px;font-size:1.08rem}.empty-state p{margin:0;color:var(--muted);line-height:1.45}.empty-state .button{margin-top:18px}.fab{position:fixed;z-index:20;right:max(18px,calc((100vw - var(--content)) / 2 + 18px),env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:inline-flex;min-height:56px;align-items:center;gap:8px;padding:0 20px;border:0;border-radius:999px;background:var(--accent);box-shadow:0 8px 25px #7a231147;color:#fff;font-weight:750;text-decoration:none}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid transparent;border-radius:14px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}.button:disabled{cursor:default;opacity:.58}.button--secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.button--quiet{border-color:transparent;background:transparent;color:var(--accent-strong)}.button--danger{border-color:var(--danger);background:transparent;color:var(--danger)}.button--full{width:100%}.segmented{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;border-radius:14px;background:var(--surface-muted)}.segmented__button{min-height:42px;padding:7px 10px;border:0;border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;font-size:.88rem;font-weight:650}.segmented__button[aria-pressed=true]{background:var(--surface-raised);box-shadow:0 1px 4px #00000017;color:var(--text)}.station-hero{margin-bottom:20px}.station-hero__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.station-hero h1{margin:0 0 8px;overflow-wrap:anywhere;font-size:clamp(1.65rem,8vw,2.25rem);line-height:1.1;letter-spacing:-.03em}.station-hero__meta{display:flex;align-items:center;gap:10px;color:var(--muted)}.form{display:grid;gap:16px}.form-card,.detail-card,.settings-card{padding:18px}.field{display:grid;min-width:0;gap:7px}.field-label,.fieldset-legend{color:var(--text);font-size:.9rem;font-weight:700}.required:after{margin-left:3px;color:var(--danger);content:"*"}.field-input,.field-select,.field-textarea{padding:12px 13px}.field-select{padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.field-textarea{min-height:116px;resize:vertical;line-height:1.45}.field-error{margin:0;color:var(--danger);font-size:.83rem;line-height:1.35}.field-hint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.field-warning,.notice{padding:12px 13px;border-radius:12px;background:var(--warning-soft);color:var(--warning);font-size:.86rem;line-height:1.4}.notice--success{background:var(--success-soft);color:var(--success)}.notice--danger{background:var(--danger-soft);color:var(--danger)}.fieldset{min-width:0;margin:0;padding:0;border:0}.fieldset-legend{margin:0 0 8px;padding:0}.autocomplete{position:relative}.autocomplete-list,.tag-suggestions{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:min(310px,45vh);margin:0;padding:6px;overflow-y:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);box-shadow:0 12px 30px #0003;list-style:none}.autocomplete-option,.tag-suggestion{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.autocomplete-option--active,.autocomplete-option:hover,.tag-suggestion:hover{background:var(--surface-muted)}.tag-editor{position:relative}.tag-editor__chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.tag-chip--removable{min-height:34px;gap:5px;padding:5px 7px 5px 10px}.tag-chip__remove{display:grid;width:26px;height:26px;padding:0;border:0;border-radius:50%;place-items:center;background:transparent;color:var(--muted);cursor:pointer}.tag-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tag-editor__row .button{min-height:50px}.form-actions{display:grid;gap:10px;padding-top:4px}.detail-card{display:grid;gap:19px}.detail-header h1{margin:0 0 10px;overflow-wrap:anywhere;font-size:clamp(1.55rem,7vw,2.15rem);line-height:1.12;letter-spacing:-.025em}.detail-badges{display:flex;flex-wrap:wrap;gap:7px}.detail-badges .intent-badge{margin-bottom:0}.detail-row{min-width:0;padding-top:16px;border-top:1px solid var(--border)}.detail-label{margin:0 0 7px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.detail-value{margin:0;overflow-wrap:anywhere;line-height:1.5;white-space:pre-wrap}.detail-link{color:var(--accent-strong);text-decoration-thickness:1px;text-underline-offset:3px}.detail-actions{display:grid;gap:10px}.settings-stack{display:grid;gap:14px}.settings-card h2{margin:0 0 9px;font-size:1.07rem}.settings-card p{margin:0 0 15px;color:var(--muted);line-height:1.45}.settings-actions{display:grid;gap:9px}.file-input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:28px 12px 0;background:#00000075}.modal-sheet{width:min(100%,560px);max-height:calc(92dvh - env(safe-area-inset-top));padding:18px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:24px 24px 0 0;background:var(--surface-raised);box-shadow:0 -8px 40px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-header h2{margin:0;font-size:1.3rem}.filter-sections{display:grid;gap:22px}.checkbox-list{display:grid;gap:3px}.checkbox-row{display:grid;min-height:46px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer}.checkbox-row input{width:21px;height:21px;margin:0;accent-color:var(--accent)}.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.filter-tag{min-height:40px;padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;overflow-wrap:anywhere}.filter-tag[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.modal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:24px}.toast{position:fixed;z-index:150;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));display:flex;width:min(calc(100% - 28px),560px);min-height:58px;align-items:center;justify-content:space-between;gap:12px;margin:auto;padding:10px 11px 10px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-raised);box-shadow:0 10px 32px #00000040}.toast .button{min-height:40px;padding-inline:13px}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:600px){.app-shell{padding-top:max(24px,env(safe-area-inset-top))}.form-actions,.detail-actions,.settings-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:center;padding-bottom:28px}.modal-sheet{border-radius:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
