:root{--blue: #1F4FD1;--blue-dark: #163A9C;--ink: #1A1A1A;--muted: #5C5C58;--line: #E4E4E0;--line-soft: #EFEFEC;--bg: #F6F6F4;--warn: #8A4B05;--ok: #1F7A4D;--danger: #B42318;font-family:Inter,Noto Sans JP,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--blue)}a:hover{color:var(--blue-dark)}button{font-family:inherit}.app-header{background:#fff;border-bottom:1px solid var(--line)}.app-header-inner{max-width:560px;margin:0 auto;padding:0 8px;display:flex;align-items:center;gap:4px;min-height:56px}.app-header-inner.spread{padding:0 16px;justify-content:space-between}.brand{font-weight:700;font-size:16px}.header-note{font-size:14px;color:var(--muted)}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;color:var(--ink)}.progress-strip{height:3px;background:#ededea}.progress-strip>div{height:3px;background:var(--blue)}.page{max-width:560px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:16px}.page.loose{gap:20px;padding-top:28px}.page h1{margin:0;font-size:24px}.sec{margin:0;font-size:13px;font-weight:600;color:var(--muted)}.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;border-radius:12px;font:600 16px/1 Inter,Noto Sans JP,sans-serif;border:1px solid #D4D4D0;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}a.btn-primary:hover{color:#fff;background:var(--blue-dark)}.btn-danger{color:var(--danger);border-color:#e8b4ae}.mini{min-height:40px;padding:0 12px;border-radius:8px;border:1px solid #D4D4D0;background:#fff;font:600 13px Inter,Noto Sans JP,sans-serif;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center}.link-btn{font-size:14px;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.choice{width:100%;text-align:left;display:block;padding:18px;background:#fff;border:1px solid #D4D4D0;border-radius:12px;cursor:pointer;font:inherit;color:var(--ink)}.choice[aria-pressed=true]{border:2px solid var(--blue);background:#f5f8ff;padding:17px}.choice-title{display:block;font-weight:700;font-size:17px}.choice-hint{display:block;font-size:14px;color:var(--muted);margin-top:4px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-grid .choice-title{font-size:18px}.choice-grid .choice-hint{font-size:13px}.stack{display:flex;flex-direction:column;gap:12px}.input{width:100%;min-height:52px;padding:12px 14px;border:1px solid #CFCFCA;border-radius:12px;font:400 16px Inter,Noto Sans JP,sans-serif;background:#fff;color:var(--ink)}.label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.help{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.6}.error{font-size:14px;color:var(--danger);line-height:1.6;margin:0}.check{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}.card:hover{color:var(--ink);border-color:#cfcfca}.card-body{flex:1 1 auto;min-width:0}.card-title{display:block;font-weight:600;overflow-wrap:anywhere}.card-sub{display:block;font-size:14px;color:var(--muted);margin-top:4px}.card-sub.warn{color:var(--warn)}.card-owner{display:block;font-size:12px;color:var(--muted);margin-top:2px}.seg-group{display:flex;gap:4px;padding:4px;background:#e9e9e5;border-radius:10px}.seg{flex:1 1 0;min-height:40px;border:0;border-radius:8px;font:600 14px Inter,Noto Sans JP,sans-serif;cursor:pointer;background:transparent;color:#4a4a46}.seg[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000001f}.panel{background:#fff;border:1px solid var(--line);border-radius:12px}.panel-pad{padding:18px}.box{padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:14px;word-break:break-all}details.fold{background:#fff;border:1px solid var(--line);border-radius:12px}details.fold>summary{cursor:pointer;min-height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;list-style:none}details.plain{border-top:1px solid var(--line);padding-top:4px}details.plain>summary{cursor:pointer;font-size:14px;font-weight:600;color:#3d3d3a;min-height:44px;display:flex;align-items:center}summary::-webkit-details-marker{display:none}.line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line-soft);font-size:14px}.line>span:first-child{min-width:0;overflow-wrap:anywhere}.muted{color:var(--muted)}.ok{color:var(--ok);font-weight:600}.warn{color:var(--warn)}.drop{border:2px dashed #C9C9C4;border-radius:12px;padding:32px 16px;text-align:center;background:#fafaf8;cursor:pointer;display:block}.drop.over{border-color:var(--blue);background:#f5f8ff}.drop:focus-within{outline:2px solid var(--blue);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bar{height:6px;background:#ededea;border-radius:3px;margin-top:10px}.bar>div{height:6px;background:var(--blue);border-radius:3px;transition:width .2s}.bar.thick,.bar.thick>div{height:8px;border-radius:4px}.row-between{display:flex;justify-content:space-between;gap:12px;font-size:14px}.done-mark{width:56px;height:56px;border-radius:28px;background:#e3f3ea;display:flex;align-items:center;justify-content:center}.guest-wrap{min-height:100vh;padding:32px 16px}.guest{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.guest-brand{font-weight:700;font-size:14px;color:var(--muted)}.guest-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:20px}.guest-card h1{margin:8px 0 0;font-size:24px;overflow-wrap:anywhere}.guest .btn{min-height:56px;font-size:17px}.guest details.plain .line{padding:10px 0;border-top:0}.center-note{font-size:13px;color:var(--muted);text-align:center;margin-top:-8px;line-height:1.6}.brand,.guest-brand{display:flex;align-items:center;gap:10px}.brand img,.guest-brand img{display:block;object-fit:contain;flex-shrink:0}
