:root{color-scheme:light;font-family:Noto Sans SC,PingFang SC,Hiragino Sans GB,sans-serif;line-height:1.5;font-weight:400;color:#1c2b25;background:#f4f7f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: #fbfdf9;--surface-muted: #eef6f1;--surface-raised: #ffffff;--border: #dce7dd;--border-strong: #c2d2c6;--text: #1c2b25;--muted: #64746b;--accent: #88c9a0;--accent-dark: #2f7750;--accent-soft: #edf8f1;--accent-line: #cce9d6;--danger: #b84242;--danger-soft: #f7e7e5;--focus: 0 0 0 3px rgba(136, 201, 160, .24);--shadow-soft: 0 10px 28px rgba(58, 83, 41, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;background:linear-gradient(180deg,#ffffffc2,#f4f7f300 18rem),var(--surface-muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}img{display:block;max-width:100%}:focus-visible{outline:0;box-shadow:var(--focus)}.app-shell{min-height:100vh;padding-bottom:6.75rem}.app-main{width:min(100%,49rem);margin:0 auto}.page{padding:1.25rem 1rem 2rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.page-header h1{margin:0;font-size:2rem;line-height:1.12;letter-spacing:0}.page-header__subtitle{max-width:35rem;margin:.55rem 0 0;color:var(--muted)}.page-header__action{flex-shrink:0}.panel,.category-panel,.form-card,.detail-card,.settings-card,.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:var(--shadow-soft)}.panel{padding:.9rem 1rem;margin-bottom:1rem}.panel--warm{display:grid;gap:.25rem;border-color:var(--accent-line);background:var(--accent-soft);box-shadow:none}.panel__title{margin:0;font-weight:700}.panel__text{margin:0;color:var(--muted)}.search-box{display:grid;gap:.5rem;margin-bottom:1rem;padding:.85rem 0}.search-box span{color:var(--text);font-size:.92rem;font-weight:700}.search-box input{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-raised);padding:.85rem .95rem;color:inherit;box-shadow:0 1px #233a2b08}.search-box input::placeholder,.field input::placeholder,.field textarea::placeholder,.inline-form input::placeholder{color:#87958d}.category-stack{display:grid;gap:1rem}.category-panel{padding:1rem}.category-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.category-panel__header h2,.settings-card h2,.detail-section h2,.empty-state h2{margin:0;color:var(--text);font-size:1.08rem;line-height:1.25}.category-panel__header p,.settings-card p,.detail-section p,.empty-state p{margin:.35rem 0 0;color:var(--muted)}.category-panel__empty{padding:.75rem 0;color:var(--muted);font-size:.94rem}.item-list{display:grid;gap:.65rem}.item-card{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:.85rem;align-items:center;min-height:5.5rem;padding:.65rem;border:1px solid transparent;border-radius:8px;background:var(--surface-raised);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.item-card:hover{border-color:var(--border-strong);box-shadow:0 8px 18px #25423012;transform:translateY(-1px)}.item-card__image,.detail-card__image{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--accent-soft)}.item-card__image{height:4.25rem}.item-card__image img,.detail-card__image img{width:100%;height:100%;object-fit:cover}.item-card__placeholder,.detail-card__placeholder{width:100%;height:100%;display:grid;place-items:center;font-weight:700;color:var(--accent-dark);background:var(--accent-soft)}.item-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.3rem}.item-card__body{min-width:0}.item-card__body strong{display:block;min-width:0;overflow:hidden;color:var(--text);font-size:1rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.item-card__body p{margin:0;color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-card__rating{flex-shrink:0;color:var(--accent);font-size:.82rem;line-height:1.45;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;border:1px solid transparent;border-radius:8px;padding:.72rem 1rem;font-weight:700;line-height:1.2;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-dark)}.button--ghost{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text)}.button--danger{background:var(--danger);color:#fff}.button--block{width:100%}.text-link{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.form-card,.detail-card,.settings-card,.empty-state{padding:1rem}.form-card,.settings-card{display:grid;gap:1rem}.field{display:grid;gap:.45rem}.field span{font-size:.94rem;font-weight:700}.field input,.field select,.field textarea,.inline-form input,.category-editor input{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-raised);padding:.85rem .95rem;color:inherit}.field textarea{resize:vertical}.rating-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.rating-chip{min-height:2.5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-raised);color:var(--text);padding:.55rem .7rem;font-weight:700}.rating-chip:hover{border-color:var(--accent)}.rating-chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.image-preview{display:grid;gap:.75rem}.image-preview img{width:100%;max-height:16rem;object-fit:cover;border:1px solid var(--border);border-radius:8px}.detail-card{display:grid;gap:1rem;margin-bottom:1rem}.detail-card__image{aspect-ratio:1.18 / 1}.detail-card__meta{display:flex;flex-wrap:wrap;gap:.55rem}.detail-pill{padding:.42rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--accent-soft);color:var(--accent-dark);font-size:.9rem;font-weight:700}.detail-section{display:grid;gap:.25rem}.detail-section--times{padding-top:.75rem;border-top:1px solid var(--border)}.detail-section--times p{margin:0;font-size:.9rem}.inline-form,.settings-actions,.category-editor{display:flex;gap:.75rem}.inline-form input,.category-editor input{flex:1}.settings-list{display:grid;gap:.75rem}.category-editor{align-items:center;padding-top:.75rem;border-top:1px solid var(--border)}.settings-import{position:relative;overflow:hidden}.settings-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.empty-state{text-align:center;padding:2rem 1.25rem;box-shadow:none}.notice-text,.error-text,.loading-text{margin:1rem 0;color:var(--accent-dark);font-weight:700}.error-text{color:var(--danger)}.bottom-nav{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 1.5rem),28rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.5rem;padding:.45rem;border:1px solid var(--border);border-radius:8px;background:#fbfdf9f0;box-shadow:0 12px 30px #3a53291f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav__link{min-height:2.65rem;border-radius:8px;padding:.72rem .85rem;color:var(--muted);text-align:center;font-weight:700;line-height:1.2}.bottom-nav__link--active{background:var(--accent-soft);color:var(--accent-dark)}@media(max-width:520px){.page-header{flex-direction:column}.page-header__action,.page-header__action .button{width:100%}.category-panel__header,.inline-form,.settings-actions,.category-editor{flex-direction:column;align-items:stretch}.item-card{grid-template-columns:4rem minmax(0,1fr)}.rating-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:721px){.page{padding:2rem 1.5rem 3rem}.page-header h1{font-size:2.65rem}.category-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
