:root{color-scheme:dark;--bg:#07080d;--surface:#ffffff0b;--surface-2:#ffffff14;--text:#f3f4f8;--muted:#a3a9b8;--border:#ffffff1c;--link:#8ec5ff;--link-visited:#c4b5fd;--focus:#8ec5ff;--accent:linear-gradient(100deg, #8b5cf6 0%, #3b82f6 55%, #22d3ee 100%);--accent-text:linear-gradient(100deg, #c4b5fd 0%, #8ec5ff 55%, #67e8f9 100%);--gold-text:#f4cf6b;--gold-star:#22d3ee;--gold-bg:#322a12;--gold-border:#5e4c1c;--blue-text:#a9c6ff;--blue-star:#7aa7ff;--blue-bg:#17243d;--blue-border:#2e4774;--notice-bg:#33280f;--notice-border:#6b5520;--ok-bg:#18291d;--radius:18px;--shadow:none;--measure:760px;--wide:1040px;--header-h:56px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--text);font-family:var(--font);letter-spacing:.02em;overflow-wrap:anywhere;font-feature-settings:"palt" 0;margin:0;font-size:1.0625rem;line-height:1.8}img,svg{max-width:100%}a{color:var(--link);text-underline-offset:.2em}a:visited{color:var(--link-visited)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{letter-spacing:.01em;margin:0;line-height:1.45}h1{font-size:clamp(1.5rem,1.2rem + 1.5vw,2rem)}h1,h2,h3,h4,.lead,.btn,.task-grid a,.entrance__title,.entrance__meta,.meta-line li,.picks__name,.card__title{word-break:auto-phrase}h1,h2,h3,.group__head{text-wrap:balance}.lead,.note,.card__summary,.picks__why,.legend dd{text-wrap:pretty}h2{font-size:1.375rem}h3{font-size:1.15rem}p{margin:0 0 1em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface);border:2px solid var(--focus);border-radius:8px;padding:10px 16px;position:absolute;top:-100px;left:8px}.skip-link:focus{top:8px}.container{width:100%;max-width:var(--measure);margin:0 auto;padding:0 16px}.container--wide{max-width:var(--wide)}main{padding:20px 0 56px;display:block}.stack>*+*{margin-top:2.25rem}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header__inner{min-height:var(--header-h);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.site-name{min-height:44px;color:var(--text);letter-spacing:.03em;align-items:center;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.site-name:visited{color:var(--text)}.site-name__accent{color:var(--gold-text)}.site-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--surface-2)}.site-nav a[aria-current=page]{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}@media (width<=560px){:root{--header-h:96px}.site-header{position:static}html{scroll-padding-top:16px}.site-header__inner{gap:0;padding-top:2px;padding-bottom:2px}.site-name{min-height:40px;font-size:1rem}.site-nav{width:100%;margin:0 -8px}.site-nav ul{justify-content:flex-start}.site-nav a{padding:0 10px;font-size:.9rem}}.breadcrumb ol{color:var(--muted);flex-wrap:wrap;gap:2px 0;margin:0 0 14px;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--muted);padding:0 8px}.breadcrumb a{color:var(--muted)}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.95rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.btn:visited{color:var(--text)}.btn:hover{background:var(--surface-2)}.btn--primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn--primary:visited{color:var(--bg)}.btn--primary:hover{background:color-mix(in srgb, var(--text) 85%, var(--bg))}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.ext-icon{flex:none;width:.9em;height:.9em}.rating{border:1px solid;border-radius:999px;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:3px 10px;font-size:.85rem;font-weight:700;line-height:1.5;display:inline-flex}.rating__label{align-items:center;gap:4px;display:inline-flex}.rating__icon{width:1em;height:1em}.rating__stars{letter-spacing:.08em;font-size:.95rem}.rating__num{font-variant-numeric:tabular-nums}.rating--main{color:var(--gold-text);background:var(--gold-bg);border-color:var(--gold-border)}.rating--main .rating__stars{color:var(--gold-star)}.rating--appdev{color:var(--blue-text);background:var(--blue-bg);border-color:var(--blue-border)}.rating--appdev .rating__stars{color:var(--blue-star)}.rating--none{color:var(--muted);background:var(--surface-2);border-color:var(--border);font-weight:600}.tag{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;padding:1px 8px;font-size:.78rem;font-weight:700;line-height:1.6;display:inline-flex}.tag--feature{color:var(--text)}.tag--new{background:var(--ok-bg)}.tag--warn{background:var(--notice-bg);border-color:var(--notice-border);color:var(--text)}.book-chip{white-space:nowrap;border:1px solid;border-radius:6px;align-items:center;padding:1px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.book-chip--main{color:var(--gold-text);background:var(--gold-bg);border-color:var(--gold-border)}.book-chip--appdev{color:var(--blue-text);background:var(--blue-bg);border-color:var(--blue-border)}.page-head h1{margin-bottom:6px}.page-head .lead{color:var(--muted);margin:.25rem 0 0}.h1-sub{color:var(--muted);margin-top:4px;font-size:.95rem;font-weight:600;display:block}.reading{color:var(--muted);font-size:.75em;font-weight:600;display:inline-block}.meta-line{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 6px}.panel>h2,.panel>h3{margin-bottom:10px}.panel--picks{border-width:2px}.panel--picks.is-main{border-color:var(--gold-border)}.panel--picks.is-appdev{border-color:var(--blue-border)}.notice{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:10px;margin:0 0 1em;padding:10px 14px;font-size:.95rem}.notice--small{margin:0 0 12px;padding:6px 10px;font-size:.85rem}.card__names,.listing__names{flex-wrap:wrap;gap:2px 14px;margin:0 0 6px;display:flex}.note{color:var(--muted);font-size:.88rem}details{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:0 0 1em}details>summary{cursor:pointer;align-items:center;min-height:44px;padding:8px 14px;font-weight:700;list-style-position:inside;display:flex}details>summary::-webkit-details-marker{margin-right:6px}details>.details-body{border-top:1px solid var(--border);padding:4px 16px 6px}.prose{font-size:1.0625rem}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4,.prose h5{margin:1.8em 0 .6em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em}.prose li+li{margin-top:.25em}.prose li>ul,.prose li>ol{margin:.25em 0 0}.prose strong{font-weight:800}.prose blockquote{border-left:4px solid var(--border);color:var(--muted);margin:0 0 1em;padding:2px 16px}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:0 0 1.2em;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:.92rem;line-height:1.6}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--border);vertical-align:top;text-align:left;padding:8px 12px}.table-wrap th{background:var(--surface-2);word-break:auto-phrase}.table-wrap--wide th{white-space:nowrap}.table-wrap tr:last-child td{border-bottom:0}.table-wrap td{min-width:4.5em}.table-wrap--wide table{width:max-content;min-width:100%}.table-wrap--wide th,.table-wrap--wide td{overflow-wrap:normal;max-width:13em}.table-wrap--wide td:last-child{min-width:16em;max-width:22em}.table-wrap--wide th:first-child,.table-wrap--wide td:first-child{z-index:1;background:var(--surface);box-shadow:inset -1px 0 0 var(--border);position:sticky;left:0}.table-wrap--wide th:first-child{background:var(--surface-2)}.table-hint{color:var(--muted);text-align:right;margin:0 0 4px;font-size:.85rem;display:none}@media (width<=760px){.table-hint{display:block}}.md-stars{color:var(--gold-star);letter-spacing:.06em}.is-appdev .md-stars,#rating-appdev .md-stars{color:var(--blue-star)}.prose code{background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;padding:.05em .35em;font-size:.9em}.hero h1{font-size:clamp(1.7rem,1.3rem + 2vw,2.4rem)}.hero .lead{color:var(--text);margin-top:8px;font-size:1.05rem}.entrances{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.entrances{grid-template-columns:1fr 1fr}}.entrance{border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);border:2px solid;padding:18px 18px 16px;text-decoration:none;display:block}.entrance:visited{color:var(--text)}.entrance--main{background:var(--gold-bg);border-color:var(--gold-border)}.entrance--appdev{background:var(--blue-bg);border-color:var(--blue-border)}.entrance__title{font-size:1.3rem;font-weight:800;line-height:1.4;display:block}.entrance__book{margin-top:4px;font-size:.9rem;font-weight:600;display:block}.entrance__meta{color:var(--muted);margin-top:6px;font-size:.85rem;display:block}.entrance__go{text-underline-offset:.2em;margin-top:10px;font-weight:700;text-decoration:underline;display:inline-block}.search-form{gap:8px;display:flex}.search-form input[type=search]{min-width:0;min-height:48px;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:10px;flex:1;padding:8px 14px;font-size:1rem}.search-form input[type=search]:focus{border-color:var(--focus);outline:none}.task-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.task-grid a{border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--text);border-radius:10px;align-items:center;padding:8px 14px;font-size:.95rem;font-weight:700;line-height:1.4;text-decoration:none;display:flex}.task-grid a:hover{background:var(--surface-2)}.update-list{margin:0;padding:0;list-style:none}.update-list li{border-bottom:1px solid var(--border);padding:10px 0}.update-list li:last-child{border-bottom:0}.update-list .u-head{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;display:flex}.update-list .u-head a{align-items:center;min-height:44px;display:inline-flex}.toc-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.toc-list a{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;display:inline-flex}.update-list .u-text{font-size:.95rem;display:block}.link-list{margin:0;padding:0;list-style:none}.link-list li+li{margin-top:4px}.link-list a{align-items:center;gap:6px;min-height:44px;display:inline-flex}.book-links{gap:12px;display:grid}@media (width>=640px){.book-links{grid-template-columns:1fr 1fr}}.author-box{align-items:flex-start;gap:14px;display:flex}.author-box__mark{background:var(--surface-2);border:1px solid var(--border);width:52px;height:52px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.cat-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cat-list a.cat-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);padding:14px 16px;text-decoration:none;display:block}.cat-list a.cat-item:hover{border-color:var(--muted)}.cat-item__name{font-size:1.1rem;font-weight:800}.cat-item__count{color:var(--muted);margin-left:6px;font-size:.85rem;font-weight:600}.cat-item__top{color:var(--muted);margin-top:4px;font-size:.9rem;display:block}.legend dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 10px;display:grid}.legend dt{white-space:nowrap;letter-spacing:.06em;font-weight:700}.legend--main dt{color:var(--gold-star)}.legend--appdev dt{color:var(--blue-star)}.legend dd{margin:0}.picks{margin:0 0 12px;padding:0;list-style:none}.picks li{border-top:1px solid var(--border);padding:10px 0}.picks li:first-child{border-top:0;padding-top:0}.picks__name{font-size:1.05rem;font-weight:800}.picks__why{color:var(--muted);margin-top:2px;font-size:.93rem;display:block}.filters{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.filters[hidden]{display:none}.filters label{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:.92rem;font-weight:600;display:inline-flex}.filters input{width:20px;height:20px;accent-color:var(--text);margin:0}.filters__count{color:var(--muted);margin:0 0 0 auto;font-size:.88rem}.group+.group{margin-top:28px}.group__head{border-bottom:2px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:10px;padding-bottom:6px;display:flex}.group__stars{letter-spacing:.06em}.group--main .group__stars{color:var(--gold-star)}.group--appdev .group__stars{color:var(--blue-star)}.group__count{color:var(--muted);font-size:.9rem;font-weight:600}.group__note{color:var(--muted);margin:-4px 0 10px;font-size:.85rem}@media (width<=560px){.group__head{font-size:1.05rem}}.cards{gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px 16px}.card[hidden]{display:none}.card__title{margin:0;font-size:1.15rem}.card__title a{color:var(--text);text-decoration:none}.card__title a:hover{text-decoration:underline}.card__badges{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.card__summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.97rem;display:-webkit-box;overflow:hidden}.card__price{color:var(--muted);margin:0 0 12px;font-size:.9rem}.card__price b{color:var(--text)}.card__reason{margin:0 0 8px;font-size:.9rem}.rating-table{border-collapse:collapse;width:100%;font-size:.95rem}.rating-table th,.rating-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 8px}.rating-table tr:last-child th,.rating-table tr:last-child td{border-bottom:0}.rating-table th{font-weight:600}.rating-table .rt-book{margin-bottom:2px;display:block}@media (width<=560px){.rating-table,.rating-table tbody,.rating-table tr,.rating-table th,.rating-table td{width:100%;display:block}.rating-table tr{border-bottom:1px solid var(--border);padding:10px 0}.rating-table tr:last-child{border-bottom:0}.rating-table th,.rating-table td{border:0;padding:2px 0}.rating-table thead{display:none}}.listing{border-top:3px solid var(--border);padding-top:20px}.listing.is-main{border-top-color:var(--gold-border)}.listing.is-appdev{border-top-color:var(--blue-border)}.listing__kicker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;font-size:.85rem;display:flex}.listing h2{margin-bottom:8px}.h2-sub{color:var(--muted);font-size:.8em;font-weight:600}.listing h3{border-left:4px solid var(--border);margin:1.6em 0 .6em;padding-left:10px}.listing.is-main h3{border-left-color:var(--gold-star)}.listing.is-appdev h3{border-left-color:var(--blue-star)}.mini-list{margin:0;padding:0;list-style:none}.mini-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 0;display:flex}.mini-list li:last-child{border-bottom:0}.mini-list a{font-weight:700}.mini-list .note{flex-basis:100%}.columns-list{margin:0;padding:0;list-style:none}.columns-list li{border-bottom:1px solid var(--border);padding:8px 0}.columns-list li:last-child{border-bottom:0}.columns-list a{font-weight:700}.pager{gap:8px;display:grid}@media (width>=640px){.pager{grid-template-columns:1fr 1fr}}.pager a{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:44px;padding:12px 14px;text-decoration:none;display:block}.pager small{color:var(--muted);display:block}.edition+.edition{margin-top:36px}.edition h2{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;display:flex}#search{--pagefind-ui-scale:.95;--pagefind-ui-primary:var(--link);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--border);--pagefind-ui-tag:var(--surface-2);--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--font);min-height:300px}@media (width<=640px){#search .pagefind-ui__drawer{flex-direction:column}#search .pagefind-ui__filter-panel{order:2}}.site-footer{border-top:1px solid var(--border);background:var(--surface-2);padding:28px 0 36px;font-size:.9rem}.site-footer h2{margin-bottom:4px;font-size:.95rem}.footer-grid{gap:20px;display:grid}@media (width>=640px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li a{align-items:center;min-height:44px;display:inline-flex}.footer-legal{color:var(--muted);margin-top:24px;font-size:.85rem}.footer-legal p{margin:0 0 6px}@media print{.site-header,.site-footer,.filters,.skip-link{display:none!important}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.container--wide .prose>p,.container--wide .prose>ul,.container--wide .prose>ol,.container--wide .page-head .lead{max-width:var(--measure)}.player{margin-bottom:12px}.player__main{align-items:center;gap:12px;display:flex}.player__play{background:var(--text);width:52px;height:52px;color:var(--bg);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.player__play svg[hidden]{display:none}.player__track{flex:1;min-width:0}.player__track input{width:100%;accent-color:var(--gold-star)}.player__time{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.85rem;display:flex}.player__sub{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.news-latest h2{margin-top:0}.news-list{margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 0;display:flex}.news-transcript summary{cursor:pointer;font-weight:700}.signup__label{margin-bottom:4px;font-weight:700;display:block}.signup__row{flex-wrap:wrap;gap:8px;display:flex}.signup__row input{border:1px solid var(--border);background:var(--bg);min-width:0;min-height:44px;color:var(--text);border-radius:10px;flex:220px;padding:8px 12px;font-size:1rem}.signup__trap{position:absolute;left:-9999px}.signup__msg{min-height:1.5em;margin:8px 0 0;font-size:.9rem}body{background:radial-gradient(900px 480px at 12% -8%, #8b5cf63d, transparent 70%), radial-gradient(800px 460px at 92% -4%, #22d3ee24, transparent 70%), var(--bg);background-repeat:no-repeat}.site-header{backdrop-filter:blur(14px);background:#07080db8}.site-name__accent{background:var(--accent-text);color:#0000;-webkit-background-clip:text;background-clip:text;margin-left:.4em}.hero{padding-top:clamp(16px,5vw,44px)}.hero h1{letter-spacing:.01em;background:linear-gradient(100deg,#fff 30%,#c4b5fd 70%,#67e8f9 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,1.3rem + 3.6vw,3.2rem);line-height:1.25}.hero .lead{color:var(--muted)}.btn{border-radius:999px}.btn--primary,.btn--primary:visited{background:var(--accent);color:#fff;border:0;box-shadow:0 8px 28px #3b82f659}.btn--primary:hover{background:var(--accent);filter:brightness(1.12)}.player__play{background:var(--accent);color:#fff;box-shadow:0 8px 28px #8b5cf673}.news-latest__head h2{margin:0 0 8px;font-size:clamp(1.35rem,1.1rem + 1.2vw,1.8rem);line-height:1.4}.news-latest__head h2 a,.news-latest__head h2 a:visited{color:var(--text);text-decoration:none}.news-latest__head h2 a:hover{text-decoration:underline}.news-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px 6px}.news-item+.news-item{margin-top:12px}.news-item h3{margin-top:0}.site-footer{background:0 0}.signup__body{grid-template-columns:minmax(110px,150px) 1fr;align-items:center;gap:8px 24px;display:grid}.signup__cover{width:100%;height:auto;display:block}.signup__coverwrap{background:radial-gradient(closest-side,#8b5cf66b,#0000)}.signup h2{margin-top:0}@media (width<=560px){.signup__body{text-align:center;grid-template-columns:1fr;justify-items:center}.signup__coverwrap{width:46%}}
