:root{--navy:#0f1b2d;--navy-soft:#1b2c45;--ink:#14202e;--muted:#5b6b7c;--line:#e4e9ef;--bg:#ffffff;--bg-alt:#f6f8fb;--accent:#f0a020;--accent-deep:#d6850a;--radius:14px;--container:1080px;--font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}.site-header .container{justify-content:space-between;height:64px}.brand,.site-header .container{display:flex;align-items:center}.brand{gap:10px;font-weight:800;font-size:1.2rem;letter-spacing:.02em}.brand .mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--navy);color:var(--accent);font-size:1rem}.nav{display:flex;align-items:center;gap:28px;font-size:.92rem;color:var(--muted)}.nav a:hover{color:var(--ink)}.nav .btn{color:#fff}@media (max-width:720px){.nav .nav-link{display:none}}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;background:var(--navy);color:#fff;border:1px solid var(--navy);transition:transform .08s ease,background .2s ease}.btn:hover{transform:translateY(-1px);background:var(--navy-soft)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#2a1c00}.btn.accent:hover{background:var(--accent-deep)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--bg-alt)}.btn.danger{color:#c0392b}.btn.ghost.danger:hover{background:#fdecea;border-color:#e3a59d}.hero{background:radial-gradient(1100px 460px at 78% -8%,rgba(240,160,32,.16),transparent 60%),linear-gradient(180deg,#fbfcfe,#ffffff);border-bottom:1px solid var(--line)}.hero .container{padding-top:84px;padding-bottom:84px}.eyebrow{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.08em;color:var(--accent-deep);background:rgba(240,160,32,.12);padding:6px 14px;border-radius:999px;margin-bottom:22px}.hero h1{font-size:clamp(1.9rem,4.6vw,3.1rem);line-height:1.32;letter-spacing:.01em;margin:0 0 22px;font-weight:800}.hero h1 .hl{color:var(--accent-deep)}.hero p.lead{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--muted);max-width:640px;margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-note{margin-top:18px;font-size:.85rem;color:var(--muted)}section.block{padding:78px 0}section.block.alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{text-align:center;max-width:680px;margin:0 auto 48px}.section-head h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 14px;font-weight:800}.section-head p{color:var(--muted);margin:0}.problems{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.problem{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.problem .x{color:#c0392b;font-weight:800;margin-right:6px}.flow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px;counter-reset:step}.step{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px 22px}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--navy);color:var(--accent);font-weight:800;margin-bottom:14px}.step h3{font-size:1.05rem;margin:0 0 8px}.step p{color:var(--muted);font-size:.92rem;margin:0}.roles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.role{border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;background:var(--bg)}.role .tag{font-size:.8rem;font-weight:700;color:var(--accent-deep);letter-spacing:.05em}.role h3{margin:6px 0 14px;font-size:1.25rem}.role ul{margin:0;padding-left:0;list-style:none}.role li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--muted);font-size:.93rem}.role li:before{content:"";position:absolute;left:4px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.feature{padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg)}.feature h3{margin:0 0 8px;font-size:1.05rem}.feature p{margin:0;color:var(--muted);font-size:.92rem}.cta-band{background:var(--navy);color:#fff}.cta-band .container{padding:64px 24px;text-align:center}.cta-band h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 14px}.cta-band p{color:#aebccd;margin:0 0 28px}.site-footer{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:.85rem}.site-footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}@media (max-width:860px){.features,.flow,.problems,.roles{grid-template-columns:1fr}}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:linear-gradient(180deg,#fbfcfe,#f6f8fb)}.auth-card{width:100%;max-width:420px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;box-shadow:0 12px 40px -24px rgba(15,27,45,.4)}.auth-card .brand{justify-content:center;margin-bottom:8px}.auth-card h1{text-align:center;font-size:1.3rem;margin:0 0 6px}.auth-card .sub{font-size:.9rem;margin:0 0 24px}.auth-card .alt,.auth-card .sub{text-align:center;color:var(--muted)}.auth-card .alt{font-size:.88rem;margin-top:20px}.auth-card .alt a{color:var(--accent-deep);font-weight:700}.field{margin-bottom:16px}.field>label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}.field .hint{font-size:.78rem;color:var(--muted);margin:4px 0 0}.input,.select,.textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(240,160,32,.18)}.textarea{min-height:84px;resize:vertical}.checkbox{display:flex;align-items:center;gap:10px;font-size:.9rem}.checkbox input{width:16px;height:16px}.btn.block{width:100%;justify-content:center}.btn.sm{padding:7px 14px;font-size:.85rem}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.field-error{color:#c0392b;font-size:.78rem;margin:5px 0 0}.form-error{background:#fdf0ee;border:1px solid #f3c9c2;color:#a5311f;border-radius:10px}.form-error,.form-ok{padding:10px 13px;font-size:.85rem;margin-bottom:18px}.form-ok{background:#eef7f0;border:1px solid #c5e3cd;color:#1f7a3d;border-radius:10px}.turnstile-field{margin:16px 0}.app-nav{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}.app-nav .container{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}.app-nav .links{display:flex;align-items:center;gap:18px;font-size:.9rem;color:var(--muted)}.app-nav .links a:hover{color:var(--ink)}.app-main{max-width:880px;margin:0 auto;padding:36px 24px 80px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head h1{font-size:1.5rem;margin:0 0 4px}.page-head .crumb{font-size:.82rem;color:var(--muted);margin-bottom:8px}.page-head .crumb a{color:var(--accent-deep)}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:18px}.card h2{font-size:1.05rem;margin:0 0 14px}.card .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card .card-head h2{margin:0}.empty,.muted{color:var(--muted)}.empty{font-size:.9rem;padding:8px 0}.list{list-style:none;margin:0;padding:0}.list>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.list>li:first-child{border-top:none}.list .meta{font-size:.82rem;color:var(--muted)}.list .title{font-weight:700}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.03em}.badge.open{background:#eef7f0;color:#1f7a3d}.badge.locked{background:#fdf3e6;color:#b5740a}.badge.neutral{background:var(--bg-alt);color:var(--muted)}.code-box{background:var(--navy);color:#e8eef6;border-radius:10px;padding:14px 16px;font-size:.9rem;word-break:break-all}.code-box,.recovery-grid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px 18px;gap:8px 18px;font-size:.95rem;letter-spacing:.04em;margin:0;padding:16px;background:var(--bg-alt);border:1px dashed var(--line);border-radius:10px;list-style:none}.qr{display:block;width:196px;height:196px;margin:0 auto 12px;border:1px solid var(--line);border-radius:10px}.divider{height:1px;background:var(--line);border:0;margin:22px 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:560px){.grid-2,.recovery-grid{grid-template-columns:1fr}}.container.narrow{max-width:760px}.doc-shell{display:flex;flex-direction:column;min-height:100dvh}.doc-header{border-bottom:1px solid var(--line)}.doc-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}.doc{flex:1 0 auto;padding:32px 0 56px}.doc-body h1{font-size:1.6rem;margin:0 0 16px}.doc-body h2{font-size:1.15rem;margin:30px 0 10px}.doc-body h3{font-size:1rem;margin:18px 0 8px}.doc-body p{color:var(--ink);line-height:1.9;margin:0 0 12px}.doc-body ul{margin:0 0 14px;padding-left:1.3em;line-height:1.9}.doc-body li{margin:4px 0}.doc-body a{color:var(--accent-deep);text-decoration:underline}.doc-body .muted{margin-top:28px;font-size:.85rem}.def{display:grid;grid-template-columns:max-content 1fr;grid-gap:10px 22px;gap:10px 22px;margin:18px 0}.def dt{font-weight:700}.def dd,.def dt{color:var(--ink)}.def dd{margin:0;line-height:1.8}@media (max-width:560px){.def{grid-template-columns:1fr;gap:2px 0}.def dt{margin-top:12px}}.site-footer .container{flex-direction:column;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--ink)}.footer-meta{display:flex;flex-wrap:wrap;gap:16px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.app-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:28px;gap:28px;max-width:880px;margin:36px auto 4px}.app-shot{margin:0;text-align:center}.app-shot img{display:block;width:100%;height:auto;border-radius:22px;border:1px solid var(--line);box-shadow:0 16px 36px rgba(15,27,45,.12)}.app-shot figcaption{margin-top:12px;font-size:.9rem;color:var(--muted)}@media (max-width:720px){.app-shots{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68%;gap:16px;max-width:none;margin-inline:-20px;padding:4px 20px 8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.app-shot{scroll-snap-align:center}}.web-frame{max-width:940px;margin:32px auto 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:0 18px 44px rgba(15,27,45,.14)}.web-frame .bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:var(--bg-alt);border-bottom:1px solid var(--line)}.web-frame .bar i{width:11px;height:11px;border-radius:50%;background:#d6dbe2}.web-frame img{display:block;width:100%;height:auto}.web-cap{margin-top:14px;text-align:center;font-size:.9rem;color:var(--muted)}.mac-hero{margin:32px auto 18px;max-width:980px;text-align:center}.mac-hero img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 44px rgba(15,27,45,.14)}.mac-hero figcaption,.mac-shots figcaption{margin-top:12px;font-size:.9rem;color:var(--muted)}.mac-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:28px;gap:28px;max-width:980px;margin:0 auto 8px}.mac-shots figure{margin:0;text-align:center}.mac-shots img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 16px 36px rgba(15,27,45,.12)}#app-mac .features{margin-top:32px}.feature .tag{display:inline-block;margin-bottom:8px;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em}@media (max-width:720px){.mac-shots{grid-template-columns:none;gap:18px}}.flow-diagram{display:flex;align-items:center;justify-content:center;gap:0;max-width:940px;margin:36px auto 8px}.flow-node{flex:1 1;align-self:stretch;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px 18px;text-align:center;box-shadow:0 10px 26px rgba(15,27,45,.06)}.flow-node.center{border-color:var(--accent);box-shadow:0 14px 32px rgba(240,160,32,.18)}.flow-node .ic{width:56px;height:56px;margin:0 auto 12px;display:grid;place-items:center;border-radius:14px;background:var(--bg-alt);color:var(--ink)}.flow-node .ic svg{width:30px;height:30px}.flow-node.center .ic{background:var(--accent);color:#fff}.flow-node h3{margin:0 0 6px;font-size:1.05rem}.flow-node p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.7}.flow-node p .badge{display:inline-block;margin-top:8px;font-size:.72rem;color:var(--accent-deep);background:rgba(240,160,32,.12);border-radius:999px;padding:2px 9px}.flow-arrow{flex:0 0 auto;align-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px;color:var(--muted)}.flow-arrow span{font-size:.72rem}.flow-arrow svg{width:26px;height:26px}@media (max-width:720px){.flow-diagram{flex-direction:column;align-items:stretch;max-width:340px}.flow-arrow{flex-direction:row-reverse;gap:8px;padding:8px 0}.flow-arrow svg{transform:rotate(90deg)}}.event-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;max-width:960px;margin:32px auto 6px}.event-shot{margin:0}.event-shot img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px;border:1px solid var(--line);box-shadow:0 10px 26px rgba(15,27,45,.1)}.event-shot figcaption{margin-top:8px;text-align:center;font-size:.82rem;color:var(--muted)}@media (max-width:860px){.event-strip{grid-template-columns:1fr 1fr;gap:12px}}