:root{--bg: #f6f5f1;--surface: #ffffff;--text: #22252a;--muted: #6b6f76;--line: #e2e0da;--accent: #1f6f5c;--accent-soft: #e3f0ec;--said: #f1efe9;--actual: #fff4df;--actual-line: #e8a33a;--danger: #b3261e;--star: #e8a33a;--on-accent: #ffffff;--icon-1: #1f6f5c;--icon-2: #3b6fb6;--icon-3: #b5652b;--icon-4: #7a4fa3;--icon-5: #a03e5a;--icon-6: #4a7d2c;--radius: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17191c;--surface: #212428;--text: #e9e7e2;--muted: #9ea2a8;--line: #34383d;--accent: #5cc3a6;--accent-soft: #1d332d;--said: #2a2d31;--actual: #3a2f1c;--actual-line: #e8a33a;--danger: #f2837a;--on-accent: #10201b;color-scheme:dark}}:root[data-theme=dark]{--bg: #17191c;--surface: #212428;--text: #e9e7e2;--muted: #9ea2a8;--line: #34383d;--accent: #5cc3a6;--accent-soft: #1d332d;--said: #2a2d31;--actual: #3a2f1c;--actual-line: #e8a33a;--danger: #f2837a;--on-accent: #10201b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:16px;line-height:1.7}main{max-width:760px;margin:0 auto;padding:16px 16px 80px}h1{font-size:1.5rem;margin:8px 0 4px;line-height:1.4}h2{font-size:1.1rem;margin:28px 0 10px}.card>h2:first-child{margin-top:0}h4{font-size:.9rem;margin:16px 0 6px;color:var(--muted)}p{margin:6px 0}a{color:var(--accent)}code{background:var(--said);padding:1px 6px;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.meta{display:block;color:var(--muted);font-size:.85rem}.lead{font-size:1.05rem}.empty{color:var(--muted);padding:24px 0;text-align:center}.error{color:var(--danger)}.proto-banner{background:var(--accent-soft);color:var(--text);font-size:.8rem;padding:6px 16px;text-align:center}.proto-banner button{margin-left:8px}.theme-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex:none}.theme-switch button{margin:0;border:none;border-radius:0;padding:2px 10px;font-size:.78rem;background:var(--surface);color:var(--muted)}.theme-switch button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.login-bar{display:flex;justify-content:flex-end;padding:10px 16px 0}.site-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px 16px}.logo{font-weight:700;color:var(--text);text-decoration:none}.site-header nav{display:flex;gap:4px;flex-wrap:wrap}.site-header nav a{text-decoration:none;color:var(--muted);padding:4px 10px;border-radius:999px;font-size:.9rem}.site-header nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.user{margin-left:auto;display:flex;gap:8px;align-items:center;min-width:0}.user .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}@media(max-width:559px){.user .muted{display:none}.user{margin-left:0}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:12px 0}button,.button{font:inherit;font-size:.9rem;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-block}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.big{width:100%;padding:14px;font-size:1rem}button.danger{color:var(--danger);border-color:var(--danger)}button.link{border:none;background:none;color:var(--accent);padding:4px;text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}textarea{resize:vertical}.tag{font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--said);color:var(--muted);white-space:nowrap}.tag-dorm{background:var(--accent-soft);color:var(--accent)}.notice{background:var(--actual);border-left:3px solid var(--actual-line);padding:8px 12px;border-radius:6px;margin:8px 0}.notice ul{margin:4px 0;padding-left:1.2em}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.back{display:inline-block;margin-top:8px;font-size:.9rem}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 20px;border-radius:999px;font-size:.9rem;z-index:20}.stars{color:var(--star);white-space:nowrap}.stars-meter{position:relative;display:inline-block;line-height:1}.stars-off{color:var(--line)}.stars-on{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:var(--star)}.stars-num{color:var(--muted);font-size:.8rem;margin-left:4px;letter-spacing:0}.stars-input button{border:none;background:none;font-size:1.8rem;line-height:1;padding:2px 4px;color:var(--line)}.stars-input button.on{color:var(--star)}.login{max-width:460px;padding-top:40px}.login .primary{width:100%;margin-top:8px}.filters input[type=search]{margin-bottom:8px}.filter-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:640px){.filter-row{grid-template-columns:1.4fr repeat(4,1fr)}}main.wide{max-width:1180px}.company-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.company-grid>li{display:flex}.company-card{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s}.company-card:hover{border-color:var(--accent);box-shadow:0 4px 14px #0000000f}.company-head{display:flex;gap:12px;align-items:center}.company-icon{flex:none;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.1rem}.company-name{display:flex;flex-direction:column;min-width:0;line-height:1.4}.company-name strong{font-size:1.05rem}.company-rating{font-size:.85rem;color:var(--muted)}.company-industry{font-size:.9rem;color:var(--muted)}.company-grid .chips{margin:0}.chips li.chip-dorm{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chips li.chip-plain{background:var(--said);color:var(--muted)}.company-snippet{margin:0;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.snippet-label{display:block;font-size:.75rem;font-weight:700;color:var(--muted)}.company-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.82rem;color:var(--muted)}.company-foot span{display:inline-flex;align-items:center;gap:4px}.icon{width:14px;height:14px;flex:none}.matched{color:var(--accent);font-weight:600}.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:20px;border-bottom:1px solid var(--line)}.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:none;padding:8px 14px;color:var(--muted);white-space:nowrap}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.tabs-sub{margin-top:4px;border-bottom:none}.tabs-sub button{border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:.85rem}.tabs-sub button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent)}.total{display:flex;flex-wrap:wrap;gap:4px 16px;font-weight:600;margin:10px 0 0}.summary{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.9rem;align-items:center}.review-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.ratings{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.85rem;margin-top:6px}.diff{display:grid;gap:6px}@media(min-width:640px){.diff{grid-template-columns:1fr auto 1fr;align-items:stretch}}.diff-said,.diff-actual{border-radius:8px;padding:8px 12px}.diff-said{background:var(--said)}.diff-actual{background:var(--actual);border-left:3px solid var(--actual-line)}.diff-label{font-size:.75rem;font-weight:700;color:var(--muted)}.diff-arrow{align-self:center;justify-self:center;color:var(--muted)}@media(max-width:639px){.diff-arrow{transform:rotate(90deg)}}.same-doc{color:var(--accent);font-weight:600}.schedule{border-collapse:collapse;font-size:.9rem;margin:8px 0}.schedule th{text-align:left;padding:2px 12px 2px 0;color:var(--muted);font-weight:500;white-space:nowrap}.facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;font-size:.9rem;margin:8px 0}.facts dt{color:var(--muted)}.facts dd{margin:0}.chips{list-style:none;padding:0;margin:6px 0;display:flex;flex-wrap:wrap;gap:6px}.chips li{font-size:.8rem;background:var(--accent-soft);color:var(--accent);padding:2px 10px;border-radius:999px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:8px 0}.photos img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;display:block}.photo-thumb{padding:0;border:none;background:none;border-radius:8px;overflow:hidden}.lightbox{position:fixed;inset:0;z-index:30;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}.lightbox img{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;border-radius:6px}.lightbox-bar{display:flex;align-items:center;gap:10px;color:#fff}.lightbox-bar button{background:#ffffff26;color:#fff;border-color:#ffffff4d}.photo-item{position:relative}.photo-item button{position:absolute;top:4px;right:4px;padding:2px 8px}.message{background:var(--accent-soft);padding:8px 12px;border-radius:8px}.review-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.contact{font-size:.85rem;overflow-wrap:anywhere}.compare-pick{display:flex;align-items:center;gap:8px;margin:12px 0}.compare-pick select{width:auto}.compare{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;font-size:.9rem;table-layout:fixed}.compare th,.compare td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.compare thead th{background:var(--said)}.compare tbody th{width:28%;color:var(--muted);font-weight:500}.compare tr.changed td{background:var(--actual)}.changed-badge{display:block;font-size:.7rem;color:var(--actual-line);font-weight:700}.plain{margin:0;padding-left:1.1em}.post-form fieldset{border:1px solid var(--line)}.post-form legend{font-weight:700;padding:0 6px}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0}.field>span{font-size:.9rem;font-weight:600}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0 12px}.qr{display:block;width:200px;height:200px;margin:12px auto;background:#fff;padding:8px;border-radius:8px}.steps{padding-left:1.3em;margin:0 0 8px}.secret{display:inline-block;margin-top:4px;word-break:break-all}.fixed-value{margin:0;padding:8px 10px;background:var(--said);border-radius:8px}.check{display:flex;align-items:center;gap:6px;font-size:.9rem}.check input{width:auto}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px}.highlight{background:var(--actual);border-radius:8px;padding:12px;margin-bottom:8px}.schedule-row{display:grid;grid-template-columns:80px 1fr auto;gap:6px;margin-bottom:6px}.radio-cards{display:grid;gap:8px}@media(min-width:640px){.radio-cards{grid-template-columns:1fr 1fr}}.radio-cards label{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;cursor:pointer}.radio-cards label.selected{border-color:var(--accent);background:var(--accent-soft)}.radio-cards input{width:auto;align-self:flex-start}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{border:none;border-radius:0}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.rating-field{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;margin:8px 0;font-weight:600;font-size:.9rem}.rules ul{padding-left:1.2em;font-size:.9rem}.error-box{background:var(--surface);border:2px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:8px 16px}.mine-list{list-style:none;padding:0}.mine-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.tag-pending{background:var(--actual);color:var(--text);border:1px solid var(--actual-line)}.admin-item{border-top:1px dashed var(--line);padding-top:8px}
