:root{color-scheme:light;--primary:#00c972;--primary-hover:#00b866;--primary-pressed:#00a85d;--primary-light:#e8faf2;--bg:#f7f8f7;--surface:#fff;--text-primary:#202522;--text-secondary:#68706b;--text-tertiary:#929a95;--border:#e7eae8;--divider:#eef0ef;--error:#e94b4b;--success:#00c972}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:Noto Sans JP,Segoe UI,sans-serif;background:var(--bg);color:var(--text-primary)}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:860px;margin:0 auto;padding:16px 16px 96px;display:grid;grid-gap:16px;gap:16px}.app-header{justify-content:space-between;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:20px}.app-header,.app-header-brand{display:flex;align-items:center}.app-header-brand{gap:10px}.logo-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--primary-light);color:var(--primary);font-weight:700}.app-header-eyebrow{font-size:.74rem;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.app-header-title{font-weight:700}.hero-card,.panel{padding:20px;border-radius:24px;border:1px solid var(--border);background:var(--surface)}.hero-card-content{display:grid;grid-gap:16px;gap:16px}.page-title{margin:4px 0 8px;font-size:1.65rem}.hero-copy{margin:0;color:var(--text-secondary);line-height:1.7}.hero-visual{min-height:156px;border-radius:20px;padding:16px;background:linear-gradient(135deg,#f0fff7,#e8faf2);border:1px solid #d9f7e8;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.hero-visual-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;background:var(--surface);color:var(--primary);font-size:.8rem;font-weight:700}.hero-visual-title{font-size:1.1rem;font-weight:700}.hero-visual-copy{font-size:.92rem;color:var(--text-secondary)}.hero-preview-stack{position:relative;height:88px;margin-bottom:12px}.hero-preview-card{position:absolute;width:calc(100% - 36px);display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 16px rgba(0,0,0,.08)}.hero-preview-card .ms{font-size:20px;color:var(--primary)}.hero-preview-card-back{top:0;right:0;opacity:.7}.hero-preview-card-front{top:28px;left:0}.hero-preview-card-title{font-size:.86rem;font-weight:700}.hero-preview-card-meta{font-size:.72rem;color:var(--text-secondary)}.store-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.store-badge{display:inline-flex;align-items:center;gap:8px;flex:1 1 160px;min-height:48px;padding:0 14px;border-radius:14px;background:#14161a;color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;white-space:nowrap}.store-badge .ms{font-size:22px;flex:none}.store-badge small{display:block;font-weight:400;font-size:.68rem;opacity:.8;white-space:nowrap}.lp-section{padding:4px}.lp-section-title{text-align:center;font-size:1.15rem;margin:0 0 16px;padding-bottom:12px;border-bottom:3px dotted var(--primary-light)}.lp-print-card{gap:16px;padding:18px;border-radius:20px;border:1px solid var(--border);background:var(--surface)}.lp-print-card,.lp-print-icon{display:flex;align-items:center}.lp-print-icon{flex:none;width:52px;height:52px;border-radius:16px;background:var(--primary-light);justify-content:center}.lp-print-icon .ms{font-size:26px;color:var(--primary)}.lp-plan-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border)}.lp-plan-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.86rem}.lp-plan-table td,.lp-plan-table th{padding:12px 14px;text-align:center;border-bottom:1px solid var(--divider);white-space:nowrap}.lp-plan-table th{background:var(--bg);font-weight:700}.lp-plan-table td:first-child{text-align:left;color:var(--text-secondary)}.lp-plan-table tr:last-child td{border-bottom:none}.lp-plan-yes .ms{color:var(--primary);font-size:20px}.lp-plan-no .ms{color:var(--text-tertiary);font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;border-radius:14px;border:1px solid transparent;font-weight:700;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--surface);color:var(--primary);border-color:var(--border)}.stack-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.stack-form input{flex:1 1 180px;min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:#fbfcfb}.item-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.item-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 13px;background:#fbfcfb;border-radius:14px;border:1px solid var(--divider)}.item-list .done{background:var(--primary-light);color:var(--primary)}.check-label{display:flex;align-items:center;gap:8px}.meta{font-size:.9rem;color:var(--text-secondary);margin-top:2px}.badge{padding:4px 8px;font-size:.78rem}.badge,.status-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--primary-light);color:var(--primary);font-weight:700}.status-pill{padding:8px 12px}.eyebrow{margin:0 0 4px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.panel-heading h2{margin:0;font-size:1.05rem}.share-box{padding:12px 14px;border-radius:14px;background:var(--primary-light);border:1px solid #d9f7e8;display:grid;grid-gap:6px;gap:6px}.share-label{font-size:.8rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}.share-link{font-size:.95rem;color:var(--text-primary);word-break:break-all}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .btn{flex:1 1 160px;min-width:0;white-space:nowrap}.helper-text{color:var(--text-secondary);font-size:.85rem;margin:0 0 8px}.skeleton{background:linear-gradient(90deg,var(--divider) 25%,var(--border) 37%,var(--divider) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.error-text{color:var(--error);font-size:.85rem;margin:0 0 8px}.markdown-body{font-size:.88rem;line-height:1.6;word-break:break-word}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body ol,.markdown-body ul{margin:0 0 8px;padding-left:20px}.markdown-body a{color:var(--primary)}.markdown-body code{background:var(--bg);border-radius:4px;padding:1px 4px;font-size:.85em}.markdown-body pre{background:var(--bg);border-radius:8px;padding:10px;overflow-x:auto}.auth-form{display:grid;grid-gap:12px;gap:12px}.auth-form input{min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:#fbfcfb}.auth-form label{display:grid;grid-gap:6px;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.dcform-field{display:flex;flex-direction:column;gap:8px}.dcform-label{font-weight:600;font-size:.82rem;color:var(--text-primary);display:flex;align-items:center;gap:6px}.dcform-badge-required{background:var(--error);color:#fff;font-size:.62rem;font-weight:700;padding:2px 6px;border-radius:5px}.dcform-badge-optional{color:var(--text-tertiary);font-size:.68rem;font-weight:500}.dcform-inp-box{display:flex;align-items:center;gap:8px}.dcform-inp-box,.dcform-input{min-height:52px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:0 14px}.dcform-input{width:100%;font-size:15px;color:var(--text-primary);font-family:inherit}.dcform-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,201,114,.12)}.dcform-bare-input{border:none;background:transparent;flex:1 1;font-size:15px;font-family:inherit;color:var(--text-primary);min-width:0}.dcform-bare-input:focus{outline:none}.dcform-chip{min-height:40px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:0 15px;border-radius:999px;background:var(--divider);color:var(--text-primary);font-weight:500;font-size:.8rem;border:none;cursor:pointer;flex:none;transition:transform .12s}.dcform-chip:active{transform:scale(.95)}.dcform-chip.sel{background:var(--primary);color:#fff;font-weight:700}.dcform-toolbar-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.dcform-toolbar-btn:active{background:var(--divider)}.dcform-locked-box{background:#f1f3f2;border:1px dashed #d0d5d2;border-radius:12px;padding:18px;display:flex;align-items:center;gap:12px;opacity:.85}.auth-providers{margin-top:16px;max-width:360px}.auth-divider{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--text-tertiary);font-size:.8rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--divider)}.auth-provider-block{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:10px}.apple-btn{width:100%;background:#000;color:#fff;gap:8px}.apple-btn:hover{background:#1a1a1a}.trip-card-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.trip-card{display:block;padding:16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:inherit}.trip-card-title{font-weight:700;font-size:1.05rem;margin-bottom:4px}.tab-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab-btn{padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-weight:600}.tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.mini-btn{padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);font-size:.8rem}.mini-btn.danger{color:var(--error);border-color:#f6cccc}.action-group{gap:6px}.action-group,.top-bar{display:flex;align-items:center}.top-bar{justify-content:space-between}.link-back{color:var(--text-secondary);text-decoration:none;font-size:.9rem}.subpage-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.subpage-header-action,.subpage-header-back{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-primary);text-decoration:none}.subpage-header-title{flex:1 1;min-width:0;text-align:center;font-size:1.05rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes screenIn{0%{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes riseIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.screen-enter{animation:screenIn .28s cubic-bezier(.22,.61,.36,1)}.rise-in{animation:riseIn .32s cubic-bezier(.22,.61,.36,1) both}.pop-in{animation:pop .32s cubic-bezier(.22,.61,.36,1) both}.pressable{transition:transform .12s ease,background-color .12s ease,opacity .12s ease}.pressable:active{transform:scale(.97)}.pressable-strong:active{transform:scale(.94)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:860px;margin:0 auto;background:var(--surface);border-top:1px solid var(--divider);display:flex;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:30}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--text-tertiary);text-decoration:none;font-size:.68rem;font-weight:600;transition:opacity .1s,color .12s}.bottom-nav-item:active{opacity:.5}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item .ms{font-size:24px;line-height:1}.sheet-overlay{position:fixed;inset:0;z-index:40;background:rgba(32,37,34,.5);animation:fadeIn .2s ease-out}.sheet-panel{position:fixed;left:0;right:0;bottom:0;z-index:41;max-width:860px;margin:0 auto;background:var(--surface);border-radius:24px 24px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(0,0,0,.2);animation:sheetUp .28s cubic-bezier(.22,.61,.36,1);max-height:min(88vh,88dvh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--border);margin:0 auto 16px}.sheet-title{font-weight:700;font-size:1.25rem}.sheet-subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.sheet-option{border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;text-decoration:none;color:inherit}.sheet-option.highlight{border:1.5px solid var(--primary);background:var(--primary-light)}.sheet-option-icon{width:48px;height:48px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;flex:none}.sheet-option-title{font-weight:700;font-size:.95rem}.sheet-option-meta{margin-top:2px}.sheet-note,.sheet-option-meta{font-size:.78rem;color:var(--text-secondary)}.sheet-note{align-items:center;gap:8px;margin-top:16px;background:#fef9ec;padding:10px 12px}.segmented,.sheet-note{display:flex;border-radius:12px}.segmented{background:var(--divider);padding:4px;gap:4px}.segmented-item{flex:1 1;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.82rem;color:var(--text-secondary);border:none;background:transparent}.segmented-item.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px rgba(0,0,0,.06);font-weight:700}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.chip-filter{flex:none;height:38px;display:flex;align-items:center;padding:0 16px;border-radius:999px;background:var(--divider);color:var(--text-primary);font-weight:500;font-size:.82rem;border:none;white-space:nowrap}.chip-filter.active{background:var(--primary);color:#fff;font-weight:700}.progress-track{height:8px;border-radius:999px;background:var(--divider);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.avatar,.avatar-stack{display:flex}.avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.68rem;margin-left:-8px}.avatar-lg,.avatar:first-child{margin-left:0}.avatar-lg{width:60px;height:60px;font-size:1.3rem}.fab{position:fixed;right:max(16px,calc((100vw - 860px) / 2 + 16px));bottom:calc(84px + env(safe-area-inset-bottom));height:52px;padding:0 20px;border-radius:999px;background:var(--primary);box-shadow:0 8px 20px rgba(0,201,114,.32);display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:.95rem;border:none;z-index:20}.fab-round{border-radius:18px;width:56px;height:56px;padding:0;justify-content:center}.fab-no-nav{bottom:calc(24px + env(safe-area-inset-bottom))}.timeline-row{display:flex;gap:12px}.timeline-time{width:52px;flex:none;text-align:right;padding-top:2px;font-weight:700;font-size:.85rem}.timeline-track{flex:none;display:flex;flex-direction:column;align-items:center;width:20px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--primary-light);flex:none}.timeline-line{width:2px;flex:1 1;background:var(--divider)}.timeline-card{flex:1 1;padding-bottom:16px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.feature-tile{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:16px;position:relative;text-decoration:none;color:inherit;display:block}.feature-tile .ms{font-size:26px;color:var(--primary)}.feature-tile-title{font-weight:700;font-size:.92rem;color:var(--text-primary);margin-top:10px}.feature-tile-meta{font-size:.76rem;color:var(--text-secondary);margin-top:2px}.feature-tile-dot{position:absolute;top:14px;right:14px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--error);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}.ms{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;display:inline-block;white-space:nowrap;vertical-align:middle}.image-placeholder{background:var(--divider);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:.78rem}.brand-title{font-family:Zen Kaku Gothic New,Noto Sans JP,sans-serif;font-weight:700}.premium-badge{background:var(--primary-light);color:var(--primary-pressed)}.lock-badge,.premium-badge{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:.72rem;padding:6px 10px;border-radius:999px}.lock-badge{background:#fef2f2;color:var(--error)}.print-page{max-width:720px;margin:0 auto;padding:24px 16px 64px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.print-header-mark{width:40px;height:40px;border-radius:14px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.print-day-section{background:var(--surface);border:1px solid var(--divider);border-radius:18px;padding:14px 16px 6px;margin:18px 0;page-break-inside:avoid;break-inside:avoid}.print-day-heading{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem;margin:0 0 12px;padding:5px 14px;border-radius:999px;background:var(--primary);color:#fff}.print-table{width:100%;border-collapse:collapse;font-size:.88rem}.print-table th{padding:6px;font-size:.74rem;color:var(--text-secondary);font-weight:600}.print-table td,.print-table th{text-align:left;border-bottom:1px solid var(--divider)}.print-table td{padding:9px 6px}.print-table tr:last-child td{border-bottom:none}.print-table tr:nth-child(2n) td{background:var(--bg)}.print-checklist{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.print-checklist li{display:flex;align-items:center;gap:8px;font-size:.88rem}.print-checklist .print-checkbox{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--primary);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff}.print-checklist .print-checkbox.done{background:var(--primary)}@media print{.no-print{display:none!important}body{background:#fff}.print-page{padding:0;max-width:none}.print-day-section,.print-table tr{page-break-inside:avoid;break-inside:avoid}}