:root{--ink:#192732;--muted:#566b7a;--blue:#135dea;--line:#dce4ec;--paper:#f5f7fa;--card:#fff;--teal:#0c7565;--radius:20px;--font:Segoe UI,Yu Gothic UI,Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);line-height:1.8}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffb21a;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px}.skip:focus{top:12px;background:white;padding:10px;z-index:20}
.container{max-width:1150px;margin:auto;padding:0 30px}.preview{padding:6px 20px;background:#e8efff;color:#315083;font-size:12px;text-align:center;letter-spacing:.03em}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:800;line-height:1.2;letter-spacing:.04em}.brand:hover{text-decoration:none}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-top:6px;letter-spacing:.08em}.brand-symbol{display:grid;place-items:center;background:var(--ink);color:#93d6ff;width:43px;height:43px;border-radius:12px;font-size:28px;font-weight:900}.nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:650}.nav a{color:var(--ink)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:70px 0 56px}.eyebrow{font-size:12px;color:var(--blue);letter-spacing:.08em;font-weight:800;margin:0 0 14px}.hero h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.03em;line-height:1.5;margin:0 0 22px}.hero p{max-width:540px;color:var(--muted);font-size:16px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:10px 23px;border:1px solid var(--blue);border-radius:10px;font-weight:700;font-size:14px;background:var(--blue);color:white;cursor:pointer}.button:hover{text-decoration:none;background:#064aca}.button.secondary{color:var(--ink);background:white;border-color:var(--line)}.button.secondary:hover{background:#eef3fa}
.hero-card{padding:30px;background:#192a3c;color:white;border-radius:25px;box-shadow:0 20px 45px #163b6020;position:relative;overflow:hidden}.hero-card:before{content:'';width:160px;height:160px;position:absolute;right:-80px;top:-85px;background:#85cfff22;border-radius:50%}.hero-card .eyebrow{color:#91cff6}.hero-card h2{font-size:19px;line-height:1.5;margin:10px 0 30px}.price-row{margin:15px 0}.price-label{display:flex;justify-content:space-between;gap:15px;font-size:13px}.price-label strong{font-size:20px;letter-spacing:.01em}.price-bar{height:8px;background:#527897;border-radius:10px;margin-top:9px}.price-bar.short{width:88%;background:#83cfec}.hero-card .note{color:#bdcfdd;font-size:12px;margin:24px 0 0;line-height:1.7}.difference{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #537082;margin-top:26px;padding-top:18px}.difference strong{color:#9cddf3;font-size:26px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:24px 0}.section-head h2{font-size:24px;margin:0}.section-head span{color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #1238550c}.card .tag{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--blue)}.card h3{font-size:19px;line-height:1.65;margin:7px 0}.card p{color:var(--muted);font-size:14px;margin:0 0 12px}.card a{margin-top:auto;font-size:14px;font-weight:700}.principles{background:#edf2f7;border-radius:20px;padding:26px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0 0 60px}.principles h3{font-size:15px;margin:0 0 7px}.principles p{font-size:13px;color:var(--muted);margin:0}
.breadcrumbs{font-size:12px;color:var(--muted);padding-top:26px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:50px;padding:32px 0 70px}.article h1{font-size:clamp(26px,3vw,35px);line-height:1.6;margin:12px 0 22px;letter-spacing:-.02em}.lead{font-size:17px;line-height:1.9}.meta{font-size:12px;color:var(--muted)}.callout{background:#eaf1ff;border-left:4px solid var(--blue);padding:17px 22px;border-radius:0 12px 12px 0;font-size:14px;margin:25px 0}.callout p{margin:3px 0}.callout.warning{background:#fff4dc;border-color:#bd7c0c}.article h2{font-size:23px;line-height:1.6;margin:44px 0 16px;padding-top:5px}.article h3{font-size:18px;margin-top:28px}.article p{margin:15px 0;font-size:16px}.article li{margin:9px 0}.table-scroll{overflow-x:auto;margin:24px 0;border:1px solid var(--line);border-radius:12px;background:white}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#edf2f8;font-weight:700}tr:last-child td{border-bottom:0}.toc{position:sticky;top:24px;align-self:start;font-size:13px;border-left:1px solid var(--line);padding-left:22px}.toc strong{display:block;margin-bottom:14px}.toc a{display:block;color:var(--muted);line-height:1.6;margin:12px 0}.sources{padding:24px;background:#edf2f7;border-radius:16px;font-size:13px;margin-top:42px}.sources h2{font-size:18px;margin:0 0 10px}.sources li{font-size:13px;word-break:break-word}.editorial{font-size:13px;color:var(--muted)}
.tool-wrap{max-width:850px;margin:42px auto 70px}.tool-wrap h1{font-size:32px;line-height:1.6;margin:10px 0 18px}.tool-card{background:white;border:1px solid var(--line);border-radius:20px;padding:30px;margin-top:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-weight:700;font-size:14px;margin-bottom:9px}input[type=number],select{width:100%;padding:12px 14px;border:1px solid #bccbda;border-radius:9px;background:white;color:var(--ink)}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.result-card{background:#f0f4f8;border-radius:14px;padding:22px}.result-card.best{background:#e8f3f1;border:1px solid #afcfc8}.result-label{font-size:13px;color:var(--muted)}.result-number{font-size:30px;font-weight:850;line-height:1.5;letter-spacing:-.02em}.result-card small{display:block;color:var(--muted);font-size:12px}.summary{margin:25px 0 0;padding:18px 20px;background:#edf3ff;border-radius:13px}.error{color:#a22622;min-height:24px;font-size:13px}.choice-result{margin-top:26px;background:#edf3ff;border-radius:13px;padding:23px}.choice-result h2{font-size:21px;margin:0 0 15px}.footer{border-top:1px solid var(--line);padding:28px 0;background:white;font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer a{color:var(--muted)}
.puzzle-site{--ink:#173b36;--muted:#5c6e65;--blue:#186d58;--paper:#f7f5ef;--line:#dedfd3}.puzzle-site .brand-symbol{background:#e7ad45;color:#173b36}.puzzle-site .hero h1{font-family:Georgia,serif;line-height:1.25;letter-spacing:-.04em;font-size:52px}.puzzle-site .eyebrow{color:#956717}.puzzle-art{min-height:360px;background:#dceadd;position:relative;border-radius:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}.puzzle-art svg{width:88%;max-height:320px}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.pill{background:#e7eee4;border-radius:30px;padding:6px 13px;font-size:12px;font-weight:700}.puzzle-site .hero-card{background:#184e42}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:45px}.step{padding:25px;background:white;border:1px solid var(--line);border-radius:18px}.step .number{font-size:12px;font-weight:800;color:#976821}.step h3{font-size:20px;margin:8px 0}.step p{font-size:14px;color:var(--muted)}
@media(max-width:900px){.hero{gap:30px;padding:45px 0}.article-layout{grid-template-columns:1fr;gap:0}.toc{position:static;grid-row:1;border-left:0;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px}.toc a{display:inline-block;margin:5px 12px 5px 0}.nav{gap:15px;font-size:12px}.hero-card{padding:24px}.cards{gap:14px}.card{padding:20px}.card h3{font-size:17px}}
@media(max-width:650px){.container{padding:0 20px}.header-inner{min-height:108px;align-items:flex-start;justify-content:center;flex-direction:column;gap:12px;padding-top:16px;padding-bottom:16px}.brand-symbol{height:34px;width:34px;font-size:23px}.brand{font-size:14px}.brand small{font-size:9px}.nav{gap:23px}.hero{grid-template-columns:1fr;gap:27px;padding:36px 0 28px}.hero h1{font-size:31px;line-height:1.5}.hero p{font-size:14px}.hero-card h2{margin-bottom:24px}.cards,.principles,.steps{grid-template-columns:1fr}.principles{gap:22px;padding:24px}.section-head{align-items:flex-start;flex-direction:column;gap:5px}.section-head h2{font-size:21px}.card h3{font-size:20px}.form-grid{grid-template-columns:1fr;gap:20px}.tool-wrap{margin-top:30px}.tool-wrap h1{font-size:27px}.tool-card{padding:23px 18px}.result-grid{grid-template-columns:1fr}.result-number{font-size:29px}.article-layout{padding-top:20px}.article p{font-size:15px}.article h2{font-size:21px}.table-scroll table{min-width:500px}.footer-inner{flex-direction:column;gap:12px}.puzzle-site .hero h1{font-size:44px}.puzzle-art{min-height:290px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.article-figure{margin:30px 0}.article-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:14px;background:white}.article-figure figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:9px}

.card .card-picture{display:block;margin:-27px -27px 13px;border-radius:20px 20px 0 0;overflow:hidden;background:#f0f4f8}.card-picture img{display:block;width:100%;height:auto;aspect-ratio:1200/660;object-fit:cover}.card:hover .card-picture img{opacity:.97}@media(max-width:900px){.card .card-picture{margin:-20px -20px 12px}}

.card-picture{position:relative}.picture-headline{position:absolute;bottom:0;left:0;right:0;padding:20px 16px 13px;background:linear-gradient(transparent,#12263be8);color:white;font-size:18px;font-weight:700;line-height:1.6}.puzzle-site{--paper:#f4f7f6}.puzzle-art{background:#e3eeea}

/* Editorial refresh: restrained identity, comfortable Japanese reading. */
body:not(.puzzle-site){--paper:#f8fafc;--ink:#142b43;--muted:#52677d;--blue:#135ec7;--line:#dce5ee}
body:not(.puzzle-site) .site-header{background:#ffffffed;border-bottom:1px solid var(--line)}
.brand-symbol svg{width:37px;height:37px;display:block}
body:not(.puzzle-site) .brand-symbol{width:48px;height:48px;border-radius:13px;background:#152f49;box-shadow:0 5px 15px #142b4310}
body:not(.puzzle-site) .brand{font-size:17px;letter-spacing:.045em;gap:13px}
body:not(.puzzle-site) .brand small{font-size:10px;letter-spacing:.08em;font-weight:500;margin-top:3px}
body:not(.puzzle-site) .nav a{padding:10px 0;color:#38516b;font-weight:700;border-bottom:2px solid transparent}
body:not(.puzzle-site) .nav a:hover{border-color:#267bba;text-decoration:none}
.home-hero{position:relative;padding:72px 0 58px;gap:60px;grid-template-columns:minmax(0,1fr) minmax(350px,450px)}
.home-hero:before{content:'';position:absolute;z-index:-1;inset:-5px -30px 0 -60px;background:radial-gradient(ellipse at 12% 40%,#e6f0fc88,transparent 68%);pointer-events:none}
.hero-copy .eyebrow{font-size:10px;letter-spacing:.17em;display:flex;align-items:center;gap:11px;color:#335b82}
.eyebrow-line{height:2px;width:30px;background:#2882a7}
.home-hero h1{font-size:clamp(32px,3.9vw,46px);font-weight:800;line-height:1.65;letter-spacing:-.025em;margin:21px 0 23px}
.home-hero .hero-intro{font-size:16px;line-height:2.05;color:#4f657c;margin:0}
.home-hero .actions{margin-top:29px;gap:12px}
.button{min-height:48px;border-radius:9px;box-shadow:0 3px 8px #15376408}
.button span{font-size:19px;line-height:1}
.hero-proof{display:flex;flex-wrap:wrap;gap:20px;margin-top:36px;color:#526b82;font-size:11px}
.hero-proof span{display:flex;gap:8px;align-items:center}
.hero-proof i{font-size:10px;font-style:normal;letter-spacing:.04em;color:#168096;font-weight:800;border-right:1px solid #b8ccd9;padding-right:8px}
.home-hero .hero-card{border-radius:23px;padding:26px 29px;background:linear-gradient(135deg,#183b57,#102739);box-shadow:0 18px 40px #163b6020;border:1px solid #2c4b62}
.hero-card:before{width:240px;height:240px;right:-170px;top:-100px;background:#70c7de14}
.price-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price-card-top .eyebrow{font-size:9px;letter-spacing:.13em;margin:0}
.motion-toggle{border:0;padding:4px 0;background:none;color:#b5cadb;font-size:10px;cursor:pointer;white-space:nowrap}
.motion-toggle:hover{color:white}
.app-heading{display:flex;align-items:center;gap:14px;min-height:61px;margin-top:24px;position:relative}
.app-monogram{height:49px;width:49px;display:grid;place-items:center;flex:none;background:#193e60;color:#a2daf9;border:1px solid #3d7297;border-radius:11px;font-size:23px;font-weight:700}
.app-context{font-size:10px;color:#b2c6d5;display:block}
.hero-card .app-heading h2{font-size:24px;line-height:1.4;margin:3px 0 0;letter-spacing:-.02em;color:white}
.slide-count{margin-left:auto;font-size:10px;letter-spacing:.09em;color:#b2c6d5;white-space:nowrap}
.hero-card .card-subtitle{font-size:11px;color:#c2d4e1;line-height:1.8;margin:15px 0 21px}
.price-panel{min-height:183px}
.price-row{margin:17px 0}
.price-label{align-items:center;font-size:11px;gap:10px}
.price-label span small{display:block;color:#92acc0;font-size:9px;margin-top:1px}
.price-label strong{font-size:22px;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-bar{height:5px;margin-top:8px;background:#4a6982}
.price-bar.short{background:#7fcddd}
.difference{margin-top:21px;padding-top:15px;border-color:#47617a}
.difference span{font-size:12px}
.difference small{font-size:9px;display:block;color:#a9c1d1}
.difference strong{font-size:32px;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:#a1e8ee}
.app-tabs{display:flex;gap:7px;margin-top:21px;flex-wrap:wrap}
.app-tab{color:#c3d6e4;background:#ffffff08;border:1px solid #ffffff24;padding:6px 10px;border-radius:6px;font-size:10px;cursor:pointer}
.app-tab[aria-pressed=true]{background:#d8f4f4;color:#173b4a;border-color:#d8f4f4;font-weight:700}
.app-tab:hover{border-color:#b4dce6}
.hero-card .note{font-size:10px;line-height:1.85;color:#b4c9d9;margin-top:16px;min-height:38px}
.price-source{display:inline-block;font-size:10px;color:#addce9;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.price-source:hover{color:white}
.edition-strip{display:flex;align-items:center;gap:25px;padding:17px 0;border-top:1px solid #cedae6;border-bottom:1px solid #cedae6;margin-bottom:50px}
.edition-strip>span{font-size:10px;letter-spacing:.12em;font-weight:800;white-space:nowrap}
.edition-strip b{background:#183952;color:white;border-radius:4px;display:inline-block;padding:2px 5px;margin-left:8px;font-size:9px}
.edition-strip p{font-size:12px;color:var(--muted);margin:0}
.edition-strip a{margin-left:auto;font-size:11px;white-space:nowrap;color:var(--ink);font-weight:700}
.guide-section .section-head{margin-bottom:27px}
.guide-section .section-head .eyebrow{font-size:9px;letter-spacing:.13em;margin:0 0 9px}
.guide-section .section-head h2{font-size:25px;line-height:1.65}
.card{border-radius:16px;padding:25px;gap:8px;box-shadow:0 4px 12px #153b6204}
.card .card-picture{margin:-25px -25px 15px;border-radius:15px 15px 0 0}
.card h3{font-size:18px;line-height:1.8;font-weight:750;margin:3px 0 10px}
.card p{font-size:13px;line-height:1.95;margin-bottom:17px}
.card>a:last-child{padding-top:14px;border-top:1px solid #e5ecf3;font-size:12px}
.principles{padding:29px 30px;border-radius:14px;background:#eaf0f6;border:1px solid #dce5ef}
.principle-number{display:block;color:#35617f;font-size:9px;letter-spacing:.09em;font-weight:700;margin-bottom:12px}
.principles h3{font-size:16px;margin-bottom:10px}
.principles p{font-size:12px;line-height:1.9}
.article-layout{grid-template-columns:minmax(0,710px) minmax(190px,240px);justify-content:space-between;gap:60px;padding-top:38px}
.article-header .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:13px}
.article h1{font-size:clamp(27px,3vw,34px);line-height:1.75;margin:12px 0 24px}
.article .meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#62778c;font-size:10px;margin:0 0 26px}
.article .meta>span:last-child{padding-left:11px;border-left:1px solid #c4d4e2}
.byline-mark{display:grid;place-items:center;width:24px;height:24px;background:#193852;color:white;border-radius:7px;font-size:12px;font-weight:700}
.article p{font-size:16px;line-height:2.05;letter-spacing:.012em;margin:0 0 25px;overflow-wrap:break-word}
.article .lead{font-size:16px;line-height:2.1;color:#51677c;margin-bottom:0;letter-spacing:.025em}
.article-figure{margin:32px 0 44px}
.article-figure img{border-radius:12px}
.article-figure figcaption{font-size:11px;line-height:1.85;padding:0 2px}
.article-body section{margin-bottom:49px}
.article-body section h2{font-size:23px;line-height:1.8;font-weight:750;margin:0 0 25px;padding:19px 0 0;border-top:2px solid #cbdbe8;scroll-margin-top:25px;letter-spacing:.01em}
.article-body section:first-child h2{border-top-color:#287aab}
.article-body section p:last-child{margin-bottom:0}
.article li{font-size:15px;line-height:2;margin:12px 0;padding-left:3px}
.article ul{padding-left:23px;margin:15px 0 26px}
.article-body p a,.article-body li a{color:#1760a6;text-decoration:underline;text-decoration-color:#abc7df;text-underline-offset:4px}
.article .table-scroll{margin:26px 0 30px;border-radius:10px}
.article th,.article td{font-size:13px;line-height:1.9;padding:15px 18px}
.article th{background:#edf3f9}
.toc{border:1px solid var(--line);border-radius:12px;padding:20px 18px;background:#fff;top:25px;font-size:12px}
.toc summary{font-weight:750;font-size:12px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:8px}
.toc summary:after{content:'−';color:#4d7b9c}
.toc details:not([open]) summary:after{content:'+'}
.toc summary::-webkit-details-marker{display:none}
.toc ol{padding-left:19px;margin:14px 0 0}
.toc li{padding-left:3px;margin:13px 0;color:#65819a;line-height:1.65}
.toc a{margin:0;line-height:1.8;color:#4f667b;font-size:11px}
.reading-note{padding:19px 21px;background:#eef3f7;border-radius:10px;border:1px solid #dce5ed;margin-top:36px}
.reading-note strong{font-size:12px;display:block;margin-bottom:10px;color:#38546e}
.article .reading-note p{font-size:12px;line-height:1.9;color:#516b81;margin-bottom:9px}
.article .reading-note p:last-child{margin:0}
.article .sources{margin-top:24px;border-radius:10px;padding:21px;background:#f0f4f8}
.article .sources h2{font-size:15px;line-height:1.7;margin:0 0 13px;padding:0}
.article .sources ul{margin:0;padding-left:20px}
.article .sources li{font-size:11px;line-height:1.9;margin:10px 0}
:focus-visible{outline:3px solid #27a6c3;outline-offset:4px}
@media(max-width:1000px){.home-hero{gap:35px;grid-template-columns:minmax(0,1fr) minmax(320px,410px)}.home-hero h1{font-size:35px}.home-hero .hero-card{padding:24px}.article-layout{gap:35px;grid-template-columns:minmax(0,1fr) 210px}.card{padding:20px}.card .card-picture{margin:-20px -20px 14px}}
@media(max-width:900px){.article-layout{grid-template-columns:minmax(0,1fr);max-width:710px;margin:0 auto}.toc{grid-row:auto;position:static;margin-top:0;margin-bottom:0;order:2}.toc a{display:block;margin:0}.toc li{margin:8px 0}.toc ol{margin-top:13px}.article-body section{margin-bottom:44px}}
@media(max-width:730px){.home-hero{grid-template-columns:1fr;padding-top:40px;gap:32px}.home-hero h1{font-size:36px}.home-hero .hero-card{max-width:500px;width:100%;justify-self:center}.hero-proof{margin-top:23px}.edition-strip{flex-wrap:wrap;gap:10px 18px;margin-bottom:31px}.edition-strip p{order:3;width:100%}.edition-strip a{margin-left:auto}.guide-section .section-head h2{font-size:22px}.cards{grid-template-columns:1fr}.card h3{font-size:20px}.card .card-picture{max-height:280px}.card-picture img{height:100%;object-fit:cover}}
@media(max-width:650px){body:not(.puzzle-site) .brand{font-size:15px}body:not(.puzzle-site) .brand small{font-size:9px}.container{padding:0 22px}.home-hero h1{font-size:31px;line-height:1.65}.home-hero .hero-intro{font-size:14px;line-height:2}.desktop-break{display:none}.home-hero .actions{flex-wrap:wrap}.home-hero .button{font-size:12px;padding:11px 14px;min-height:44px}.home-hero .hero-card{padding:24px 21px;border-radius:18px}.hero-card .app-heading h2{font-size:22px}.price-label strong{font-size:21px}.hero-proof{gap:15px}.hero-proof span{font-size:10px}.article h1{font-size:26px;line-height:1.75;letter-spacing:0}.article p{font-size:16px;line-height:2.05;margin-bottom:24px}.article .lead{font-size:15px;line-height:2}.article-layout{padding-top:25px;padding-bottom:45px;gap:30px}.article-body section h2{font-size:21px;line-height:1.75;padding-top:19px;margin-bottom:23px}.article-body section{margin-bottom:41px}.article li{font-size:15px}.article .table-scroll table{min-width:510px}.article-figure{margin-top:26px;margin-bottom:34px}.principles{padding:26px;gap:27px}.footer{padding:25px 0}.breadcrumbs{font-size:11px}.picture-headline{font-size:19px}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-card,.card{animation:none!important;transform:none!important}}

/* App-specific accents share the same type scale and contract comparison. */
.hero-card[data-current-app]{--app-accent:#b8b5ff;--app-dim:#7976b0;--app-monogram:#302e60;--app-rule:#77739566}
.home-hero .hero-card[data-current-app=premiere]{background:linear-gradient(140deg,#24445d,#182b40);border-color:#466a83;--app-accent:#b5d9f0;--app-dim:#6f97ad;--app-monogram:#28485e;--app-rule:#7b9dad55}
.hero-card[data-current-app=photoshop]{--app-accent:#9bd9ff;--app-dim:#588fac;--app-monogram:#143e5c;--app-rule:#639aba66}
.home-hero .hero-card[data-current-app=photoshop]{background:linear-gradient(140deg,#163f5b,#132a3e);border-color:#3c6682}
.hero-card[data-current-app=illustrator]{--app-accent:#ffc894;--app-dim:#ac8162;--app-monogram:#52352a;--app-rule:#bc947966}
.home-hero .hero-card[data-current-app=illustrator]{background:linear-gradient(140deg,#493344,#24293c);border-color:#725457}
.hero-card[data-current-app]:before{width:225px;height:225px;right:-95px;top:-80px;border-radius:50%;background:none;border:28px solid var(--app-rule);opacity:.45}
.hero-card[data-current-app=photoshop]:before{width:190px;height:190px;right:-65px;top:-75px;border-radius:22px;transform:rotate(-18deg);border-width:1px;background:repeating-linear-gradient(0deg,transparent 0 27px,var(--app-rule) 27px 28px),repeating-linear-gradient(90deg,transparent 0 27px,var(--app-rule) 27px 28px);opacity:.5}
.hero-card[data-current-app=illustrator]:before{width:230px;height:170px;right:-140px;top:-80px;border-radius:55% 45% 58% 42%;border-width:1px;box-shadow:0 0 0 18px var(--app-rule),0 0 0 36px var(--app-rule);transform:rotate(-30deg);opacity:.25}
.hero-card[data-current-app] .app-monogram{color:var(--app-accent);background:var(--app-monogram);border-color:var(--app-dim)}
.hero-card[data-current-app] .price-bar{background:var(--app-dim)}
.hero-card[data-current-app] .price-bar.short{background:var(--app-accent)}
.hero-card[data-current-app] .difference strong,.hero-card[data-current-app] .price-source{color:var(--app-accent)}
.hero-card[data-current-app] .app-tab[aria-pressed=true]{background:var(--app-accent);border-color:var(--app-accent);color:#172939}
.hero-card[data-current-app] .price-card-top .eyebrow{color:var(--app-accent)}

/* Neutral comparison interface. Text marks below are editorial abbreviations, not product logos. */
.independent-label{font-size:11px;color:#526b82;margin-top:21px;line-height:1.8}
.publication-notices{border-top:1px solid #d2dfeb;margin-top:22px;padding-top:17px;font-size:10px;color:#526a80;line-height:1.9;overflow-wrap:break-word}
.publication-notices p{margin:0 0 8px}.publication-notices p:nth-child(2){font-weight:700;letter-spacing:.025em}
.editor-spotlight .app-heading h2{font-size:21px}
.editor-spotlight .spotlight-version{font-size:10px;color:#c9dcea;margin:8px 0 15px}
.spotlight-panel{min-height:215px}
.editor-spotlight .spotlight-price{font-size:14px;line-height:1.8;color:#f1f7fa;margin:0 0 7px}
.editor-spotlight .spotlight-platforms{font-size:10px;color:#c7ddeb;margin:0 0 15px}
.spotlight-feature{display:grid;grid-template-columns:1fr auto;gap:3px 12px;border-top:1px solid #ffffff22;padding:10px 0}
.spotlight-feature>span{font-size:11px;color:#d0e1ea}.spotlight-feature>strong{font-size:11px;color:var(--app-accent)}
.spotlight-feature p{grid-column:1/-1;font-size:10px;color:#bfd0df;line-height:1.8;margin:0}
.spotlight-feature details{grid-column:1/-1}.spotlight-feature summary{font-size:9px;cursor:pointer;color:#bdd2e0}.spotlight-feature details p{margin:7px 0 0}
.spotlight-compare{display:block;color:#e5f4fa;font-size:11px;margin-top:12px}
.hero-card[data-current-app=resolve]{--app-accent:#9febd6;--app-dim:#528e84;--app-monogram:#18423f;--app-rule:#76b7a966}
.home-hero .hero-card[data-current-app=resolve]{background:linear-gradient(140deg,#214c46,#172d3c);border-color:#42786d}
.hero-card[data-current-app=final-cut-pro]{--app-accent:#dbbeff;--app-dim:#9d7ba8;--app-monogram:#403051;--app-rule:#ad90ba66}
.home-hero .hero-card[data-current-app=final-cut-pro]{background:linear-gradient(140deg,#3c4455,#252f43);border-color:#677889;--app-accent:#c9d6e6;--app-monogram:#354656}
.hero-card[data-current-app=capcut]{--app-accent:#e5edf4;--app-dim:#8396a6;--app-monogram:#293848;--app-rule:#a3b2bf55}
.home-hero .hero-card[data-current-app=capcut]{background:linear-gradient(140deg,#3c3f56,#232b40);border-color:#636981;--app-accent:#d4d4ee;--app-monogram:#3a405c}
.hero-card[data-current-app=filmora]{--app-accent:#a2eef2;--app-dim:#52969c;--app-monogram:#17444b;--app-rule:#84c0c766}
.home-hero .hero-card[data-current-app=filmora]{background:linear-gradient(140deg,#483b54,#282b42);border-color:#75647c;--app-accent:#e1cfe8;--app-monogram:#4b3c57;--app-rule:#a389aa44}
.hero-card[data-current-app=powerdirector]{--app-accent:#b2d3ff;--app-dim:#6585ad;--app-monogram:#274569;--app-rule:#839abf66}
.home-hero .hero-card[data-current-app=powerdirector]{background:linear-gradient(140deg,#2d466a,#182b44);border-color:#526b9a}
.software-section{margin:0 0 58px}.software-section .eyebrow{font-size:9px;margin-bottom:8px}
.software-section h2{font-size:24px;line-height:1.7}
.software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.software-tile{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;color:var(--ink);min-width:0}
.software-tile:hover{border-color:#76a5c7;text-decoration:none;background:#f6fafe}
.software-tile>span:last-child{margin-left:auto;color:#6d8ca3}.software-tile h3{font-size:14px;margin:0;line-height:1.65}.software-tile p{font-size:10px;color:var(--muted);margin:4px 0 0}
.software-mark{display:grid;place-items:center;background:#edf2f7;color:#41627d;border:1px solid #d7e1ea;border-radius:10px;width:38px;height:38px;font-size:13px;font-weight:700;flex:none}
.software-mark[data-software=premiere]{background:#e8eff5;color:#456f8b}.software-mark[data-software=resolve]{background:#e4f2ee;color:#2e7365}.software-mark[data-software=final-cut-pro]{background:#ebeff3;color:#576c82}.software-mark[data-software=filmora]{background:#f0eaf2;color:#785f82}
.software-section>.meta{margin-top:19px;font-size:12px;line-height:1.9}
.comparison-main{padding-bottom:60px}.comparison-header{padding:35px 0 31px;max-width:780px}
.comparison-header h1{font-size:36px;line-height:1.7;margin:17px 0}.comparison-header>p{line-height:1.95}
.comparison-disclosure{font-size:12px;color:#597087;border-left:3px solid #94b3ca;padding-left:15px;margin-top:20px}
.comparison-controls{background:#fff;border:1px solid var(--line);border-radius:15px;padding:27px;margin-bottom:36px}
.comparison-controls h2,.comparison-results h2{font-size:22px}.comparison-controls .section-head{align-items:center}
.platform-filter{display:flex;gap:15px;align-items:center;font-size:13px;margin:18px 0}
.platform-filter select{max-width:230px}.catalog-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.catalog-option{display:flex;align-items:flex-start;gap:9px;padding:13px;background:#f5f8fb;border:1px solid #dce5ef;border-radius:9px;cursor:pointer;min-width:0}
.catalog-option:has(input:checked){background:#eaf3fa;border-color:#6698bd}.catalog-option input{margin:4px 0 0;accent-color:#246e9d;width:16px;height:16px;flex:none}
.catalog-option strong{font-size:13px;display:block;line-height:1.7}.catalog-option small{font-size:11px;display:block;color:#5b7388;line-height:1.8;margin-top:3px}
.comparison-controls>.meta{font-size:12px;line-height:1.9;margin:18px 0 0}
.catalog-picker>summary{font-size:13px;color:#24597e;cursor:pointer;line-height:1.9;padding:12px 14px;background:#eef4f9;border-radius:8px}.catalog-picker[open]>summary{margin-bottom:20px}
.comparison-focus-note{padding:13px 16px;border:1px solid #bdd5e2;border-radius:9px;background:#edf6fa;font-size:12px;line-height:1.9;color:#335b70}.comparison-focus-note[hidden]{display:none}.comparison-focus-note button{margin-left:12px;font-size:11px;padding:4px 8px;border:1px solid #abc6d5;border-radius:5px;background:white;color:#285d7d;cursor:pointer}.comparison-filters input[type=search]{display:block;border:1px solid #bccbda;background:#fff;border-radius:9px;padding:12px 14px;line-height:1.8;color:var(--ink);font:inherit}.comparison-filters select{font-size:12px}
.comparison-filters{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:22px 0}
.comparison-filters label{font-size:12px;display:block}.comparison-filters input[type=search],.comparison-filters select{margin-top:6px;min-width:210px}
.comparison-filters .difference-filter{display:flex;align-items:center;gap:7px;padding-bottom:12px}.difference-filter input{width:16px;height:16px;accent-color:#246e9d}
.comparison-legend{font-size:11px;color:#47617a;line-height:2.7}.feature-badge{font-size:11px;font-weight:700;border-radius:5px;display:inline-block;padding:2px 7px;line-height:1.6;background:#edf2f7;color:#536b7e}
.feature-badge.yes{background:#e5f3ee;color:#216f59}.feature-badge.no{background:#f4eaee;color:#865062}.feature-badge.conditional{background:#e8effa;color:#375e90}.feature-badge.unknown{background:#edf0f3;color:#61717e}
.comparison-caption{font-size:12px;color:#597187;line-height:1.9;margin:14px 0}
.comparison-table-wrap{overflow:auto;border:1px solid #cddce7;border-radius:12px;background:white;max-height:76vh;scrollbar-color:#91adc3 #ecf1f6}
.comparison-table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin:0}
.comparison-table-wrap th,.comparison-table-wrap td{width:245px;min-width:245px;padding:17px 18px;border-right:1px solid #e1e9f0;border-bottom:1px solid #e1e9f0;vertical-align:top;font-size:12px;line-height:1.9}
.comparison-table-wrap th:first-child{width:180px;min-width:180px;position:sticky;left:0;z-index:1;background:#f1f5f9;font-size:12px}
.comparison-table-wrap thead th{position:sticky;top:0;z-index:2;background:#eaf1f7}.comparison-table-wrap thead th:first-child{z-index:3}
.comparison-table-wrap th strong{font-size:14px;display:block}.comparison-table-wrap th small{font-size:11px;font-weight:500;color:#4e667a;display:block;line-height:1.8;margin-top:5px}
.comparison-table-wrap td p{font-size:12px;line-height:1.9;margin:8px 0}.comparison-table-wrap td .cell-note{font-size:11px;color:#5f7486}.comparison-table-wrap .cell-source{font-size:10px;text-decoration:underline;text-underline-offset:3px;margin-right:10px}
.comparison-table-wrap tbody th small{font-size:10px;font-weight:500;color:#64849b}
.comparison-results>.meta{font-size:12px;line-height:1.9}.comparison-main>.reading-note p{font-size:12px;line-height:1.95;color:#526b80}
@media(max-width:1000px){.catalog-options{grid-template-columns:repeat(2,minmax(0,1fr))}.software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:minmax(0,1fr) minmax(320px,410px)}}
@media(max-width:730px){.home-hero{grid-template-columns:1fr}.comparison-header h1{font-size:29px}.comparison-controls{padding:22px}.comparison-controls .section-head,.comparison-results .section-head{flex-wrap:wrap;gap:9px}.comparison-controls h2,.comparison-results h2{font-size:20px}.comparison-filters{gap:13px}.comparison-filters input[type=search],.comparison-filters select{min-width:185px}.comparison-table-wrap th:first-child{width:115px;min-width:115px;padding:13px 10px}.comparison-table-wrap th,.comparison-table-wrap td{width:240px;min-width:240px;padding:14px}.comparison-main .reading-note{padding:18px}.spotlight-panel{min-height:251px}}
@media(max-width:480px){.software-grid,.catalog-options{grid-template-columns:1fr}.software-section h2{font-size:21px}.software-tile{padding:15px}.comparison-header h1{font-size:26px}.comparison-header{padding-top:25px}.comparison-filters>label:not(.difference-filter){width:100%}.comparison-filters input[type=search],.comparison-filters select{width:100%}.comparison-legend{font-size:10px}.comparison-controls{padding:19px}.platform-filter{align-items:flex-start;flex-direction:column;gap:6px}.platform-filter select{width:100%;max-width:none}}

/* Release spacing review: stable reading columns and balanced Japanese headings. */
.article h1{text-wrap:balance;line-height:1.6}
@media(min-width:901px){
  .article-layout{max-width:1060px;grid-template-columns:minmax(0,740px) minmax(190px,220px);gap:36px;justify-content:center;padding-left:30px;padding-right:30px}
  .article h1{font-size:32px}
}

/* Article navigation and table labels remain compact without splitting short words. */
.article-body table th:first-child{min-width:130px;padding-left:12px;padding-right:12px}
.article-mobile-toc{display:none}
@media(max-width:900px){
 .toc{display:none}
 .article-mobile-toc{display:block;margin:24px 0;border:1px solid var(--line);border-radius:10px;background:white;padding:14px 16px;font-size:13px}
 .article-mobile-toc summary{cursor:pointer;font-weight:700}
 .article-mobile-toc ol{padding-left:22px;margin:13px 0 0}
 .article-mobile-toc li{font-size:13px;margin:7px 0;line-height:1.7}
 .article-mobile-toc a{color:#355c77}
}

.feature-badge.unknown{color:#4c5d6b}
.article h1 .title-part{display:inline-block;max-width:100%;text-wrap:balance}
/* 2026-10-01: common roles, readable labels and visible category boundaries. */
body:not(.puzzle-site){--surface:#fff;--surface-alt:#eef2f7;--surface-hover:#f3f7fb;--tool-tint:#f1f6ff;--pc-tint:#f0f7f6;--compare-tint:#f2f3fa;--learn-tint:#f1f3f6;--tool-accent:#1559b5;--pc-accent:#17645b;--compare-accent:#49548e;--learn-accent:#485a70;--focus:#b45309;font-size:16px}
.category-software{--section-tint:var(--tool-tint);--section-accent:var(--tool-accent)}
.category-pc{--section-tint:var(--pc-tint);--section-accent:var(--pc-accent)}
.category-comparison{--section-tint:var(--compare-tint);--section-accent:var(--compare-accent)}
.category-learning{--section-tint:var(--learn-tint);--section-accent:var(--learn-accent)}
body:not(.puzzle-site) .site-header{border-top:3px solid #173b63}
body:not(.puzzle-site) .nav a{font-size:14px;padding:13px 0;min-height:44px;display:flex;align-items:center}
body:not(.puzzle-site) .nav a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}
body:not(.puzzle-site) .preview{font-size:12px;line-height:1.8;padding:7px 20px;background:var(--surface-alt);color:var(--muted)}
body:not(.puzzle-site) .brand small{font-size:11px;letter-spacing:.03em}
body:not(.puzzle-site) .breadcrumbs{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
body:not(.puzzle-site) :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
body:not(.puzzle-site) .section-label{display:flex;align-items:center;gap:10px;color:var(--section-accent,var(--blue));font-size:13px;font-weight:750;line-height:1.8;margin:0 0 12px;letter-spacing:.025em}
.section-index{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 5px;border:1px solid currentColor;border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums;flex:none;background:var(--surface)}
body:not(.puzzle-site) .card{background:var(--surface);border-radius:12px;min-width:0;box-shadow:none;transform:none}
body:not(.puzzle-site) .card .tag{align-self:flex-start;padding:3px 9px;border:1px solid var(--line);border-radius:4px;font-size:12px;letter-spacing:.02em;background:var(--tool-tint);color:var(--tool-accent)}
body:not(.puzzle-site) .card[data-category=pc] .tag{background:var(--pc-tint);color:var(--pc-accent)}
body:not(.puzzle-site) .card h3 a{display:inline;font:inherit;line-height:inherit;letter-spacing:inherit;color:var(--ink);padding:0;border:0}
body:not(.puzzle-site) .card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
body:not(.puzzle-site) .card p{font-size:14px;line-height:1.9}
body:not(.puzzle-site) .card>a:last-child{font-size:14px;line-height:1.8;color:var(--blue)}
.guides-page{max-width:1180px;padding-bottom:48px}
.guides-intro{padding:34px 0 32px;border-bottom:1px solid var(--line);margin-bottom:32px;max-width:840px}
.guides-intro h1{font-size:clamp(28px,3vw,36px);line-height:1.6;margin:0 0 18px;letter-spacing:-.02em;text-wrap:balance}
.guides-intro .lead{font-size:16px;line-height:1.95;color:var(--muted);max-width:42em}
.category-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}
.category-links a{padding:9px 15px;border:1px solid var(--line);border-radius:6px;font-size:14px;line-height:1.8;background:var(--surface);font-weight:650}
.category-links a:hover{border-color:var(--blue);background:var(--surface-hover)}
.guide-category{padding:28px;border:1px solid var(--line);border-top:4px solid var(--section-accent);border-radius:12px;background:var(--section-tint);margin:0 0 32px;scroll-margin-top:24px}
.guide-category .section-head{margin:0 0 24px}
.guide-category h2{font-size:25px;line-height:1.6}
.guide-category .section-description{font-size:15px;line-height:1.9;color:var(--muted);margin:10px 0 0}
.guide-category .cards{margin:0}
body:not(.puzzle-site) .article-header{padding-bottom:27px;border-bottom:1px solid var(--line);margin-bottom:28px}
body:not(.puzzle-site) .article-header .eyebrow{font-size:13px;letter-spacing:.03em}
body:not(.puzzle-site) .article .meta{font-size:12px;line-height:1.9}
body:not(.puzzle-site) .article-body section{padding-top:0;margin-bottom:38px}
body:not(.puzzle-site) .article-body section h2{border-top:2px solid var(--line);border-left:4px solid var(--blue);padding:17px 0 0 15px;margin-bottom:23px;font-size:24px;line-height:1.7}
body:not(.puzzle-site) .toc{border-top:3px solid var(--blue);background:var(--surface)}
body:not(.puzzle-site) .toc summary{font-size:14px}
body:not(.puzzle-site) .toc a{font-size:13px}
body:not(.puzzle-site) .article-mobile-toc{background:var(--surface)}
body:not(.puzzle-site) .article .reading-note p,body:not(.puzzle-site) .reading-note p{font-size:14px;line-height:1.95}
body:not(.puzzle-site) .reading-note strong{font-size:14px;line-height:1.8}
body:not(.puzzle-site) .article .sources h2{font-size:18px}
body:not(.puzzle-site) .article .sources li{font-size:13px}
body:not(.puzzle-site) .article-figure figcaption{font-size:13px}
.comparison-header{max-width:800px}
.comparison-header .eyebrow{font-size:13px;letter-spacing:.04em}
.comparison-header h1{font-size:clamp(29px,3.2vw,38px);line-height:1.55}
.comparison-header>p:not(.eyebrow){font-size:16px}
.comparison-header .comparison-disclosure{font-size:14px;line-height:1.95}
.comparison-controls{border-top:4px solid var(--tool-accent);background:var(--surface);box-shadow:none}
.comparison-results{border:1px solid var(--line);border-top:4px solid var(--compare-accent);border-radius:12px;padding:27px;background:var(--compare-tint)}
.comparison-results>.section-head{margin-top:0;padding-bottom:18px;border-bottom:1px solid var(--line)}
.comparison-controls h2,.comparison-results h2{font-size:24px;line-height:1.7}
.comparison-controls .section-head span,.comparison-results .section-head span{font-size:13px}
.comparison-filters label,.comparison-filters select,.catalog-picker>summary{font-size:14px}
.comparison-legend,.comparison-caption{font-size:13px;line-height:2}
.comparison-table-wrap th,.comparison-table-wrap td,.comparison-table-wrap td p{font-size:14px;line-height:1.9}
.comparison-table-wrap th:first-child{font-size:14px}
.comparison-table-wrap th strong{font-size:16px}
.comparison-table-wrap th small,.comparison-table-wrap td .cell-note,.comparison-table-wrap tbody th small{font-size:12px}
.comparison-table-wrap .cell-source{font-size:12px}
.comparison-table-wrap .feature-badge{font-size:12px}
.catalog-option strong{font-size:14px}
.catalog-option small{font-size:12px}
.tool-wrap{max-width:840px}
.tool-wrap>.tool-card{border-top:4px solid var(--tool-accent)}
body:not(.puzzle-site) .tool-wrap>h1{font-size:clamp(28px,3vw,36px);line-height:1.55}
body:not(.puzzle-site) .tool-wrap.article>h2{border-top:1px solid var(--line);padding-top:25px}
body:not(.puzzle-site) .footer{font-size:13px;line-height:1.9}
body:not(.puzzle-site) .publication-notices{font-size:12px;line-height:1.95}
@media(max-width:1000px){.comparison-results{padding:23px}.guide-category{padding:24px}}
@media(max-width:760px){.guides-intro{padding-top:26px}.guide-category{padding:22px}.guide-category .cards{grid-template-columns:1fr}.guide-category h2{font-size:23px}.comparison-results{padding:21px}.comparison-table-wrap th:first-child{width:126px;min-width:126px}.comparison-controls h2,.comparison-results h2{font-size:22px}.comparison-main .section-head{align-items:flex-start}.comparison-filters>label:not(.difference-filter){width:100%}.comparison-filters input[type=search],.comparison-filters select{width:100%;min-width:0}}
@media(max-width:650px){body:not(.puzzle-site) .header-inner{gap:16px}body:not(.puzzle-site) .nav a{font-size:13px;min-height:42px;padding:8px 0}body:not(.puzzle-site) .article-body section h2{font-size:22px;padding-left:12px}body:not(.puzzle-site) .article .meta{font-size:12px}}
@media(max-width:420px){.guide-category,.comparison-results{padding:18px}.guides-intro h1{font-size:28px}.category-links a{width:100%}.comparison-controls h2,.comparison-results h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body:not(.puzzle-site) .card h4{font-size:18px;line-height:1.75;font-weight:750;margin:3px 0 10px}
body:not(.puzzle-site) .card h4 a{display:inline;font:inherit;line-height:inherit;color:var(--ink);padding:0;border:0}
body:not(.puzzle-site) .card h4 a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){body:not(.puzzle-site) .card h4{font-size:20px}}
body:not(.puzzle-site) h1 .title-part{display:inline-block;max-width:100%;text-wrap:balance}
