*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f7fb;--text:#1d2433;--muted:#677084;--accent:#2f57d3;--accent-hover:#294abb;--accent-soft:#eef3ff;--border:#dce3ef;--card:#fff;--surface:#fbfcff;--success:#1f7a4d;--danger:#b42318;--shadow:0 18px 42px #1d243312;--shadow-soft:0 8px 28px #1d24330d}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #fff 0, var(--bg) 280px), var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7}header{z-index:10;color:var(--text);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;letter-spacing:0;background:#ffffffe6;padding:.9rem 1.5rem;font-size:.98rem;font-weight:700;position:sticky;top:0}.container{width:min(100%,920px);margin:0 auto;padding:52px 2rem 64px}.content-stack{box-shadow:var(--shadow-soft);background:#ffffff94;border:1px solid #dce3efb8;border-radius:8px;padding:1.35rem}button,input,textarea{font:inherit}button{transition:background .15s,border-color .15s,color .15s,opacity .15s}input,textarea{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);background:#fff;border-radius:6px;font-size:.9rem}input{padding:.68rem .78rem}textarea{resize:vertical;padding:.75rem;line-height:1.65}input:focus,textarea:focus{border-color:var(--accent);outline:3px solid #2f57d324}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}.tomita-gpt{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:1.35rem;padding:1.35rem}.tomita-gpt-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tomita-gpt-heading h1,.profile-admin-heading h1{color:var(--text);margin-top:-.35rem;font-size:1.5rem;font-weight:700;line-height:1.35}.ai-notice{color:var(--muted);margin-top:.35rem;font-size:.8rem;line-height:1.6}.status-badge{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;flex-shrink:0;padding:.28rem .72rem;font-size:.72rem;font-weight:600}.status-badge.unlocked{color:var(--success);background:#edf9f2;border-color:#b9e5cf}.chat-window,.admin-chat-log{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:1rem;overflow-y:auto}.chat-window{min-height:220px;max-height:420px}.admin-chat-log{min-height:260px;max-height:420px}.chat-empty{color:var(--muted);font-size:.86rem}.chat-message{flex-direction:column;gap:.22rem;margin-bottom:.85rem;display:flex}.chat-message:last-child{margin-bottom:0}.chat-message span{color:var(--muted);font-size:.72rem;font-weight:700}.chat-message p{border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:8px;width:fit-content;max-width:min(100%,680px);padding:.64rem .78rem;font-size:.88rem;line-height:1.65}.chat-message.user{align-items:flex-end}.chat-message.user p{border-color:var(--accent);background:var(--accent);color:#fff}.chat-form,.theme-form-row{gap:.6rem;display:grid}.chat-form{grid-template-columns:minmax(0,1fr) auto;margin-top:.85rem}.theme-form-row{grid-template-columns:minmax(0,1fr) auto auto}.password-field{min-width:0;position:relative}.password-field input{padding-right:3.8rem}.password-toggle{width:3rem;color:var(--accent);background:0 0;border:1px solid #0000;border-radius:5px;padding:.32rem 0;font-size:.76rem;line-height:1;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover:not(:disabled){background:var(--accent-soft)}.chat-form button,.theme-form button,.interview-panel button[type=submit],.draft-panel button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:.68rem 1.05rem;font-size:.88rem;font-weight:700}.chat-form button:hover:not(:disabled),.theme-form button:hover:not(:disabled),.interview-panel button[type=submit]:hover:not(:disabled),.draft-panel button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button,.theme-form .secondary-button{border:1px solid var(--border);color:var(--text);background:#fff}.secondary-button:hover:not(:disabled),.theme-form .secondary-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chat-error{color:var(--danger);margin-top:.6rem;font-size:.8rem}.section{margin-bottom:46px}.section:last-of-type{margin-bottom:0}.section-title{color:var(--accent);letter-spacing:0;align-items:center;gap:.55rem;margin-bottom:1rem;font-size:.92rem;font-weight:800;display:flex}.section-title:before{content:"";background:var(--accent);border-radius:999px;width:.55rem;height:.55rem;display:block}.career{flex-direction:column;gap:.85rem;display:flex}.career-item{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:170px minmax(0,1fr);gap:1.35rem;padding:1rem 1.1rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px #1d243305}.career-item:hover{box-shadow:var(--shadow-soft);border-color:#c9d4e6;transform:translateY(-1px)}.career-period{color:var(--muted);font-size:.75rem;font-weight:600}.career-body h3{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.5}.career-body p,.career-desc{color:var(--muted);font-size:.84rem}.career-desc{margin-top:.35rem}.skill-group{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#ffffff6b;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.skill-row{border-bottom:1px solid var(--border);grid-template-columns:145px minmax(0,1fr);align-items:start;gap:1rem;padding:.85rem 1rem;display:grid}.skill-row:last-child{border-bottom:0}.skill-label{color:var(--muted);font-size:.78rem;font-weight:700}.skills{flex-wrap:wrap;gap:.42rem;display:flex}.skill,.skill-etc{border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4}.skill{background:var(--accent-soft);color:var(--accent);padding:.26rem .76rem}.skill-etc{color:var(--muted);padding:.26rem 0}.presentation-list{flex-direction:column;gap:.65rem;list-style:none;display:flex}.presentation-list li{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--card);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem 1rem;font-size:.88rem;display:flex;box-shadow:0 1px #1d243305}.presentation-date{color:var(--muted);flex-shrink:0;font-size:.72rem}.link-btn{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:.42rem 1rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-block}.link-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.atcoder-graphs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.atcoder-graphs figure{min-width:0}.atcoder-graphs img{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;display:block;box-shadow:0 1px #1d243305}.atcoder-graphs figcaption{color:var(--muted);text-align:center;margin-top:.4rem;font-size:.75rem}footer{border-top:1px solid var(--border);color:var(--muted);margin-top:52px;padding-top:1.5rem;font-size:.75rem}.profile-admin{margin-bottom:64px}.profile-admin-heading{margin-bottom:1.35rem}.admin-login{max-width:560px}.theme-form{margin-bottom:1rem}.theme-form label,.interview-question span,.interview-panel label,.profile-preview-heading span{color:var(--muted);margin-bottom:.35rem;font-size:.74rem;font-weight:700;display:block}.profile-admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.interview-panel,.draft-panel,.profile-preview{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:1rem}.interview-question{margin-bottom:1rem}.interview-panel label+textarea{margin-bottom:.75rem}.interview-panel button[type=submit],.draft-panel button{width:100%;margin-top:.75rem}.save-status{color:var(--success);margin-top:.6rem;font-size:.8rem}.profile-preview{grid-column:1/-1;max-height:720px;overflow:hidden}.profile-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:650px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.6;overflow:auto}.chat-history-panel{border:1px solid var(--border);background:var(--card);border-radius:8px;margin-top:1rem;padding:1rem}.chat-history-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.chat-history-heading .secondary-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;padding:.42rem .9rem;font-size:.8rem;font-weight:700}.chat-history-list{flex-direction:column;gap:.8rem;max-height:720px;display:flex;overflow:auto}.chat-history-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.85rem}.chat-history-item time{color:var(--muted);margin-bottom:.55rem;font-size:.72rem;font-weight:700;display:block}.chat-history-item div+div{margin-top:.65rem}.chat-history-item span{color:var(--muted);margin-bottom:.2rem;font-size:.72rem;font-weight:700;display:block}.chat-history-item p{border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:8px;padding:.62rem .72rem;font-size:.84rem;line-height:1.6}@media (max-width:700px){header{padding:.75rem 1.25rem;font-size:.95rem}.container{padding:36px 1.15rem 44px}.content-stack{padding:1rem}.tomita-gpt{margin-bottom:1rem;padding:1rem}.tomita-gpt-heading{flex-direction:column;align-items:flex-start;gap:.8rem}.tomita-gpt-heading h1,.profile-admin-heading h1{font-size:1.24rem}.chat-form,.theme-form-row,.profile-admin-grid,.career-item,.skill-row,.atcoder-graphs{grid-template-columns:1fr}.chat-form button,.theme-form button{width:100%}.section{margin-bottom:42px}.career-item{gap:.35rem;padding:.95rem}.presentation-list li{flex-direction:column;align-items:flex-start;gap:.25rem}}
